ACE MCP
代理上下文工程(ACE) -一个用于AI编码助手的自我改进的知识系统,可以从每次会话中学习。
ACE通过MCP服务器提供持久的跨项目学习。Claude/ChatGPT在会话开始时自动读取积累的智慧,并在工作中记录新的见解。
多客户端支持
ACE支持 多个AI客户端 通过双传输端点:
| 端点 | 传输 | 客户端 |
|---|---|---|
/sse | SSE(传统) | 克劳德代码,克劳德桌面 |
/mcp | 流式HTTP | ChatGPT、OpenAI Codex CLI |
生产URL: https://ace-mcp.terry-yodaiken.workers.dev
建筑
两种部署选项:
| 组件 | 存储 | 用例 |
|---|---|---|
| Cloudflare Workers+D1 | SQLite(D1) | 生产环境-持久化,可在任何地方访问 |
| 本地Python服务器 | Markdown文件 | 开发-基于 ~/.ace/playbooks/ |
快速入门(Cloudflare-推荐)
1.安装包装器
cd ace-mcp
./install.sh或手动:
mkdir -p ~/.ace/bin
cp ace-mcp/bin/claude-ace ~/.ace/bin/
chmod +x ~/.ace/bin/claude-ace
# Add to PATH
echo 'export PATH="$HOME/.ace/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc2.运行安装程序
claude-ace setup这将:
- 提示您
ANTHROPIC_API_KEY(一个在https://console.anthropic.com/settings/keys) - 将其保存到您的shell配置文件(
.zshrc/.bashrc) - 通过以下方式配置MCP服务器
claude mcp add
3.开始会话
cd your-project
claude-ace有选项:
claude-ace --dangerously-skip-permissions --resume
claude-ace -p "fix the bug"
claude-ace --project-id finance运作原理
包装:
- 从目录名或
CLAUDE.md - 通过以下方式注入ACE合约
--append-system-prompt - 克劳德 必须 呼叫
read_playbook会话开始时 - Claude在会议期间通过以下方式记录了见解
add_entry
项目检测
| 项目ID | 关键字 |
|---|---|
finance | 监管、合规、基金、投资、mifid、fca、ucits、poview |
dev | 代码、编程、api、后端、前端、部署 |
global | (默认回退) |
MCP工具
| 工具 | 说明 |
|---|---|
read_playbook(project_id?) | 负载学习(合并全局+特定项目) |
add_entry(section, content, project_id?) | 保存新见解 |
update_counters(entry_id, helpful_delta, harmful_delta) | 跟踪有效性 |
log_reflection(task_summary, outcome, learnings, project_id?) | 日志会话反射 |
search_playbook(query, project_id?) | 查找相关条目 |
list_projects() | 列出可用项目 |
create_project(project_id, description?) | 创建新项目 |
curate_playbook(project_id?, harmful_threshold?) | 清理低质量的条目 |
入口部分
STRATEGIES & INSIGHTS-有效的方法DOMAIN KNOWLEDGE-事实和背景COMMON MISTAKES TO AVOID-学到的陷阱FORMULAS & CALCULATIONS-可重复使用的计算
Cloudflare部署
先决条件
- Node.js 18+
- 牧马人CLI(
npm install -g wrangler) - Cloudflare帐户
部署
# Install dependencies
npm install
# Login to Cloudflare
wrangler login
# Create D1 database (first time only)
wrangler d1 create ace-playbook
# Apply schema
wrangler d1 execute ace-playbook --remote --file=schema.sql
# Deploy
npm run deployOAuth设置(Google+ChatGPT)
部署前设置机密:
wrangler secret put GOOGLE_CLIENT_ID
wrangler secret put GOOGLE_CLIENT_SECRET
wrangler secret put GOOGLE_REDIRECT_URI
wrangler secret put OAUTH_CLIENT_ID
wrangler secret put OAUTH_CLIENT_SECRET
wrangler secret put OAUTH_REDIRECT_URIS
wrangler secret put JWT_SECRET
wrangler secret put MCP_BEARER_TOKEN
# Optional: identity fields for static bearer auth
wrangler secret put MCP_BEARER_USER_ID
wrangler secret put MCP_BEARER_EMAIL
# Optional
wrangler secret put REQUIRE_AUTH
wrangler secret put DEFAULT_USER_ID端点
| 端点 | 描述 |
|---|---|
GET /health | 健康检查 |
GET /sse | MCP的SSE端点 |
GET /oauth/authorize | OAuth授权端点 |
GET /oauth/callback | OAuth回调端点 |
POST /oauth/token | OAuth令牌交换端点 |
生产URL: https://ace-mcp.terry-yodaiken.workers.dev
直接连接Claude代码
没有包装器,您可以直接添加MCP服务器:
claude mcp add --transport sse ace https://ace-mcp.terry-yodaiken.workers.dev/sse连接OpenAI Codex CLI
添加 ~/.codex/config.toml:
[mcp_servers.ace]
url = "https://ace-mcp.terry-yodaiken.workers.dev/mcp"
[features]
rmcp_client = true如果Codex CLI无法完成Google OAuth,请使用静态承载令牌:
[mcp_servers.ace]
url = "https://ace-mcp.terry-yodaiken.workers.dev/mcp?access_token=YOUR_MCP_BEARER_TOKEN"安全说明: access_token URL中的密码被视为密码。仅将其存储在本地配置中,如果暴露则进行旋转,并避免共享包含完整URL的日志或屏幕截图。
全局代理模板+代码初始化
设置全局ACE合同模板和项目引导脚本:
- 全局模板:
~/.codex/AGENTS.md - 脚本:
~/.local/bin/codex-init - 可选包装器:
~/.local/bin/codex-ace
在任何项目根目录中的用法:
# Recommended: install the wrapper once
cp ace-mcp/bin/codex-ace ~/.local/bin/
chmod +x ~/.local/bin/codex-ace
# Uses the folder name as the project_id by default
codex-init
# Override the project_id
ACE_PROJECT_ID=finance codex-initcodex-init 副本 ~/.codex/AGENTS.md 进入 ./AGENTS.md,替代品 {project_name} 和 {project_id},然后启动 codex-ace (或 codex). codex-ace 确保ACE合同存在于 AGENTS.md 在开始之前。
连接ChatGPT(开发人员模式)
- 启用:设置→ 连接器→ 高级→ 开发人员模式
- 创建:设置→ 连接器→ 创建
- 网址:
https://ace-mcp.terry-yodaiken.workers.dev/mcp - 名称:《ACE行动手册》
- OAuth设置:
- 授权URL: https://ace-mcp.terry-yodaiken.workers.dev/oauth/authorize - 令牌URL: https://ace-mcp.terry-yodaiken.workers.dev/oauth/token - 客户端ID/Secret:使用Worker secrets中配置的值
本地Python服务器(备选)
对于基于文件存储的本地开发:
# Install
pip install fastmcp
# Run
uvx --from fastmcp fastmcp run ace_server.py存储位置: ~/.ace/playbooks/
注: 本地服务器使用markdown文件,而不是SQLite。包装器是为Cloudflare部署而设计的。
配置
环境变量
| 变量 | 描述 |
|---|---|
ANTHROPIC_API_KEY | 克劳德代码要求 |
GOOGLE_CLIENT_ID | 谷歌OAuth客户端ID |
GOOGLE_CLIENT_SECRET | Google OAuth客户端密钥 |
GOOGLE_REDIRECT_URI | Google OAuth重定向URI(指向 /oauth/callback) |
OAUTH_CLIENT_ID | ChatGPT连接器的OAuth客户端ID |
OAUTH_CLIENT_SECRET | ChatGPT连接器的OAuth客户端密钥 |
OAUTH_REDIRECT_URIS | 逗号分隔的允许重定向URI |
JWT_SECRET | 访问令牌/状态的HMAC密钥 |
REQUIRE_AUTH | true 需要OAuth /mcp 和 /sse |
DEFAULT_USER_ID | 没有OAuth的旧客户端的回退用户ID |
文件
| 文件 | 目的 |
|---|---|
wrangler.toml | Cloudflare Workers配置 |
schema.sql | D1数据库架构 |
src/index.ts | 工人入口点 |
ace_server.py | 本地Python MCP服务器 |
ace_core.py | 基于本地文件的存储逻辑 |
包装器命令
claude-ace # Start interactive session
claude-ace setup # Configure API key + MCP server
claude-ace status # Check configuration
claude-ace -p "prompt" # One-shot prompt
claude-ace --resume # Resume last session
claude-ace --continue # Continue last session
claude-ace --project-id X # Force specific project ID
claude-ace -C /path # Specify project directory
claude-ace --model MODEL # Use specific model
claude-ace --dangerously-skip-permissions # Skip permission prompts故障排除
“未配置MCP服务器”
claude-ace setup“找不到ANTHROPIC_API_KEY”
claude-ace setup # Will prompt for key
# Or manually:
export ANTHROPIC_API_KEY="sk-ant-..."SSE连接问题
# Test endpoint
curl https://ace-mcp.terry-yodaiken.workers.dev/health
curl -v https://ace-mcp.terry-yodaiken.workers.dev/sse检查MCP是否已注册
claude mcp list许可证
麻省理工学院
