agile-team-mcp-server

agile-team-mcp-server

0

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

Install with UV in VS Code Install with Docker in VS Code

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

ProviderShort PrefixFull PrefixExample Usage
OpenAIoopenaio:gpt-4o-mini
Anthropicaanthropica:claude-3-5-haiku
Google Geminiggeminig:gemini-2.5-pro-exp-03-25
Groqqgroqq:llama-3.1-70b-versatile
DeepSeekddeepseekd:deepseek-coder
Ollamalollamal: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:

ParameterDescriptionDefault Value
providerThe 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:

ParameterDescriptionDefault Value
textThe prompt text to send to the modelsrequired
models_prefixed_by_providerList 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:

ParameterDescriptionDefault Value
file_pathPath to the file containing the promptrequired
models_prefixed_by_providerList 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:

ParameterDescriptionDefault Value
file_pathPath to the file containing the promptrequired
models_prefixed_by_providerList of models in format "provider:model"openai:gpt-4o-mini
output_pathFull path for the output fileGenerated based on input
output_dirDirectory for response filesinput file's directory/responses
output_extensionFile extension for output filesmd

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:

ParameterDescriptionDefault Value
from_filePath to the file containing the promptrequired
models_prefixed_by_providerList of team member models["openai:gpt-4.1", "anthropic:claude-3-7-sonnet", "gemini:gemini-2.5-pro"]
persona_dm_modelModel for making the decisionopenai:gpt-4o-mini
output_pathFull path for the output documentGenerated based on input
output_dirDirectory for response filesinput file's directory/responses
output_extensionFile extension for output filesmd
persona_promptCustom decision maker promptDefault 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:

ParameterDescriptionDefault Value
from_filePath to the file containing business requirementsrequired
models_prefixed_by_providerModels to use in format "provider:model"openai:gpt-4o-mini
output_pathFull path for the output documentGenerated based on input
output_dirDirectory for response filesinput file's directory/responses
output_extensionFile extension for output filesmd
use_decision_makerWhether to use team decision makingfalse
decision_maker_modelsModels for team members if using decision maker["openai:gpt-4.1", "anthropic:claude-3-7-sonnet", "gemini:gemini-2.5-pro"]
decision_maker_modelModel for final decision makingopenai: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:

ParameterDescriptionDefault Value
from_filePath to the file containing the product requirementsrequired
models_prefixed_by_providerModels to use in format "provider:model"openai:gpt-4o-mini
output_pathFull path for the output documentGenerated based on input
output_dirDirectory for response filesinput file's directory/responses
output_extensionFile extension for output filesmd
use_decision_makerWhether to use team decision makingfalse
decision_maker_modelsModels for team members if using decision maker["openai:gpt-4.1", "anthropic:claude-3-7-sonnet", "gemini:gemini-2.5-pro"]
decision_maker_modelModel for final decision makingopenai:gpt-4o-mini
pm_promptCustom Product Manager prompt templateDefault template
decision_maker_promptCustom decision maker prompt templateDefault 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:

ParameterDescriptionDefault Value
from_filePath to the file containing requirements or PRDrequired
models_prefixed_by_providerModels to use in format "provider:model"openai:gpt-4o-mini
output_pathFull path for the output documentGenerated based on input
output_dirDirectory for response filesinput file's directory/responses
output_extensionFile extension for output filesmd
use_decision_makerWhether to use team decision makingfalse
decision_maker_modelsModels for team members if using decision maker["openai:gpt-4.1", "anthropic:claude-3-7-sonnet", "gemini:gemini-2.5-pro"]
decision_maker_modelModel for final decision makingopenai:gpt-4o-mini
sw_promptCustom Spec Writer prompt templateDefault template
decision_maker_promptCustom decision maker prompt templateDefault 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"