MCP 服务
了解 AgileBuilder 内置的 MCP stdio 服务,以及它向 AI 工具暴露的工具与文档资源
什么是 MCP
MCP(Model Context Protocol)是一个开放协议,让 AI 工具(如 Cursor、Claude Code、Claude Desktop)能够以标准化方式调用外部工具、读取外部数据。
AgileBuilder 内置了一个 MCP 服务。接入后,AI 可以:
- 查询你工作空间中的模板与文档资源
- 读取团队沉淀的规范文档,作为生成代码时的上下文
- 直接按模板生成项目脚手架
AgileBuilder 本身不调用任何大模型——它只负责把模板和规范文档提供给 AI,由你使用的 AI 工具完成实际的代码生成。
AgileBuilder 的 MCP 服务
AgileBuilder 的 MCP 服务是一个 stdio 模式的独立进程,随 agilebuilder npm 包一起安装,提供独立的可执行命令 agilebuilder-mcp。
npm install -g agilebuilder
它不是 HTTP 服务:没有监听端口、没有守护进程,也不需要手动启动。支持 MCP 的客户端(Cursor、Claude Code 等)会在需要时通过标准输入输出(stdio)拉起这个进程,会话结束时自动退出。
MCP 服务与 CLI 共用同一份本地数据(~/.agilebuilder/v2),并使用 当前工作空间——即 ag space current 显示的那个空间。切换空间的命令对 MCP 服务同样生效:
ag space use local # 使用本地工作空间
ag space use <space-id> # 使用某个云端空间
MCP 工具
MCP 服务暴露 4 个工具,AI 通过调用它们来查询资源和生成项目。
list_resources
列出当前工作空间中的资源。
参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
type | template | doc | 否 | 按资源类型过滤 |
返回: 包含 workspaceId、资源列表 items 和总数 total 的对象。
search_resources
按关键词搜索当前工作空间中的资源。
参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
keyword | string | 否 | 搜索关键词 |
type | template | doc | 否 | 按资源类型过滤 |
返回: 与 list_resources 结构相同。
get_resource
读取当前工作空间中的单个资源详情。
参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
resourceId | string | 是 | 资源 ID |
返回: 资源的完整信息(名称、类型、Git 地址、描述、标签;文档资源还包含正文内容)。
create_project
从模板资源或直接的 Git 地址创建项目脚手架。
参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
targetPath | string | 是 | 项目生成的目标目录 |
resourceId | string | 二选一 | 当前工作空间中的模板资源 ID |
gitUrl | string | 二选一 | 直接指定 Git 模板仓库地址 |
branch | string | 否 | Git 分支 |
subdir | string | 否 | 仓库内的模板子目录 |
variables | object | 否 | 模板变量,JSON 对象 |
overwrite | boolean | 否 | 允许写入非空目录 |
keepGit | boolean | 否 | 保留模板仓库的 .git 目录 |
allowHooks | boolean | 否 | 允许执行模板 Hook |
resourceId 与 gitUrl 至少需要提供一个。使用云端模板资源创建项目时,MCP 服务还会记录一次资源访问。
参数示例:
{
"resourceId": "1",
"targetPath": "./my-app",
"variables": { "appName": "my-app" },
"allowHooks": false
}
MCP 资源
除了工具,MCP 服务还以资源(resources)形式暴露文档内容,AI 可以按需读取:
| URI | 说明 |
|---|---|
agilebuilder://docs/usage | AgileBuilder 使用说明 |
agilebuilder://usage/agent-policy | 智能体使用策略(AI 调用工具时应遵守的规则) |
agilebuilder://docs/catalog | 当前工作空间的文档资源目录 |
agilebuilder://local/docs/<id> | 本地文档资源的正文内容 |
agilebuilder://cloud/docs/<id> | 云端文档资源的正文内容 |
agilebuilder://docs/catalog 会随着当前工作空间中的文档资源动态变化;AI 通常先读目录,再通过 agilebuilder://local/docs/<id> 或 agilebuilder://cloud/docs/<id> 读取具体文档。读取云端文档要求当前工作空间是云端空间。
客户端配置
支持 MCP 的客户端通常通过一段 JSON 配置接入 stdio 类型的 MCP 服务。AgileBuilder 的通用配置如下:
{
"mcpServers": {
"agilebuilder": {
"command": "agilebuilder-mcp"
}
}
}
这段配置告诉客户端:名为 agilebuilder 的 MCP 服务,通过执行 agilebuilder-mcp 命令启动。前提是已通过 npm install -g agilebuilder 全局安装,使该命令在 PATH 中可用。
各客户端具体的配置文件位置和写法,见:
与云端空间的关系
未登录时,MCP 服务工作在本地工作空间,AI 只能访问本机保存的资源。
执行 ag login 登录并用 ag space use <space-id> 切换到云端空间后,MCP 服务即可访问该空间中的模板与文档资源,AI 读取到的就是团队在云端维护的最新规范。你在云端空间中的角色权限(owner / admin / member)同样约束 MCP 侧的操作。
下一步
- 接入 Cursor - 在 Cursor 中配置 AgileBuilder MCP 服务
- 接入 Claude Code - 在 Claude Code 中配置 AgileBuilder MCP 服务
- CLI 命令参考 -
ag login、ag space等命令说明 - 资源管理 - 模板与文档资源的创建与维护