Fanning a prompt out to three models is easy and leaves you with three answers to read; having a named model evaluate them against each other and produce one document is the part that saves time. The persona tools chain naturally — a brief becomes a PRD becomes a spec — with each stage able to run through the same team-and-adjudicator pattern.
A Python server that wraps six LLM providers behind one interface and layers agile personas on top — Business Analyst, Product Manager, Spec Writer, and a Decision Maker that reads several models' answers and chooses. The point is not one more chat wrapper; it is asking three models the same question and having a fourth adjudicate.
- `prompt_tool` sends `text` to one or many models named `provider:model`; `list_providers_tool` and `list_models_tool` show what is available
- Providers carry short prefixes: `o` for openai, `a` for anthropic, `g` for gemini, `q` for groq, `d` for deepseek, `l` for ollama — so `a:claude-3-5-haiku` works as well as the full name
- `prompt_from_file_tool` reads the prompt from a file; `prompt_from_file2file_tool` also writes each response out, with `output_path`, `output_dir` and `output_extension` under your control
- `persona_dm_tool` runs a prompt past a team of models and has `persona_dm_model` choose between their answers
- `persona_ba_tool`, `persona_pm_tool` and `persona_sw_tool` apply the Business Analyst, Product Manager and Spec Writer personas — each takes `use_decision_maker` to run the same team-and-adjudicator pattern
- Model suffixes tune behaviour: `:4k` and similar set a thinking token budget, `:high` raises reasoning effort on OpenAI
- `list_mcp_assets` is a prompt that returns the whole capability overview — tools, providers, personas and workflows
API keys for whichever providers you intend to use: `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, `GEMINI_API_KEY`, `GROQ_API_KEY`, `DEEPSEEK_API_KEY`, and `OLLAMA_HOST` for a local Ollama. Run it through `uvx --from git+https://github.com/danielscholl/agile-team-mcp-server@main agile-team`, or clone and `uv sync` then `uv pip install -e .`. `DEFAULT_MODEL`, `DEFAULT_TEAM_MODELS` and `DEFAULT_DECISION_MAKER_MODEL` set what runs when you don't name models explicitly. Prompts come from files, so the paths you pass must be readable by the server.
