SpecMCP
规范驱动的开发MCP服务器,由 涌现 知识图谱。
SpecMCP使AI编码助手能够使用结构化规范,跟踪实施进度,并通过 模型上下文协议.
概述
SpecMCP提供了一个规范锚定的开发工作流程,其中规范与代码一起不断发展。与基于文件的方法不同,SpecMCP使用Emergent的知识图:
- 关系跟踪 -通过类型化关系连接的实体
- 影响分析 -查询受更改影响的内容
- 版本控制 -内置实体版本控制和分支
- 并行执行 -多个代理处理相关任务
先决条件
- 转到1.25+
- 一 涌现 带有API令牌的项目
安装
快速安装(推荐)
使用一个命令安装或升级到最新版本:
curl -fsSL https://raw.githubusercontent.com/emergent-company/specmcp/main/install.sh | sh这将:
- 开 Arch Linux:使用systemd服务通过pacman安装官方软件包
- 开 macOS/其他Linux:安装到
~/.specmcp/bin并添加到PATH
手动安装
Arch Linux
从GitHub版本安装官方软件包:
# Download and install with pacman
wget https://github.com/emergent-company/specmcp/releases/latest/download/specmcp-*-x86_64.pkg.tar.zst
sudo pacman -U specmcp-*-x86_64.pkg.tar.zst
# Enable and start the service (optional)
sudo systemctl enable --now specmcp该套餐包括:
- 二元的:
/usr/bin/specmcp - 配置:
/etc/specmcp/config.toml - 服务:
/usr/lib/systemd/system/specmcp.service
macOS/Linux(通用)
下载适合您平台的二进制文件:
# Detect platform and download
PLATFORM="$(uname -s | tr '[:upper:]' '[:lower:]')-$(uname -m)"
PLATFORM="${PLATFORM//x86_64/amd64}"
PLATFORM="${PLATFORM//aarch64/arm64}"
wget https://github.com/emergent-company/specmcp/releases/latest/download/specmcp-${PLATFORM}.tar.gz
tar -xzf specmcp-${PLATFORM}.tar.gz
sudo mv specmcp /usr/local/bin/来源
git clone https://github.com/emergent-company/specmcp.git
cd specmcp
task build二进制文件将输出到 dist/specmcp.
去安装
go install github.com/emergent-company/specmcp/cmd/specmcp@latest升级
如果您是通过安装脚本或手动安装的,则可以使用以下方式进行升级:
specmcp upgrade或者重新运行安装脚本:
curl -fsSL https://raw.githubusercontent.com/emergent-company/specmcp/main/install.sh | sh -s -- upgrade配置
SpecMCP使用分层配置: 环境变量>配置文件>默认值.
配置文件
复制示例并编辑:
cp specmcp.example.toml specmcp.toml配置文件搜索顺序(先找到者获胜):
--config标志(例如。specmcp --config /path/to/specmcp.toml)SPECMCP_CONFIGenv 是./specmcp.toml(当前目录)~/.config/specmcp/specmcp.toml
配置文件是TOML格式的,完全是可选的——仅使用env变量就足够了。
环境变量
环境变量始终覆盖配置文件值。
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
EMERGENT_TOKEN | 仅限stdio | - | 项目范围内的令牌(emt_*)或API密钥。stdio模式需要;HTTP模式不需要(客户端发送自己的令牌)。 |
EMERGENT_URL | 没有 | http://localhost:3002 | 紧急服务器URL |
EMERGENT_PROJECT_ID | 否 | - | 使用独立的API密钥时需要 |
EMERGENT_MAX_RETRIES | 没有 | 5 | 失败请求的最大重试次数。设置为 -1 无限次重试(永远保持重新连接)。 |
EMERGENT_LONG_OUTAGE_INTERVAL_MINS | 没有 | 5 | 在连续多次失败后,在重试之间等待这几分钟(防止在长时间中断期间进行激进的重新连接)。 |
EMERGENT_LONG_OUTAGE_THRESHOLD | 没有 | 20 | 切换到长时间停机模式(不那么激进的重试)之前的连续失败次数。 |
SPECMCP_TRANSPORT | 没有 | stdio | 运输方式: stdio 或 http |
SPECMCP_PORT | 没有 | 21452 | HTTP侦听端口(仅限HTTP模式) |
SPECMCP_HOST | 没有 | 0.0.0.0 | HTTP侦听地址(仅限HTTP模式) |
SPECMCP_CORS_ORIGINS | 没有 | * | 逗号分隔的CORS源(仅限http模式) |
SPECMCP_REQUEST_TIMEOUT_MINUTES | 没有 | 5 | 请求超时(分钟)(仅限http模式) |
SPECMCP_IDLE_TIMEOUT_MINUTES | 没有 | 5 | 保持活动超时(分钟)(仅限http模式) |
SPECMCP_LOG_LEVEL | 没有 | info | debug, info, warn, error |
用法
标准模式(默认)
SpecMCP作为stdio MCP服务器运行。将其添加到MCP客户端配置中:
{
"mcpServers": {
"specmcp": {
"command": "specmcp",
"env": {
"EMERGENT_TOKEN": "emt_your_token_here",
"EMERGENT_URL": "https://your-emergent-instance.com"
}
}
}
}或者直接运行:
EMERGENT_TOKEN=emt_... ./dist/specmcpHTTP模式
作为独立的HTTP服务器运行。客户端将自己的Emergent令牌作为Bearer标头发送——不需要服务器端令牌:
EMERGENT_URL=http://your-emergent:3002 \
SPECMCP_TRANSPORT=http \
./dist/specmcp客户端通过以下方式连接 POST /mcp 随着 Authorization: Bearer 。令牌是客户端自己的Emergent项目令牌(emt_*).
健康检查: GET /health
码头工人
docker build -t specmcp .
docker run -p 21452:21452 -e EMERGENT_URL=http://your-emergent:3002 specmcp能力
工具(31)
- 工作流程 (7):
spec_new,spec_artifact,spec_batch_artifact,spec_archive,spec_verify,spec_mark_ready,spec_status - 查询 (11):
list_changes,get_change,get_context,get_component,get_action,get_data_model,get_service,get_scenario,get_patterns,impact_analysis,search - 任务 (5):
generate_tasks,get_available_tasks,assign_task,complete_task,get_critical_path - 模式 (3):
suggest_patterns,apply_pattern,seed_patterns - 宪法 (2):
create_constitution,validate_constitution - 同步 (3):
sync_status,sync,graph_summary
提示(2)
specmcp-guide-全面使用指南specmcp-workflow-分步工作流程指南
资源(3)
specmcp://entity-model-实体类型和关系参考specmcp://guardrails-护栏系统文件specmcp://tool-reference-工具使用参考
种子模板
要在Emergent项目中注册SpecMCP模板包,请执行以下操作:
EMERGENT_TOKEN=emt_... task seed发展
task build # Build binary
task test # Run tests
task fmt # Format code
task vet # Run go vet
task tidy # Tidy dependencies
task clean # Remove build artifacts许可证
麻省理工学院
