-
Notifications
You must be signed in to change notification settings - Fork 15
feat: add tech-writer workflow for documentation generation #266
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
@ereslibre I asked Rover to write the documentation for the MCP server configuration in In the future, we might want to improve it by referencing existing files to mimic the existing styling. Wdyt? Configuring MCP Servers in rover.jsonThis guide explains how to configure MCP (Model Context Protocol) servers in What you'll learn: How to add, configure, and troubleshoot MCP servers for AI agents PrerequisitesBefore configuring MCP servers, ensure you have:
What are MCP Servers?MCP (Model Context Protocol) allows AI agents to connect to external tools and services, extending capabilities beyond built-in features. By configuring MCP servers in
When to use MCP servers:
Quick StartThe Add your first MCP server: {
"version": "1.2",
"languages": ["typescript"],
"packageManagers": ["npm"],
"taskManagers": [],
"attribution": true,
"mcps": [
{
"name": "filesystem",
"commandOrUrl": "npx -y @modelcontextprotocol/server-filesystem /path/to/directory",
"transport": "stdio"
}
]
}Test your configuration: rover task "List files using the filesystem MCP"The agent automatically receives MCP tools during task execution. Configuration StructureThe {
"version": "1.2",
"mcps": [
{
"name": "string", // Required: unique identifier
"commandOrUrl": "string", // Required: command or URL
"transport": "stdio|http|sse", // Required: communication method
"envs": ["KEY=VALUE"], // Optional: environment variables
"headers": ["KEY: VALUE"] // Optional: HTTP headers
}
]
}Required Fields
Optional Fields
Environment Variables Example: "envs": [
"API_KEY=sk_123456",
"DEBUG=true",
"MAX_RETRIES=3"
]Headers Example: "headers": [
"Authorization: Bearer token123",
"X-API-Version: 2.0",
"Accept: application/json"
]Transport Types
Choosing a transport:
Configuration ExamplesLocal MCP with Environment Variables{
"version": "1.2",
"mcps": [
{
"name": "github",
"commandOrUrl": "npx -y @modelcontextprotocol/server-github",
"transport": "stdio",
"envs": ["GITHUB_PERSONAL_ACCESS_TOKEN=ghp_your_token"]
}
]
}Remote API with Authentication{
"version": "1.2",
"mcps": [
{
"name": "custom-api",
"commandOrUrl": "https://api.example.com/mcp/v1",
"transport": "http",
"headers": [
"Authorization: Bearer sk_prod_abc123",
"X-API-Version: 2.0"
]
}
]
}Multiple MCP Servers{
"version": "1.2",
"mcps": [
{
"name": "filesystem",
"commandOrUrl": "npx -y @modelcontextprotocol/server-filesystem /workspace",
"transport": "stdio"
},
{
"name": "database",
"commandOrUrl": "python -m database_mcp",
"transport": "stdio",
"envs": ["DB_HOST=localhost", "DB_PORT=5432"]
},
{
"name": "external-api",
"commandOrUrl": "https://tools.example.com/mcp",
"transport": "http",
"headers": ["Authorization: Bearer token_xyz"]
}
]
}Agent-Specific SupportDifferent AI agents have varying MCP support levels:
Key limitations:
Recommendation: Test MCPs with your specific agent. Use Claude for complex MCP configurations. How MCPs are AppliedMCPs are automatically configured during task execution:
Key points:
TroubleshootingInvalid Format ErrorsEnvironment variables must use // ✅ Correct
"envs": ["API_KEY=value123"]
// ❌ Wrong
"envs": ["API_KEY: value123"] // Colon instead of equals
"envs": ["API_KEY = value"] // Spaces around equalsHeaders must use // ✅ Correct
"headers": ["Authorization: Bearer token"]
// ❌ Wrong
"headers": ["Authorization=Bearer token"] // Equals instead of colon
"headers": ["Authorization:Bearer token"] // Missing spaceJSON syntax issues:
Transport MismatchURLs require // ❌ Wrong
{"commandOrUrl": "https://api.example.com", "transport": "stdio"}
// ✅ Correct
{"commandOrUrl": "https://api.example.com", "transport": "http"}Local commands require // ❌ Wrong
{"commandOrUrl": "npx @package/mcp", "transport": "http"}
// ✅ Correct
{"commandOrUrl": "npx @package/mcp", "transport": "stdio"}MCP Server Not WorkingDiagnostic steps:
Common issues:
Related Documentation
Next Steps
|
I like the wording and the technical details are correct. 👍 |
ereslibre
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is amazing 🤟
Co-authored-by: Rafael Fernández López <ereslibre@curried.software>
Adds a new workflow specifically designed for generating technical documentation using AI agents. This workflow adapts to different target audiences and follows documentation best practices.
Changes
tech-writer.ymlworkflow with 4 specialized steps (context, outline, draft, review)--workflowoption to the task command to select betweensweandtech-writerworkflowsNotes
The tech-writer workflow adapts its approach based on the target audience:
Closes #251