ai2dev-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ai2dev-mcpDesign a simple note-taking app with offline sync."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 |
| Calls the LLM to draft a structured markdown design document from a project name, requirements, and optional audience/constraints. |
| Calls the LLM to revise an existing design document based on feedback, keeping its structure. |
| Calls the LLM to answer any question, optionally grounded in supplied context (e.g. the current design document). |
| 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_KEYRequired environment variables:
ANTHROPIC_API_KEY— used by the LLM tools (design doc generation/refinement, Q&A).ANTHROPIC_MODEL— defaults toclaude-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-serverFor local interactive testing with the MCP Inspector:
mcp dev src/ai2dev_mcp/server.pyConnecting 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
pytestProject 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.pyAvailable Tools
4 toolsask_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.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | ||
| question | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description lacks details about behavioral traits such as external dependencies, logging, or limitations, leaving the agent with minimal behavioral insight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with a clear first sentence stating the purpose, though the args list somewhat duplicates the schema. It is well-structured but could be slightly more streamlined.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, the description adequately covers the core function, but lacks behavioral context and usage guidelines, making it minimally complete for a tool with no annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description adds some meaning by defining 'question' and 'context' with examples, but does not fully compensate for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Answer a free-form question' and mentions optional grounding in context, which distinguishes it from siblings focused on creating or refining design documents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for asking questions with optional context, but does not explicitly specify when to use this tool versus alternatives or provide exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| description | No | ||
| project_name | Yes | ||
| design_document | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states it creates a project but provides no details about side effects, prerequisites (beyond 'finalized'), authorization needs, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise with two sentences and a compact list of arguments. No unnecessary words or repetition, making it easy to read quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 0% schema description coverage and no annotations, the description is somewhat complete for basic use but lacks workflow context (e.g., ordering with siblings like generate_design_document) and behavioral details expected for a creation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds brief parameter explanations (e.g., 'Name for the new AI2DEV project' for project_name) which provide meaning beyond the schema's empty descriptions, but these are minimal and could be more informative (e.g., format expectations for design_document).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Create' and the resource 'a new project in AI2DEV from a finalized design document', which is specific and distinguishes it from sibling tools like generate_design_document and refine_design_document.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus its siblings. It implies using it after a finalized design document, but does not state when not to use it or mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| constraints | No | ||
| project_name | Yes | ||
| requirements | Yes | ||
| target_audience | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description mentions use of an LLM but does not explicitly state whether the tool is read-only, idempotent, or has side effects. The purpose implies a generation with no mutations, but additional behavioral context is missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence followed by a clear list of parameter descriptions. No unnecessary words, front-loaded with purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers all parameters and purpose. Output schema exists, so return value explanation is not required. Could optionally mention output format or next steps, but is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage; the description provides meaningful explanations for each parameter (e.g., 'Free-form description of what the project should do' for requirements), adding value beyond the schema property titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'generate' and the resource 'design document', distinguishing it from siblings like 'refine_design_document' and 'ask_question'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., refine_design_document). Does not mention prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| feedback | Yes | ||
| design_document | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It mentions 'preserving its structure' but does not disclose side effects, idempotency, permissions, error conditions, or whether the tool mutates data or returns a new version. Minimal transparency for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: one sentence for purpose plus two lines for arguments. Every sentence adds value, and the structure is front-loaded with the main action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists (not shown), the description doesn't need to detail return values. However, it could mention that the tool returns a revised document. For a simple tool, the description is largely complete, but missing some context about the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% but the description adds meaning for both parameters: design_document is described as 'current design document (markdown)' and feedback as 'requested changes or additional context'. This clarifies the expected format and purpose beyond schema titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Revise', the resource 'existing design document', and the condition 'based on feedback, preserving its structure'. It distinguishes the tool from sibling 'generate_design_document' which creates new documents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives like 'generate_design_document' or 'ask_question'. It does not state prerequisites or exclusions, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
4 tool updates
v0.1.0- First observed
ask_question - First observed
create_ai2dev_project - First observed
generate_design_document - First observed
refine_design_document
TDQS
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.
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.
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.
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.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for generating rough-draft project plans from natural-language prompts.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Official DevSpeak MCP server — translate technical text into formal specs from any AI IDE or agent
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
Related MCP Servers
- AlicenseBqualityCmaintenanceAn MCP server that supercharges AI assistants with powerful tools for software development, enabling research, planning, code generation, and project scaffolding through natural language interaction.1167101MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that gives AI coding assistants persistent memory across sessions with chain-based project tracking, tickets, and structured handoffs.GPL 3.0
- AlicenseNot gradedqualityDmaintenanceMCP server for AI-powered component generation - analyze designs, generate components, and create implementation instructions.134MIT
- FlicenseAqualityCmaintenanceAn MCP server that provides AI clients with access to developer documentation via llms.txt files. Exposes tools, resources, and prompts.31-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/dorthyuser/mcp-trial-python'
If you have feedback or need assistance with the MCP directory API, please join our Discord server