ACE MCP Server
Agentic Context Engineering - Self-improving AI context framework
Version: 1.0.0 | License: MIT
🎯 概述
ACE MCP Server是一个智能开发助手,可以从您的编码模式中学习,并自动增强您的开发工作流程。它通过模型上下文协议(MCP)与Cursor AI无缝集成,提供上下文代码生成、智能分析和自我改进建议。
✨ 主要特点
- 🤖 智能代码生成 -具有自动提示增强的上下文感知代码生成
- 🧠 智能代码分析 -深度代码分析,并提供可操作的改进建议
- 📚 自我提升剧本 -从开发工作中积累知识和模式
- 🔧 多种LLM支持 -与OpenAI、Anthropic Claude、DeepSeek、Google Gemini、Mistral和LM Studio合作
- 🐳 Docker就绪 -用于本地和生产部署的完整容器化解决方案
- 🔒 缺省巩固安全 -承载令牌认证和综合安全措施
🚀 ACE的独特之处
ACE不仅生成代码 学习 根据您的开发模式和 改善 随着时间的推移:
- 生成 情境发展轨迹
- 反映 关于提取见解和模式的代码
- 助理牧师 将知识转化为自我提升的剧本
- 增强 积累智慧的未来互动
📚 文档
🚀 入门指南
⚙️ 设置和配置
🚀 部署
📖 项目文件
⚡ 快速开始
1.克隆和设置
git clone https://github.com/Angry-Robot-Deals/ace-mcp.git
cd ace-mcp
cp .env.example .env
# Edit .env with your configuration2.Docker开发
# Start development environment
docker-compose -f docker-compose.dev.yml up -d
# View logs
docker-compose -f docker-compose.dev.yml logs -f
# Stop environment
docker-compose -f docker-compose.dev.yml down3.配置MCP客户端
选择安装环境:
另请参阅详细的设置说明:
4.使用ACE命令
# Smart code generation
@ace_smart_generate create a REST API endpoint
# Intelligent code analysis
@ace_smart_reflect [your code here]
# Context-aware assistance
@ace_context_aware optimize database queries domain:database
# Automatic prompt enhancement
@ace_enhance_prompt create secure authentication focus_area:security
# View current playbook
@ace_playbook5.查看播放手册
ACE剧本存储了您在开发工作中积累的知识和模式。使用以下方式查看:
选项1:通过API端点(JSON)
curl -H 'Authorization: Bearer YOUR_TOKEN' \
http://localhost:34301/api/playbook | python3 -m json.tool选项2:使用提供的脚本
./view-playbook.sh选项3:通过Cursor AI中的MCP工具
@ace_playbook选项4:通过仪表板
http://localhost:34300该剧本包含:
- 模式 -从工作中学到的代码模式和惯例
- 最佳实践 -随着时间的推移积累的开发最佳实践
- 洞察 -从代码反思中提取的关键见解
🛠️ 发展
先决条件
- Node.js 18+
- Docker&Docker编写
- TypeScript
地方发展
# Install dependencies
npm install
# Run tests
npm test
# Build project
npm run build
# Start development server
npm run dev测试MCP方法
测试套件通过MCP协议验证所有4种MCP方法:
ace_smart_generate-具有自动增强功能的代码生成ace_smart_reflect-代码分析及建议ace_context_aware-情境辅助ace_enhance_prompt-快速增强
所有测试均验证:
- ✅ 正确的响应结构
- ✅ 必填字段存在
- ✅ 错误处理
- ✅ 工具可用性
局部测试
# Using npm script (recommended)
npm run test:mcp
# Or directly
node test-server.mjsDocker测试
# Build and start the container
docker-compose up -d ace-server
# Run tests inside the container using npm script
npm run test:mcp:docker
# Or directly
docker exec ace-mcp-server node test-server.mjs
# Or using direct Docker build
docker run --rm -it \
-v $(pwd)/test-server.mjs:/app/test-server.mjs:ro \
ace-mcp-server:latest \
node test-server.mjs注: 测试套件会自动检测它是在Docker中运行还是在本地运行,并相应地调整服务器路径。
Docker管理
使用Docker Compose(推荐)
# Development environment
docker-compose -f docker-compose.dev.yml up -d
# Production environment
docker-compose up -d
# View service logs
docker-compose logs ace-server
docker-compose logs ace-dashboard
# Rebuild services
docker-compose build --no-cache直接Docker构建(替代方案)
如果你更喜欢直接构建和运行Docker镜像,而不需要 docker-compose:
# Build the Docker image
docker build -t ace-mcp-server:latest .
# Run the container
docker run -d \
--name ace-mcp-server \
-p 34301:34301 \
-e LLM_PROVIDER=deepseek \
-e DEEPSEEK_API_KEY=your-api-key \
-e ACE_SERVER_PORT=34301 \
-e API_BEARER_TOKEN=your-secure-token \
-v ace_contexts:/app/contexts \
-v ace_logs:/app/logs \
ace-mcp-server:latest
# View logs
docker logs -f ace-mcp-server
# Stop the container
docker stop ace-mcp-server
# Remove the container
docker rm ace-mcp-server注: 使用直接Docker构建时,您需要:
- 手动创建命名卷:
docker volume create ace_contexts和docker volume create ace_logs - 通过以下方式设置所有必需的环境变量
-e标志或使用--env-file .env - 如果需要连接到其他服务,请配置网络
🔧 配置
LLM提供商和模型
ACE支持6家不同型号的LLM提供商:
支持的提供商
- 深度求索 (推荐)⭐
- 供应商: deepseek - 默认型号: deepseek-chat (V3.2-Exp) - 嵌入模型: deepseek-embedding - 最适合:ACE框架性能,经济高效 - 定价:0.28/1M输入,0.42/1M输出代币 - 上下文:128K令牌,最大输出:32K(推理机模式) - 环境变量:
LLM_PROVIDER=deepseek
DEEPSEEK_API_KEY=sk-your-deepseek-api-key
DEEPSEEK_MODEL=deepseek-chat
DEEPSEEK_EMBEDDING_MODEL=deepseek-embedding- 开放人工智能
- 供应商: openai - 模型: gpt-4o, gpt-4, gpt-3.5-turbo - 嵌入模型: text-embedding-3-small, text-embedding-3-large - 环境变量:
LLM_PROVIDER=openai
OPENAI_API_KEY=sk-your-openai-api-key
OPENAI_MODEL=gpt-4o
OPENAI_EMBEDDING_MODEL=text-embedding-3-small- 安thropic克劳德
- 供应商: anthropic - 模型: claude-3-5-sonnet-20241022, claude-3-opus, claude-3-sonnet, claude-3-haiku - 环境变量:
LLM_PROVIDER=anthropic
ANTHROPIC_API_KEY=sk-ant-your-api-key
ANTHROPIC_MODEL=claude-3-5-sonnet-20241022- 谷歌双子座
- 供应商: gemini - 模型: gemini-1.5-pro, gemini-1.5-flash, gemini-pro - 环境变量:
LLM_PROVIDER=gemini
GOOGLE_API_KEY=your-google-api-key
GOOGLE_MODEL=gemini-1.5-pro- 米斯特拉尔
- 供应商: mistral - 模型: mistral-large-latest, mistral-medium-latest, mistral-small-latest - 环境变量:
LLM_PROVIDER=mistral
MISTRAL_API_KEY=your-mistral-api-key
MISTRAL_MODEL=mistral-large-latest- LM工作室 (本地/自托管)
- 供应商: lmstudio - 模型:任何与OpenAI API格式兼容的本地模型 - 环境变量:
LLM_PROVIDER=lmstudio
LMSTUDIO_BASE_URL=http://localhost:1234/v1
LMSTUDIO_MODEL=local-model环境变量
复制 .env.example 到 .env 并配置:
# LLM Provider Selection (required)
# Options: 'deepseek', 'openai', 'anthropic', 'gemini', 'mistral', 'lmstudio'
LLM_PROVIDER=deepseek
# Provider-specific API keys and models (see above for details)
DEEPSEEK_API_KEY=sk-your-deepseek-api-key
DEEPSEEK_MODEL=deepseek-chat
# Server Configuration
ACE_SERVER_PORT=34301
DASHBOARD_PORT=34300
API_BEARER_TOKEN=your-secure-token
# Docker Configuration
COMPOSE_PROJECT_NAME=ace-mcp
DOCKER_BUILDKIT=1有关完整的配置选项,请参阅 .env.example 文件。
______________________________________________________________________
安装和配置
光标AI
全局配置(所有用户和项目)-推荐
macOS/Linux:
- 创建或编辑全局MCP配置文件:
mkdir -p ~/Library/Application\ Support/Cursor/User/globalStorage
nano ~/Library/Application\ Support/Cursor/User/globalStorage/mcp.json- 添加以下配置:
{
"mcpServers": {
"ace-context-engineering": {
"command": "node",
"args": ["/absolute/path/to/ace-mcp-server/dist/index.js"],
"env": {
"LLM_PROVIDER": "deepseek",
"DEEPSEEK_API_KEY": "your-deepseek-api-key-here",
"API_BEARER_TOKEN": "your-secure-bearer-token-here",
"ACE_LOG_LEVEL": "info",
"ACE_CONTEXT_DIR": "./contexts"
}
}
}
}窗户:
{
"mcpServers": {
"ace-context-engineering": {
"command": "node",
"args": ["C:\\path\\to\\ace-mcp-server\\dist\\index.js"],
"env": {
"LLM_PROVIDER": "deepseek",
"DEEPSEEK_API_KEY": "your-deepseek-api-key-here",
"API_BEARER_TOKEN": "your-secure-bearer-token-here"
}
}
}
}Linux:
mkdir -p ~/.config/Cursor/User/globalStorage
nano ~/.config/Cursor/User/globalStorage/mcp.json项目特定配置
创建 .cursor/mcp.json 在项目根目录中:
{
"mcpServers": {
"ace-context-engineering": {
"command": "node",
"args": ["./ace-mcp-server/dist/index.js"],
"env": {
"LLM_PROVIDER": "deepseek",
"DEEPSEEK_API_KEY": "your-api-key",
"API_BEARER_TOKEN": "your-token"
}
}
}
}- 重新启动游标AI 以应用更改。
______________________________________________________________________
克劳德桌面版
安装
macOS:
~/Library/Application Support/Claude/claude_desktop_config.json窗户:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json配置
- 创建或编辑配置文件:
macOS/Linux:
mkdir -p ~/Library/Application\ Support/Claude # macOS
# or
mkdir -p ~/.config/Claude # Linux
nano ~/Library/Application\ Support/Claude/claude_desktop_config.json # macOS
# or
nano ~/.config/Claude/claude_desktop_config.json # Linux窗户:
New-Item -ItemType Directory -Force -Path "$env:APPDATA\Claude"
notepad "$env:APPDATA\Claude\claude_desktop_config.json"- 添加ACE配置:
{
"mcpServers": {
"ace-context-engineering": {
"command": "node",
"args": ["/absolute/path/to/ace-mcp-server/dist/index.js"],
"env": {
"LLM_PROVIDER": "deepseek",
"DEEPSEEK_API_KEY": "your-deepseek-api-key-here",
"API_BEARER_TOKEN": "your-secure-bearer-token-here",
"ACE_LOG_LEVEL": "info"
}
}
}
}- 重新启动克劳德桌面 以应用更改。
______________________________________________________________________
帆板运动
安装
macOS:
~/Library/Application Support/Windsurf/User/globalStorage/mcp.json窗户:
%APPDATA%\Windsurf\User\globalStorage\mcp.jsonLinux:
~/.config/Windsurf/User/globalStorage/mcp.json配置
- 打开风帆设置 → MCP服务器
- 添加ACE配置:
{
"mcpServers": {
"ace-context-engineering": {
"command": "node",
"args": ["/absolute/path/to/ace-mcp-server/dist/index.js"],
"env": {
"LLM_PROVIDER": "deepseek",
"DEEPSEEK_API_KEY": "your-api-key",
"API_BEARER_TOKEN": "your-token"
}
}
}
}- 重新启动Windsurf 以应用更改。
______________________________________________________________________
独立/CLI
作为独立服务器运行
您可以将ACE MCP服务器作为独立服务器运行:
# Using compiled JavaScript
node /path/to/ace-mcp-server/dist/index.js
# Using tsx (development)
npx tsx /path/to/ace-mcp-server/src/index.ts使用Docker
# Build and run
docker build -t ace-mcp-server:latest .
docker run -d \
--name ace-mcp-server \
-p 34301:34301 \
-e LLM_PROVIDER=deepseek \
-e DEEPSEEK_API_KEY=your-api-key \
-e API_BEARER_TOKEN=your-token \
ace-mcp-server:latest程序化使用
import { spawn } from 'child_process';
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
// Start ACE server
const transport = new StdioClientTransport({
command: 'node',
args: ['/path/to/ace-mcp-server/dist/index.js'],
env: {
LLM_PROVIDER: 'deepseek',
DEEPSEEK_API_KEY: 'your-api-key',
API_BEARER_TOKEN: 'your-token'
}
});
const client = new Client({
name: 'my-app',
version: '1.0.0'
}, {
capabilities: {}
});
// Connect to server
await client.connect(transport);
// List available tools
const tools = await client.listTools();
console.log('Available tools:', tools.tools.map(t => t.name));
// Call a tool
const result = await client.callTool({
name: 'ace_smart_generate',
arguments: {
prompt: 'Create a REST API endpoint for user authentication'
}
});
console.log('Generated code:', result.content);______________________________________________________________________
可用的MCP工具
ACE MCP服务器提供 4个综合工具:
ace_smart_generate-利用ACE洞察自动生成增强代码
- 参数: prompt (必填), context (可选), auto_enhance (可选,默认值:true) - 利用积累的剧本知识来增强代码生成
ace_smart_reflect-自动分析代码并提出改进建议
- 参数: code (必填), auto_suggest (可选,默认值:true) - 根据最佳实践提供可操作的改进建议
ace_context_aware-获取与上下文相关的建议
- 参数: query (必填), domain (可选) - 提供特定领域的帮助(web、api、数据库、前端、后端等)
ace_enhance_prompt-利用剧本知识增强提示
- 参数: prompt (必填), focus_area (可选) - 使用积累的知识自动改进提示
______________________________________________________________________
🤝 贡献
📄 许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
🔗 链接
______________________________________________________________________
ACE MCP服务器-让AI开发更智能,一次一个交互。 🚀
