Spec Kit MCP Server
Provides tools for interacting with Spec Kit templates and workflows to manage project specifications, planning, and implementation using GitHub's spec-kit framework.
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., "@Spec Kit MCP Serverhelp me create a constitution for our new API project"
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.
Spec Kit MCP Server
This is a Model Context Protocol (MCP) server for Spec Kit. It allows AI assistants to interact with Spec Kit templates and workflows directly to help manage project specifications, planning, and implementation.
Prerequisites
Before using this MCP server, you must have specify-cli installed on your system.
Persistent Installation (Recommended)
Install once and use everywhere:
uv tool install specify-cli --from git+https://github.com/github/spec-kit.gitThen use the tool directly:
specify init <PROJECT_NAME>
specify checkTo upgrade Specify, see the Upgrade Guide for detailed instructions. Quick upgrade:
uv tool install specify-cli --force --from git+https://github.com/github/spec-kit.gitRelated MCP server: OpenSpec MCP Server
Installation & Usage
Using with MCP Clients (e.g., Claude Desktop, Cursor)
You can run this server directly using npx. Add the following configuration to your MCP client settings:
{
"mcpServers": {
"spec-kit": {
"command": "npx",
"args": [
"-y",
"@anyicode/spec-kit-mcp@latest"
]
}
}
}Features
This server provides prompts and tools to guide the AI through the Spec Kit workflow:
Constitution (
speckit.constitution): Establish or review project principles (code quality, testing, etc.).Specify (
speckit.specify): Combine templates with user requirements to describe what to build.Plan (
speckit.plan): Analyze the project and create a technical plan.Tasks (
speckit.tasks): Break down the plan into actionable tasks.Implement (
speckit.implement): Provide implementation guidelines.
The server automatically detects and uses the commands/ directory in your project root to access these templates.
Publishing
To release a new version of this package, follow these steps:
Update the package version (e.g., patch, minor, major):
npm version patchBuild the project:
npm run buildPublish the package to npm:
npm publish --access publicVerify the package is published:
npm view @anyicode/spec-kit-mcp
Available Tools
5 toolsspeckit_constitutionB
Establish project principles using spec-kit
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states 'Establish project principles', implying a creation or setup operation, but doesn't clarify if this is a read-only or mutative action, what permissions are needed, or how the tool behaves (e.g., output format, side effects). This leaves significant gaps in understanding the tool's behavior.
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, efficient sentence: 'Establish project principles using spec-kit'. It is front-loaded with the core action and resource, with no wasted words or redundancy, making it highly concise and well-structured.
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 tool's purpose of establishing principles (which could involve complex decision-making), the lack of annotations, output schema, and detailed behavioral context makes the description incomplete. It doesn't explain what 'establish' entails, what output to expect, or how it integrates with the spec-kit system, leaving the agent with insufficient information for effective use.
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 input schema has 0 parameters with 100% coverage, meaning no parameters are documented. The description doesn't add parameter details, which is appropriate since there are none. Baseline for 0 parameters is 4, as the description needn't compensate for missing parameter information.
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 action ('Establish') and resource ('project principles') using the tool 'spec-kit'. It distinguishes from siblings like speckit_implement, speckit_plan, speckit_specify, and speckit_tasks by focusing on principles rather than implementation, planning, specification, or task management. However, it doesn't explicitly differentiate itself from these siblings, which prevents a perfect score.
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 guidance on when to use this tool versus its siblings. It mentions 'Establish project principles' but doesn't specify contexts, prerequisites, or alternatives. Without annotations or explicit usage instructions, the agent has minimal direction for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
speckit_implementD
Execute implementation
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. 'Execute implementation' suggests a potentially destructive or state-changing action, but the description provides no information about what gets executed, whether it requires specific permissions, what side effects occur, or what the expected outcome is. This leaves critical behavioral aspects completely undocumented.
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?
While 'Execute implementation' is extremely brief, this represents under-specification rather than effective conciseness. The two-word description fails to provide necessary context and doesn't earn its place by adding meaningful value. True conciseness balances brevity with information density, which this description lacks.
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?
For a tool with no annotations, no output schema, and sibling tools suggesting a workflow context, the description is completely inadequate. It doesn't explain what 'implementation' means in this context, what gets executed, what the expected outcome is, or how this fits with the other speckit tools. The description fails to provide the minimal context needed for effective tool selection.
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 tool has zero parameters, and the schema description coverage is 100% (though there are no parameters to describe). In this specific case, the description doesn't need to compensate for missing parameter documentation since there are no parameters. The baseline for zero parameters with full schema coverage is 4, as there's no parameter semantics burden.
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 'Execute implementation' is tautological - it essentially restates the tool name 'speckit_implement' without providing meaningful clarification. While 'execute' is a verb, it doesn't specify what is being implemented, for whom, or what resources are involved. Compared to sibling tools like 'speckit_plan' and 'speckit_specify', this description fails to distinguish what makes this tool unique.
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 absolutely no guidance about when to use this tool versus the sibling tools (speckit_constitution, speckit_plan, speckit_specify, speckit_tasks). There's no indication of the workflow sequence, prerequisites, or appropriate contexts for implementation versus planning or specification. Users must guess when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
speckit_planC
Create a technical plan
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | Additional context or requirement |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. 'Create' implies a write/mutation operation, but the description doesn't mention permissions needed, whether the plan is saved or temporary, what happens on failure, or any rate limits. It lacks essential behavioral context for a creation 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 extremely concise at just three words with zero waste. It's front-loaded with the core action and resource, making it easy to parse quickly despite its brevity.
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?
For a creation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what a 'technical plan' entails, what format it returns, whether it's stored or transient, or how it relates to sibling tools. The minimal description leaves too many contextual gaps.
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 description coverage is 100% with one parameter ('context') fully documented in the schema. The description doesn't add any parameter-specific information beyond what the schema provides, so it meets the baseline for high schema coverage without compensating value.
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 'Create a technical plan' clearly states the action (create) and the resource (technical plan), but it's vague about what constitutes a technical plan and doesn't differentiate from sibling tools like speckit_specify or speckit_tasks that might also involve planning-related activities. It provides basic purpose but lacks specificity.
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 is provided on when to use this tool versus alternatives like speckit_specify or speckit_implement. The description implies it's for creating plans, but doesn't specify context, prerequisites, or exclusions, leaving the agent to guess about appropriate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
speckit_specifyC
Describe what to build
| Name | Required | Description | Default |
|---|---|---|---|
| request | No | The user's requirement (e.g., speckit: add new user) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. 'Describe what to build' suggests this is a specification/definition tool, but it doesn't reveal whether this creates a persistent artifact, triggers downstream processes, requires specific permissions, has side effects, or what format the output takes. The agent has minimal information about how this tool actually behaves.
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 extremely concise at just three words. While this represents under-specification rather than ideal conciseness, from a pure structural perspective, it's front-loaded with zero wasted words. Every word earns its place, even if that place is inadequate.
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 complexity implied by having four sibling tools in what appears to be a development/specification system, and with no annotations or output schema, the description is severely incomplete. It doesn't explain what this tool produces, how it differs from related tools, or what context it operates within. The agent would struggle to understand when and how to use this tool effectively.
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 schema has 100% description coverage with one parameter 'request' clearly documented as 'The user's requirement'. The description doesn't add any meaningful parameter semantics beyond what the schema already provides. The example in the schema ('speckit: add new user') gives more context than the tool description itself. Baseline 3 is appropriate when schema coverage is complete.
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 'Describe what to build' is a tautology that essentially restates the tool name 'speckit_specify' (specify = describe). It doesn't specify what type of artifact is being described or what domain this operates in. While it implies some creation/development context, it lacks the specificity needed to distinguish it from sibling tools like speckit_plan or speckit_tasks.
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 is provided about when to use this tool versus the sibling tools (speckit_constitution, speckit_implement, speckit_plan, speckit_tasks). The description doesn't indicate whether this is an initial requirements gathering step, a refinement step, or how it fits into a workflow. There's no mention of prerequisites or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
speckit_tasksD
Generate task list
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Generate task list' implies a creation or output operation but offers no details on what the tool does beyond that—no information on permissions, side effects, rate limits, or output format. This is inadequate for a tool with zero annotation coverage.
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 phrase, 'Generate task list', which is concise but under-specified. While it avoids unnecessary words, it fails to provide essential context, making it inefficient in conveying useful information rather than being appropriately sized.
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 lack of annotations, no output schema, and a vague description, the description is incomplete. It does not compensate for the missing structured data, leaving the agent with insufficient information to understand the tool's behavior, purpose, or usage in the context of its siblings.
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 input schema has 0 parameters with 100% coverage, meaning no parameters are documented in the schema. The description does not add parameter details, which is appropriate since there are none. A baseline score of 4 is applied for zero parameters, as no compensation is needed for missing parameter semantics.
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 'Generate task list' restates the tool name 'speckit_tasks' in slightly different words, making it tautological. It lacks specificity about what kind of tasks are generated, for what purpose, or what resources are involved, failing to distinguish it from potential sibling tools like speckit_plan or speckit_implement.
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 guidance on when to use this tool versus alternatives. There is no mention of context, prerequisites, or exclusions, and it does not reference any sibling tools, leaving the agent with no basis for selecting this tool appropriately.
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.
5 tool updates
- First observed
speckit_constitution - First observed
speckit_implement - First observed
speckit_plan - First observed
speckit_specify - First observed
speckit_tasks
TDQS
Each tool has a clearly distinct purpose in the spec-kit workflow: constitution (principles), plan (technical plan), specify (description), tasks (task list), and implement (execution). There is no overlap or ambiguity between these stages, making tool selection straightforward for an agent.
All tool names follow a consistent 'speckit_' prefix with a descriptive action suffix (e.g., constitution, implement, plan, specify, tasks). This uniform pattern enhances readability and predictability across the toolset.
With 5 tools, the server is well-scoped for its purpose of project specification and implementation. Each tool represents a distinct phase in the workflow, and the count is neither too sparse nor excessive for the domain.
The toolset provides complete coverage of the spec-kit lifecycle, from establishing principles (constitution) and planning to specifying, task generation, and implementation. There are no obvious gaps, and the tools logically progress through the project development stages.
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
Project registry, behavioral specs, and engineering threads for AI coding agent workflows.
- DartOAuthcom.dartai
AI-native project management for tasks, docs, collaboration, and agents.
Turn PRDs and product ideas into structured specs so coding agents build your intent, not theirs.
Commission a multi-model AI spec committee from your agent; get rubric-scored, build-ready specs.
11
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables spec-driven development workflows with AI assistants, providing tools for managing specification lifecycles, task dependencies, code navigation, testing, and automated reviews through a unified CLI and MCP interface.4MIT
- AlicenseBqualityCmaintenanceConnects OpenSpec specification system to AI coding assistants, enabling automated spec-driven development workflows.11462MIT

SpecDown MCP Serverofficial
AlicenseNot gradedqualityCmaintenanceGives AI assistants direct read/write access to SpecDown Markdown spec documents, enabling spec-driven development without copy-pasting.253MIT- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage complex development workflows by creating structured handoffs between strategic planning and tactical implementation, with project management, task tracking, and intelligent scaffolding.17MIT
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/anyiba/spec-kit-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server