agile-team-mcp-server
Agile Team MCP Server is an advanced tool that integrates multiple language learning models to function as a virtual Agile team. It supports file-based processing, model discovery, and provides specialized personas like Business Analyst and Product Manager for detailed analysis and strategy development.
Agile Team MCP Server
A team of Agent Personas wrapped in an MCP server that has the ability to leverage at scale massive compute by wrapping various LLM providers to perform activities as an Agile Team Persona.
Features
- Model Wrapping: Send prompts to multiple LLM models with a unified interface
- Provider/Model Correction: Automatically correct and validate provider and model names
- File Support: Send prompts from files and save responses to files
- Provider/Model Discovery: List available providers and models
- Persona Tools: Specialized personas like Business Analyst, Product Manager, Spec Writer, and Team Decision Maker
Setup
Installation
# Clone and install
git clone https://github.com/danielscholl/agile-team-mcp-server.git
cd agile-team-mcp-server
uv sync
# Install
uv pip install -e .
# Run tests to verify installation
uv run pytest
Environment Configuration
Create and edit your .env
file with your API keys:
# Create environment file from template
cp .env.sample .env
Required API keys in your .env
file:
# Required API keys
OPENAI_API_KEY=your_openai_api_key_here
ANTHROPIC_API_KEY=your_anthropic_api_key_here
GEMINI_API_KEY=your_gemini_api_key_here # For Google Gemini models
GROQ_API_KEY=your_groq_api_key_here
DEEPSEEK_API_KEY=your_deepseek_api_key_here
OLLAMA_HOST=http://localhost:11434
# Optional model configuration
DEFAULT_MODEL=openai:gpt-4o-mini
DEFAULT_TEAM_MODELS=["openai:gpt-4.1","anthropic:claude-3-7-sonnet","gemini:gemini-2.5-pro"]
DEFAULT_DECISION_MAKER_MODEL=openai:gpt-4o-mini
MCP Server Configuration
To utilize this MCP server directly in other projects either use the buttons to install in VSCode, edit the .mcp.json
file directory.
Clients tend to have slighty different configurations
Configure for Claude.app
{
"mcpServers": {
"agile-team": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/danielscholl/agile-team-mcp-server@main",
"agile-team"
],
"env": {
"OPENAI_API_KEY": "<YOUR_OPENAI_KEY>",
"ANTHROPIC_API_KEY": "<YOUR_ANTHROPIC_KEY>",
"GEMINI_API_KEY": "<YOUR_GEMINI_KEY>",
"GROQ_API_KEY": "<YOUR_GROQ_KEY>",
"DEEPSEEK_API_KEY": "<YOUR_DEEPSEEK_KEY>",
"OLLAMA_HOST": "http://localhost:11434",
"DEFAULT_MODEL": "openai:gpt-4o-mini",
"DEFAULT_TEAM_MODELS": "[\"openai:gpt-4.1\",\"anthropic:claude-3-7-sonnet\",\"gemini:gemini-2.5-pro\"]",
"DEFAULT_DECISION_MAKER_MODEL": "openai:gpt-4o-mini"
}
}
}
}
Configure for Claude.code
Setting up Agile Team with Claude Code easily by importing it.
claude mcp add-from-claude-desktop
Note: "--directory" would be the path to the source code if not in the same directory.
# Copy this JSON configuration
{
"command": "uvx",
"args": ["--from", "git+https://github.com/danielscholl/agile-team-mcp-server@main", "agile-team"],
"env": {
"DEFAULT_MODEL": "openai:gpt-4o-mini",
"DEFAULT_TEAM_MODELS": "[\"openai:gpt-4.1\",\"anthropic:claude-3-7-sonnet\",\"gemini:gemini-2.5-pro\"]",
"DEFAULT_DECISION_MAKER_MODEL": "openai:gpt-4o-mini"
}
}
# Then run this command in Claude Code
claude mcp add agile-team "$(pbpaste)"
To remove the configuration later:
claude mcp remove agile-team
Available LLM Providers
Provider | Short Prefix | Full Prefix | Example Usage |
---|---|---|---|
OpenAI | o | openai | o:gpt-4o-mini |
Anthropic | a | anthropic | a:claude-3-5-haiku |
Google Gemini | g | gemini | g:gemini-2.5-pro-exp-03-25 |
Groq | q | groq | q:llama-3.1-70b-versatile |
DeepSeek | d | deepseek | d:deepseek-coder |
Ollama | l | ollama | l:llama3.1 |
Usage
Command Line
Run the server directly:
uv run agile-team
With MCP Client
With a compatible MCP client, you can connect to the server:
mcp use agile-team
Available Tools
List Available Options
Tools to discover available LLM providers and their supported models.
List Providers Tool
Lists all supported LLM providers and their shortcut prefixes.
Parameters: None required
Examples:
# Simple example
list_providers_tool
List Models Tool
Lists all available models for a specific provider.
Parameters:
Parameter | Description | Default Value |
---|---|---|
provider | The provider to list models for (e.g., "openai", "anthropic") | required |
Examples:
# Simple example with full provider name
list_models_tool: "openai"
# Using provider shortcode
list_models_tool: "a" # Lists Anthropic models
Send Prompts to Models
Send text prompts directly to LLM models and get their responses.
Parameters:
Parameter | Description | Default Value |
---|---|---|
text | The prompt text to send to the models | required |
models_prefixed_by_provider | List of models in format "provider:model" | openai:gpt-4o-mini |
Features:
- Send prompts to one or multiple models simultaneously
- Use model suffixes for special behaviors:
:4k
or other numbers for thinking token budgets:high
for increased reasoning effort (OpenAI only)
Examples:
# Simple example
prompt_tool: "Create a plan for implementing user authentication"
# Complex example with multiple models and options
prompt_tool: "Analyze the trade-offs between microservices and monoliths" ["openai:gpt-4.1:high", "anthropic:claude-3-7-sonnet:4k"]
Work with Files
Process prompts from files and save responses to files for batch processing.
From File Tool
Parameters:
Parameter | Description | Default Value |
---|---|---|
file_path | Path to the file containing the prompt | required |
models_prefixed_by_provider | List of models in format "provider:model" | openai:gpt-4o-mini |
Examples:
# Simple example
prompt_from_file_tool: "prompts/function.md"
# Complex example with specific model
prompt_from_file_tool: "prompts/function.md" ["anthropic:claude-3-7-sonnet-20250219"]
From File to File Tool
Parameters:
Parameter | Description | Default Value |
---|---|---|
file_path | Path to the file containing the prompt | required |
models_prefixed_by_provider | List of models in format "provider:model" | openai:gpt-4o-mini |
output_path | Full path for the output file | Generated based on input |
output_dir | Directory for response files | input file's directory/responses |
output_extension | File extension for output files | md |
Examples:
# Simple example
prompt_from_file2file_tool: "prompts/uv_script.md"
# Complex example with specific model, output path and custom extension
prompt_from_file2file_tool: "prompts/diagram.md" ["anthropic:claude-3-7-sonnet"] "prompts/responses/architecture_diagram.md"
Team Decision Making
Use multiple models as team members to generate different solutions, then have a decision maker model evaluate and choose the best approach.
Parameters:
Parameter | Description | Default Value |
---|---|---|
from_file | Path to the file containing the prompt | required |
models_prefixed_by_provider | List of team member models | ["openai:gpt-4.1", "anthropic:claude-3-7-sonnet", "gemini:gemini-2.5-pro"] |
persona_dm_model | Model for making the decision | openai:gpt-4o-mini |
output_path | Full path for the output document | Generated based on input |
output_dir | Directory for response files | input file's directory/responses |
output_extension | File extension for output files | md |
persona_prompt | Custom decision maker prompt | Default template |
Examples:
# Simple example
persona_dm_tool: "prompts/decision.md"
# Complex example with custom team and decision maker model
persona_dm_tool: "prompts/decision.md" ["o:gpt-4.1", "a:claude-3-7-sonnet", "g:gemini-2.5-pro-preview-03-25"] persona_dm_model="o:o3" "prompts/responses/final_decision.md"
Business Analyst Persona
Generate detailed business analysis using a specialized Business Analyst persona, with optional team-based decision making.
Capabilities:
- Creating detailed project briefs and requirement documents
- Analyzing business needs and market opportunities
- Defining MVP scope and feature prioritization
- Identifying target audiences and user personas
Parameters:
Parameter | Description | Default Value |
---|---|---|
from_file | Path to the file containing business requirements | required |
models_prefixed_by_provider | Models to use in format "provider:model" | openai:gpt-4o-mini |
output_path | Full path for the output document | Generated based on input |
output_dir | Directory for response files | input file's directory/responses |
output_extension | File extension for output files | md |
use_decision_maker | Whether to use team decision making | false |
decision_maker_models | Models for team members if using decision maker | ["openai:gpt-4.1", "anthropic:claude-3-7-sonnet", "gemini:gemini-2.5-pro"] |
decision_maker_model | Model for final decision making | openai:gpt-4o-mini |
Examples:
# Simple example
persona_ba_tool: "prompts/concept.md" "prompts/responses/project-brief.md"
# Complex example with team-based decision making
persona_ba_tool: "prompts/concept.md" use_decision_maker=true decision_maker_model="o:04-mini" "prompts/responses/project-brief.md"
Product Manager Persona
Generate comprehensive product management plans using a specialized Product Manager persona, with optional team-based decision making.
Capabilities:
- Creating detailed product plans with prioritized features and clear timelines
- Developing product vision and strategy
- Performing market and competitive analysis
- Defining user stories and requirements
- Managing cross-functional team collaboration
- Implementing data-driven decision making
Parameters:
Parameter | Description | Default Value |
---|---|---|
from_file | Path to the file containing the product requirements | required |
models_prefixed_by_provider | Models to use in format "provider:model" | openai:gpt-4o-mini |
output_path | Full path for the output document | Generated based on input |
output_dir | Directory for response files | input file's directory/responses |
output_extension | File extension for output files | md |
use_decision_maker | Whether to use team decision making | false |
decision_maker_models | Models for team members if using decision maker | ["openai:gpt-4.1", "anthropic:claude-3-7-sonnet", "gemini:gemini-2.5-pro"] |
decision_maker_model | Model for final decision making | openai:gpt-4o-mini |
pm_prompt | Custom Product Manager prompt template | Default template |
decision_maker_prompt | Custom decision maker prompt template | Default template |
Examples:
# Simple example
persona_pm_tool: "prompts/responses/project-brief.md" "prompts/responses/project-prd.md"
# Complex example with team-based decision making
persona_pm_tool: "prompts/responses/project-brief.md" use_decision_maker=true decision_maker_model="o:gpt-4o-mini" "prompts/responses/project-prd.md"
Spec Writer Persona
Generate clear, developer-ready specification documents from PRDs, project briefs, or user requests using a specialized Spec Writer persona.
Capabilities:
- Producing technical specifications from PRDs or project briefs
- Defining step-by-step implementation instructions for developers and AI agents
- Creating comprehensive specifications with architectural patterns and validation criteria
- Defining tool behavior, CLI structure, directory layout, and testing plans
- Using focused, reproducible examples to communicate architectural patterns
- Ensuring each spec includes validation steps to verify implementation
Parameters:
Parameter | Description | Default Value |
---|---|---|
from_file | Path to the file containing requirements or PRD | required |
models_prefixed_by_provider | Models to use in format "provider:model" | openai:gpt-4o-mini |
output_path | Full path for the output document | Generated based on input |
output_dir | Directory for response files | input file's directory/responses |
output_extension | File extension for output files | md |
use_decision_maker | Whether to use team decision making | false |
decision_maker_models | Models for team members if using decision maker | ["openai:gpt-4.1", "anthropic:claude-3-7-sonnet", "gemini:gemini-2.5-pro"] |
decision_maker_model | Model for final decision making | openai:gpt-4o-mini |
sw_prompt | Custom Spec Writer prompt template | Default template |
decision_maker_prompt | Custom decision maker prompt template | Default template |
Examples:
# Simple example - generate a specification from a PRD
persona_sw_tool: "prompts/responses/project-prd.md" "prompts/responses/project-spec.md"
# Complex example with team-based decision making
persona_sw_tool: "prompts/responses/project-prd.md" use_decision_maker=true decision_maker_model=["o:gpt-4o-mini"] "prompts/responses/project-spec.md"