An MCP (Model Context Protocol) server that supports specification-driven development
Spec Pilot is an MCP server that supports specification-driven development through a structured workflow that spans everything from drafting system specifications to delivering design assets. It automates requirement definition in the EARS (Easy Approach to Requirements Syntax) format and generates comprehensive design documents.
- Structured development workflow: Step-by-step process from specifications → requirements → design
- EARS-based requirements management: Clear, testable acceptance criteria
- Comprehensive design generation: From architecture to implementation strategies
- Implementation task generation: Translate specs into actionable development plans
- Multilingual support: Output available in Japanese and English
- MCP protocol: Easy integration with AI agents
This project has been independently assessed by MseeP.ai.
- Create the
.kiro/specs/<slug>directory - Generate project configuration files
- Save language settings
- Structure user stories
- Generate acceptance criteria in the EARS format
- Produce testable requirements documents
- Design system architecture
- Define component designs and API specifications
- Plan migration and testing strategies
- Address performance and security considerations
- Convert requirements and design artifacts into actionable task lists
- Provide TDD-ready task breakdowns and requirement traceability
- Output tasks in a hierarchy suitable for issue trackers
- Provide a basic greeting and display project policies
Spec Pilot exposes five MCP prompts. Each one accepts defined arguments and returns structured responses.
| Prompt Name | Description | Required Arguments | Optional Arguments |
|---|---|---|---|
greeting |
Greeting and policy info | name (string) |
- |
spec.init |
Initialize workspace | specDescription (string) |
locale (ja/en) |
spec.create-requirements |
Generate requirements | specName (string) |
- |
spec.design |
Generate design document | specName (string) |
- |
spec.create-tasks |
Generate implementation tasks | specName (string) |
- |
spec.impl-tasks |
Derive execution plans | specName (string), tasks (string) |
- |
Initialize a project:
@spec.init "Build a user authentication system" "en"
Generate requirements:
@spec.create-requirements "user-auth-system"
Generate a design document:
@spec.design "user-auth-system"
Generate implementation tasks:
@spec.create-tasks "user-auth-system"
Execute selected implementation tasks:
@spec.impl-tasks "user-auth-system" "all tasks in phase 1"
{
"locale": "ja"
}{
"title": "project-name",
"description": "Project description"
}requirements.md: Structured requirements document with EARS-based acceptance criteriadesign.md: Comprehensive design document covering architecture, component design, migration strategy, and moretasks.md: Hierarchical implementation task list derived from requirements and design artifacts (TDD compatible)
ja(Japanese) - defaulten(English)
Language settings are managed in .kiro/spec-pilot.json, which is created automatically during the first run.
# Development
pnpm build # TypeScript build
pnpm test # Run tests
pnpm test:watch # Watch mode for tests
# Code quality
pnpm lint # Run ESLint checks
pnpm lint:fix # Auto-fix ESLint issues
pnpm format # Check formatting with Prettier
pnpm format:write # Automatically format with Prettier
pnpm typecheck # Run type checking
# Miscellaneous
pnpm clean # Remove build artifactsdist/index.js- Main MCP serverdist/index.d.ts- TypeScript type definitionsprompts/- Prompt templates
- Workspace initialization (
spec.init) - Requirements generation (
spec.create-requirements) - Design document generation (
spec.design) - Implementation task generation (
spec.create-tasks) - Multilingual support (Japanese & English)
- Generation of EARS-based acceptance criteria
- TDD-style task breakdowns and requirement traceability
- Publish as an npm package
- Optimize package metadata
- Automate version management
- Set up CI/CD pipelines for automated publishing
- Release stable versions to the npm registry
- Language: TypeScript 5.6+
- Runtime: Node.js 22+
- Package Manager: pnpm
- Build Tool: tsdown
- Test Framework: Vitest
- Protocol: Model Context Protocol 1.18+
MIT License — see LICENSE for details.