规范驱动开发MCP服务器

一个基于Python的规范驱动开发MCP服务器,支持从需求生成到设计再到代码的自动化流程。

  • by China-li-bai
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 china-li-bai/mcp-server-spec-python

使用说明

规范驱动开发MCP服务器(Python)

使用官方MCP Python SDK和FastMCP的规范驱动开发MCP服务器的Python实现。

🎯 目的

此MCP服务器通过提供指导您完成以下步骤的提示,使开发人员能够遵循结构化规范驱动的开发方法:

  1. 需求生成 -使用EARS(需求语法简易方法)格式创建详细的需求文档
  2. 设计生成 -根据需求生成设计文档
  3. 代码生成 -根据设计文档生成实现代码

✨ 特性

  • 结构化工作流:遵循以下明确的进展 需求 → 设计 → 代码
  • EARS格式支持:使用行业标准EARS格式进行需求文档
  • MCP协议:与MCP兼容的工具和环境无缝集成
  • 多个传输:支持stdio和HTTP传输
  • FastMCP:使用现代FastMCP框架构建,用于干净的Python代码

🚀 快速开始

先决条件

  • Python 3.10+
  • uv(推荐)或pip

安装

# Clone the repository
git clone <repository-url>
cd mcp-server-spec-python

# Install dependencies using uv (recommended)
uv sync

# Or using pip
pip install -r requirements.txt

用法

标准传输(适用于MCP客户端)

# Using uv
uv run python src/main.py

# Or directly
python src/main.py

HTTP传输(用于web集成)

# Using uv
uv run python src/http_server.py

# Or directly
python src/http_server.py

默认情况下,HTTP服务器将在端口3088上启动。

📋 可用提示

1.生成需求文档

  • 名字: generate-requirements
  • 描述:使用EARS格式生成requirements.md
  • 输入:应用程序的高级要求
  • 输出:结构化需求文档 specs/requirements.md

2.根据需求生成设计

  • 名字: generate-design-from-requirements
  • 描述:根据需求.md生成设计.md
  • 输入:阅读自 specs/requirements.md
  • 输出:设计文件 specs/design.md

3.从设计生成代码

  • 名字: generate-code-from-design
  • 描述:从design.md生成代码
  • 输入:阅读自 specs/design.md
  • 输出:根文件夹中的实现代码

📖 工作流示例

  1. 从需求开始:使用 generate-requirements 提示您的初始需求文本
  2. 创建设计:使用 generate-design-from-requirements 根据您的要求创建设计文档
  3. 生成代码:使用 generate-code-from-design 从设计中生成实现代码

这创建了一条从需求到设计再到实现的可追溯路径,确保了开发过程的一致性和完整性。

🛠️ 发展

项目结构

mcp-server-spec-python/
├── src/
│   ├── __init__.py
│   ├── main.py              # Stdio transport entry point
│   ├── http_server.py       # HTTP transport entry point
│   └── server.py            # Core MCP server implementation
├── requirements.txt         # Python dependencies
├── pyproject.toml          # Project configuration
└── README.md               # This file

测试

使用MCP检查器进行测试:

uv run mcp-inspector src/main.py

🔧 客户端配置示例对于支持HTTP传输的MCP客户端:

{
  "transport": "http",
  "url": "http://192.227.177.133:3088/mcp",
  "method": "POST"
}
### 🔧 對於Claude Desktop等客戶端
```json
{
  "mcpServers": {
    "spec-driven-dev": {
      "transport": "http",
      "url": "http://192.227.177.133:3088/mcp"
    }
  }
}

📄 许可证

MIT许可证