智能代码生成与分析工具

ACE MCP Server 是一个智能开发助手,通过学习用户的编码模式自动增强开发工作流程,提供上下文感知的代码生成、智能分析和自我改进的建议。

  • by Angry-Robot-Deals
  • TypeScript
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 Angry-Robot-Deals/ace-mcp

使用说明

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. 生成 情境发展轨迹
  2. 反映 关于提取见解和模式的代码
  3. 助理牧师 将知识转化为自我提升的剧本
  4. 增强 积累智慧的未来互动

📚 文档

🚀 入门指南

⚙️ 设置和配置

🚀 部署

📖 项目文件

⚡ 快速开始

1.克隆和设置

git clone https://github.com/Angry-Robot-Deals/ace-mcp.git
cd ace-mcp
cp .env.example .env
# Edit .env with your configuration

2.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 down

3.配置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_playbook

5.查看播放手册

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.mjs

Docker测试

# 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提供商:

支持的提供商

  1. 深度求索 (推荐)⭐

    • 供应商: 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
      
  2. 开放人工智能

    • 供应商: 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
      
  3. 安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
      
  4. 谷歌双子座

    • 供应商: 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
      
  5. 米斯特拉尔

    • 供应商: 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
      
  6. 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:

  1. 创建或编辑全局MCP配置文件:
mkdir -p ~/Library/Application\ Support/Cursor/User/globalStorage
nano ~/Library/Application\ Support/Cursor/User/globalStorage/mcp.json
  1. 添加以下配置:
{
  "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"
      }
    }
  }
}
  1. 重新启动游标AI 以应用更改。

克劳德桌面版

安装

macOS:

~/Library/Application Support/Claude/claude_desktop_config.json

窗户:

%APPDATA%\Claude\claude_desktop_config.json

Linux:

~/.config/Claude/claude_desktop_config.json

配置

  1. 创建或编辑配置文件:

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"
  1. 添加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"
      }
    }
  }
}
  1. 重新启动克劳德桌面 以应用更改。

帆板运动

安装

macOS:

~/Library/Application Support/Windsurf/User/globalStorage/mcp.json

窗户:

%APPDATA%\Windsurf\User\globalStorage\mcp.json

Linux:

~/.config/Windsurf/User/globalStorage/mcp.json

配置

  1. 打开风帆设置 → MCP服务器
  2. 添加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"
      }
    }
  }
}
  1. 重新启动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个综合工具:

  1. ace_smart_generate -利用ACE洞察自动生成增强代码

    • 参数: prompt (必填), context (可选), auto_enhance (可选,默认值:true)
    • 利用积累的剧本知识来增强代码生成
  2. ace_smart_reflect -自动分析代码并提出改进建议

    • 参数: code (必填), auto_suggest (可选,默认值:true)
    • 根据最佳实践提供可操作的改进建议
  3. ace_context_aware -获取与上下文相关的建议

    • 参数: query (必填), domain (可选)
    • 提供特定领域的帮助(web、api、数据库、前端、后端等)
  4. ace_enhance_prompt -利用剧本知识增强提示

    • 参数: prompt (必填), focus_area (可选)
    • 使用积累的知识自动改进提示

🤝 贡献

  1. 阅读文档 -从以下内容开始 项目概述
  2. 遵循最佳实践 -回顾 开发指南
  3. 提交PR - 遵循我们的贡献指南

📄 许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

🔗 链接


ACE MCP服务器-让AI开发更智能,一次一个交互。 🚀