使用说明
锻造
一个构建自己工具的Claude Code代理。
Forge检测到它何时缺乏满足请求的能力,然后自主设计、构建、验证和注册一个新的MCP工具服务器,并立即使用它。它创造的每一个工具都会永远存在。代理在每次请求时都会变得永远更聪明。
User: "What time is it in Tokyo?"
Forge: I don't have a tool for this. Forging one now...
[Designs world-clock server]
[Generates servers/world-clock/server.py]
[Validates: 11/11 checks passed]
[Registers with Claude Code]
[Uses it]
The current time in Tokyo is 2:30 AM JST.
Tool used: world-clock (forged just now)
User: "What time is it in London?"
Forge: I already have a tool for this: world-clock
The current time in London is 5:30 PM GMT.
快速开始
# Clone and set up
git clone https://github.com/tomasmihalyi/claude-forge.git && cd claude-forge
uv sync
# Start the Forge agent
claude --agent forge
然后问它任何事情:
"What time is it in Tokyo?"--伪造时区工具(stdlib)"Analyze demo/sales.csv"--伪造CSV分析工具(stdlib)"What's trending on Hacker News?"-伪造一个HN API工具(httpx)"What time is it in London?"--立即重用时区工具
检查伪造的内容:类型 /forge-status 在代理会话中。
运作原理
Forge协议(9个步骤)
User Request
│
▼
1. CHECK REGISTRY ─── Match found? ──Yes──► 8. USE EXISTING TOOL
│ │
No ▼
▼ 9. CONFIRM
2. ASSESS GAP ──── Reusable capability?
│
Yes
▼
3. ANNOUNCE ──── "Forging a new tool..."
▼
4. DESIGN ───── Reason about architecture (visible to user)
▼
5. GENERATE ─── Write FastMCP server to servers/{name}/server.py
▼
6. VALIDATE ─── 11-check validation (syntax, async, types, imports...)
│ Retry up to 3x on failure
▼
7. REGISTER ─── claude mcp add + update registry.json
▼
8. USE TOOL ─── Invoke via CLI wrapper
▼
9. CONFIRM ──── Return answer + "Tool is now permanent"
建筑
forge/
├── .claude/
│ ├── agents/forge.md ← The agent brain (Forge Protocol)
│ ├── settings.json ← Permissions + hooks
│ └── skills/forge-status/ ← /forge-status slash command
├── forge/
│ ├── templates/server_template.py ← Pattern for code generation
│ ├── validate_server.py ← 11-check server validator
│ └── registry.py ← Atomic registry operations
├── servers/ ← Auto-generated MCP servers
│ ├── world-clock/server.py
│ ├── csv-analyzer/server.py
│ └── hacker-news/server.py
├── registry.json ← Persistent tool memory
├── .mcp.json ← Claude Code MCP server config
└── demo/sales.csv ← Sample data for demos
关键设计决策
CLI包装器模式:每个生成的服务器都包含一个 --call CLI包装器,因此Forge可以在同一会话中立即使用工具,而无需等待MCP注册生效。
11支票验证器:在注册任何服务器之前,它都会经过基于AST的验证:语法、异步函数、文档字符串、类型提示、返回类型、无stdout污染、成功导入、FastMCP实例、工具注册和主块。
原子注册表:注册表助手(forge/registry.py)使用临时文件和重命名进行安全写入,防止重复条目,并提供增量操作。
安全策略:代理拒绝伪造删除文件、执行shell命令、访问凭据或调用非公共API的工具。
Claude代码平台集成
| 功能 | Forge如何使用它 |
|---|---|
| 自定义代理 | .claude/agents/forge.md --整个Forge协议 |
| MCP服务器 | Forge动态创建和注册新的MCP服务器 |
| 技能 | /forge-status --报告伪造工具和使用统计数据 |
| 钩子 | PostToolUse 钩子日志验证事件 |
| 作品4.6 | 扩展思维推动服务器架构设计(步骤4) |
构建于
- 克劳德作品4.6 --工具体系结构设计的扩展思维
- 克劳德代码 --代理、技能、挂钩、MCP集成
- FastMCP (Python)--MCP服务器SDK
- Python 3.13 --用于生成服务器的stdlib+httpx
