Skip to main content
Glama

ai2dev-mcp

An MCP server that a frontend can talk to in order to design software projects the same way AI2DEV does: draft a design document with an LLM, refine it based on feedback, answer follow-up questions, and finally hand the finished document to the AI2DEV API to create the project.

Tools exposed

Tool

What it does

generate_design_document

Calls the LLM to draft a structured markdown design document from a project name, requirements, and optional audience/constraints.

refine_design_document

Calls the LLM to revise an existing design document based on feedback, keeping its structure.

ask_question

Calls the LLM to answer any question, optionally grounded in supplied context (e.g. the current design document).

create_ai2dev_project

Calls the AI2DEV API to create a project from a finalized design document.

Related MCP server: Lockstep Core

Setup

python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
cp .env.example .env  # fill in ANTHROPIC_API_KEY and AI2DEV_API_KEY

Required environment variables:

  • ANTHROPIC_API_KEY — used by the LLM tools (design doc generation/refinement, Q&A).

  • ANTHROPIC_MODEL — defaults to claude-opus-4-8.

  • AI2DEV_API_BASE_URL — base URL of the AI2DEV API (defaults to a placeholder; set to your real endpoint).

  • AI2DEV_API_KEY — bearer token for the AI2DEV API.

Running

As a stdio MCP server (what most MCP clients/frontends expect):

python -m ai2dev_mcp.server
# or, after `pip install -e .`
ai2dev-mcp-server

For local interactive testing with the MCP Inspector:

mcp dev src/ai2dev_mcp/server.py

Connecting a frontend / MCP client

Point your MCP client at the command above and pass the environment variables through its env config, e.g. for a JSON-based MCP client config:

{
  "mcpServers": {
    "ai2dev-design": {
      "command": "ai2dev-mcp-server",
      "env": {
        "ANTHROPIC_API_KEY": "sk-ant-...",
        "AI2DEV_API_BASE_URL": "https://api.ai2dev.example.com",
        "AI2DEV_API_KEY": "..."
      }
    }
  }
}

Tests

pytest

Project layout

src/ai2dev_mcp/
  config.py        # env-driven settings
  llm.py            # Anthropic-backed design doc generation/refinement/Q&A
  ai2dev_client.py  # HTTP client for the AI2DEV project-creation API
  server.py         # FastMCP server wiring the tools together
tests/
  test_server.py

Available Tools

4 tools
ask_questionB

Answer a free-form question, optionally grounded in supplied context (e.g. a design doc).

Args: question: The user's question. context: Optional supporting context, such as a design document.

Inputs: question (required), context. Returns: result

create_ai2dev_projectB

Create a new project in AI2DEV from a finalized design document.

Args: project_name: Name for the new AI2DEV project. design_document: The finalized design document content. description: Optional short project description.

Inputs: project_name (required), design_document (required), description. Returns: result

generate_design_documentA

Generate a software design document from a project description using an LLM.

Args: project_name: Name of the software project. requirements: Free-form description of what the project should do. target_audience: Optional description of who the software is for. constraints: Optional technical or business constraints to respect.

Inputs: project_name (required), requirements (required), constraints, target_audience. Returns: result

refine_design_documentA

Revise an existing design document based on feedback, preserving its structure.

Args: design_document: The current design document (markdown). feedback: Requested changes or additional context to incorporate.

Inputs: feedback (required), design_document (required). Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 4 tools

    Disambiguation4/5

    Most tools target distinct phases (design doc generation, refinement, project creation), but 'ask_question' is generic and could be confused with other tools if used for design-related queries, though its purpose is broader.

    Naming Consistency3/5

    Three tools follow a clear verb_noun pattern (generate_design_document, refine_design_document, create_ai2dev_project), but 'ask_question' breaks the pattern and does not reference the domain, causing minor inconsistency.

    Tool Count5/5

    With 4 tools covering the core design-to-project workflow plus a general Q&A, the count is well-scoped and feels neither too sparse nor overwhelming.

    Completeness3/5

    The core flow (generate doc, refine doc, create project) is covered, but missing operations like listing, updating, or deleting projects create notable gaps for a complete lifecycle.

    Related MCP Connectors

    Related MCP Servers