使用说明
架构MCP服务器
构建自己工具的AI代理工作室。
🚀 什么是建筑师?
人工智能代理非常聪明,但当他们需要一个尚不存在的工具时,他们遇到了困难。 建筑师MCP拆除了那堵墙。
与其给你的AI代理一个固定的、僵化的工具箱,不如给它一个完整的工具箱 车间.如果您的代理需要调用非常规的API、解析模糊的文件格式或挂接数据库,它只需在运行中为其编写一个自定义工具。
一旦获得您的批准,该工具就会在隔离的沙盒中安全运行。下次你的经纪人遇到同样的问题?定制工具已经准备就绪。
✨ 主要特点
- 自动工具创建: 代理实时构建、测试并永久保存自己的JavaScript工具。
- 铁一般的安全和沙盒: 每个自定义工具都在高度受限的沙盒中执行。网络或文件系统访问需要通过精细的功能范围获得明确的用户批准。
- 内置Web仪表板: 一个漂亮的实时仪表板UI(在端口上运行
3001开箱即用)。管理您的活动工具,实时查看执行日志,监控故障,并安全地管理机密。 - Cron调度: 不仅仅是手动使用!代理可以设置自定义工具以按cron计划运行或构建连续的后台管道。
- 全球市场: 如果其他人已经这样做了,为什么还要从头开始构建?代理人可以搜索(
marketplace_browse),安装(marketplace_install),甚至分享你的创作(marketplace_publish)使用GitHub令牌。 - 持久数据层: 内置、超快的SQLite存储,用于可靠地管理工具、运行日志和执行状态。
🛠️ 入门指南
1.简单的本地设置
如果你安装了Node.js,你可以在几秒钟内运行。
npm install
npm run build
npm start
或者,一旦发布到npm,就无需设置即可运行它:
npx architect-mcp-server
MCP客户端配置(克劳德桌面/克劳德代码/光标):
{
"mcpServers": {
"architect": {
"command": "npx",
"args": ["architect-mcp-server"]
}
}
}
(专业提示:对于开发,使用 npm run dev 以启用自动重启。)
2.Docker设置(推荐)
不想弄乱Node环境?只需使用Docker Compose启动即可:
docker compose up -d
您的数据和工具在持久Docker卷内保持安全,仪表板可立即在 http://localhost:3001.
⚙️ 网关API(令牌优化)
每个暴露的MCP工具都会在AI客户端的会话中消耗上下文令牌。架构师通过以下方式展示其整个管理表面 8网关工具 (总共约2K个代币,而170多个单个工具约为23K):
| 网关 | 盖子 |
|---|---|
tool |
创建、更新、验证、批准、激活、测试、版本、模板、导入/导出 |
find |
列表、搜索、查看源代码、依赖关系图、意图匹配 |
run |
批次、别名、管道 |
automate |
cron时间表、webhooks |
store |
机密、键值存储、MCP资源和提示 |
share |
市场发布/浏览/安装,同行 |
admin |
统计数据、审计日志、缓存、异常、人物角色、系统状态 |
browser |
所有浏览器自动化操作 |
每个网关称为 {action: "<name>", args: {...}}.呼叫 {action: "help"} 列出可用操作; {action: "help", args: {action: "create_tool"}} 返回该操作的完整参数模式。由代理创建的自定义工具始终注册为可直接调用的MCP工具。
webhook服务器(端口 3002)按需启动——当webhook存在或创建时。
安全: 功能批准绑定到工具代码和导入的SHA-256哈希值。任何代码更改都会使批准无效,必须重新批准该工具——工具永远不能默默地继承新代码的权限。进口工具从不附带自己的权限。
🧱 沙盒执行
工具代码在 可重用子进程池,不在主服务器进程中:
- 真正的隔离 --每个工具都在一个单独的操作系统进程中执行,该进程具有自己的内存
vm每次执行的上下文(工具之间没有状态泄漏)。 - 硬超时 --失控的工具(甚至是无限循环)在进程级别被杀死,而不仅仅是发出信号。
- 每个进程的内存上限 --通过强制执行
--max-old-space-size. - 经纪能力 —
net,fs,child_process,env,secrets,以及callTool在沙箱中永远无法直接使用;子节点向父节点发送请求,父节点执行批准的功能范围并执行操作。沙盒只会看到它被允许看到的结果。 - 暖池 --进程在调用之间重用(在设定的执行次数或任何超时后回收),因此没有每次调用的生成成本。
可通过环境变量进行调整: ARCHITECT_SANDBOX_POOL (最大进程数,默认4), ARCHITECT_SANDBOX_MAX_EXEC (回收前执行,默认值50), ARCHITECT_SANDBOX_MEMORY_MB (每个进程的堆上限,默认值128)。
🛡️ 信任与可靠性
- 秘密编辑 --在返回给AI之前,扫描工具输出、日志和错误消息以查找存储的秘密值;比赛被替换为
[REDACTED:NAME],阻断快速注射渗出。 - 测试门控激活 --如果一个工具有测试用例,它们必须在工具激活之前通过沙盒(
create_tool,save_tool,模板都强制执行此操作)。以JSON数组的形式通过测试:[{name, input, expect?, expectError?}]. - 已签署的出口 —
export_tool使用本地ed25519密钥对工具进行签名;import_tool拒绝任何内容被篡改的签名导出,并将未签名的导入标记为不可信。 - 原子写入 --版本快照和工具写入发生在单个SQLite事务中;模式迁移在启动时自动运行。
- 隔离 --无法加载的工具(损坏的数据、过时的批准)将被隔离并列在
get_system_status而不是默默地跳过。 - 健康与轮换 —
GET http://localhost:3001/health为了生动;审计日志会自动设置上限(默认为10000行,请使用ARCHITECT_AUDIT_MAX_ROWS). - 加密和签名密钥存在
data/(从未提交或发表)。
🧠 工作流的外观
- 创建: 你的AI代理需要完成一些新的事情,所以它会编写JavaScript代码来完成它。
- 审核和批准: 您查看该工具请求的权限,然后单击“批准”,授予其安全的网络或文件访问权限。不允许使用流氓脚本。
- 执行: 代理在隔离的沙箱中安全地运行其闪亮的新工具。
- 自动化和共享: 代理可以设置工具按计划运行,将其与其他工具链接,或将其发布到全球市场。
内置于❤️ 以及咖啡的质量 老年人.
因为代理应该是建设者,而不仅仅是用户。
