ACE-MCP
Allows using OpenAI-compatible API for LLM-powered code search, question answering, and reranking, including support for embeddings and chat completions.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ACE-MCPfind all references to the UserService class in my Java project"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ace-mcp
本地代码搜索 MCP Server,面向 Java、JavaScript/TypeScript、.NET/C#、Python 项目,支持本地扫描、增量索引、全文/符号/路径搜索,并通过标准 MCP 协议把结果提供给 AI 客户端。
当前版本:v4.4.4
更新日志见 CHANGELOG.md。
核心功能
代码搜索
本地项目扫描与
.gitignore过滤增量索引,文件监听自动重新索引(2500ms 防抖)
SQLite + FTS5全文检索语义召回(本地语义词扩展 + 远程 Embedding API 支持)
懒加载向量索引与项目级向量缓存
结构化查询语言:
AND/OR/NOT+symbol:/path:/content:JavaScript/TypeScript AST 级分析,Java / Python / .NET 增强轻量符号、import、usage 抽取
语言级 definition/reference 解析、跨文件引用精度提升与多跳调用关系图
搜索质量指标:
passRate/top1Recall/top5Recall/meanReciprocalRank
智能问答 (RAG)
LLM 流式问答:SSE 逐 token 显示,支持多轮对话追问
调用链分析:自动提取搜索结果中符号的上下游调用关系,作为额外上下文传递给 LLM
调用链可视化:Mermaid 流程图展示函数调用关系
可配置参考代码数量:用户可自行选择检索源数量(1~50),前端选择直接生效
LLM Reranker(可选):使用 LLM 对搜索结果二次排序,提升搜索精度
LLM 响应缓存:相同问题 5 分钟内直接返回缓存结果,节省 token
代码引用高亮:
[N]引用可点击跳转到对应源码卡片思考过程展示:DeepSeek 模型的 reasoning_content 实时显示
代码摘要生成:自动生成项目架构概览和模块摘要
MCP 工具
search_context/find_definition/find_references/find_callers/find_calleesevaluate_search_quality/index_project/get_file_snippet/project_statsgenerate_summary/get_summary/ask_codebase/warm_indexcache_stats/clear_project_index/list_symbols
使用示例
Copilot 提示词模板:
example/copilot-prompts.mdClaude Code 提示词模板:
example/claude-code-prompts.md
环境要求
Node.js
>= 18.18.0npm
>= 9
安装
npm install构建
npm run build查看当前版本:
node dist/index.js --version本地运行
作为 MCP Server 启动
npm start启动 MCP Server 并开启 Web 调试面板
npm start -- --web-port 8787启动后可访问:
http://127.0.0.1:8787/http://127.0.0.1:8787/healthhttp://127.0.0.1:8787/api/runtime
MCP 客户端配置示例
以 Claude Desktop 或其他支持 MCP 的客户端为例:
{
"mcpServers": {
"ace-mcp": {
"command": "node",
"args": [
"/Users/fengandrew/code/ace-mcp/dist/index.js"
]
}
}
}若需要同时开启 Web 调试面板:
{
"mcpServers": {
"ace-mcp": {
"command": "node",
"args": [
"/Users/fengandrew/code/ace-mcp/dist/index.js",
"--web-port",
"8787"
]
}
}
}宿主升级与重连建议
升级
dist/或切换到新版本包后,需在 MCP 宿主侧执行一次 reload / reconnect,让宿主拉起新的ace-mcp进程。若怀疑宿主仍连着旧进程,可先执行
node dist/index.js --version确认版本,再访问/health或/api/runtime检查当前进程的version、pid与uptimeMs。若宿主需要并行调试,可在配置中加上
--web-port 8787,通过 HTTP 接口独立验证。
配置文件
首次运行会自动创建:
~/.ace-mcp/
settings.toml
data/index.db
log/ace-mcp.log配置示例:
autoWatch = true
batchSize = 32
defaultTopK = 8
enableVectorSearch = true
maxFileSizeKb = 1024
maxLinesPerChunk = 220
logLevel = "info"
textExtensions = [".java", ".js", ".jsx", ".ts", ".tsx", ".cs", ".py"]
excludePatterns = [".git", "node_modules", "dist", "build", "target", "bin", "obj", "__pycache__", ".venv"]
vectorIndexingMode = "lazy"
# LLM 配置(支持 OpenAI 兼容接口)
llmApiUrl = "https://api.deepseek.com/v1/chat/completions"
llmApiKey = "sk-xxx"
llmModel = "deepseek-reasoner"
llmMaxTokens = 4096
llmTemperature = 0.0也支持环境变量覆盖:
ACE_MCP_BATCH_SIZEACE_MCP_DEFAULT_TOP_KACE_MCP_ENABLE_VECTOR_SEARCHACE_MCP_MAX_FILE_SIZE_KBACE_MCP_MAX_LINES_PER_CHUNKACE_MCP_LOG_LEVELACE_MCP_TEXT_EXTENSIONSACE_MCP_EXCLUDE_PATTERNSACE_MCP_VECTOR_INDEXING_MODEACE_MCP_AUTO_WATCHACE_MCP_LLM_API_URLACE_MCP_LLM_API_KEYACE_MCP_LLM_MODEL
v4.3.6 新增配置项
Ask Codebase 限制配置(解决查询不准确问题):
ACE_MCP_QA_MAX_SOURCES_DEFAULT- 默认检索源数量(默认 10)ACE_MCP_QA_MAX_SOURCES_MAX- 最大检索源数量上限(默认 50)ACE_MCP_QA_MAX_CONTEXT_TOKENS- LLM 上下文 token 预算(默认 6000)ACE_MCP_SEARCH_PER_FILE_LIMIT- 每个文件最多保留的搜索结果数(默认 2)ACE_MCP_SEARCH_FANOUT_MULTIPLIER- 搜索候选集扩展倍数(默认 3)
远程 Embedding API
通过环境变量配置远程 Embedding API,用于语义搜索的向量生成:
ACE_MCP_EMBEDDING_PROVIDER=remote \
ACE_MCP_EMBEDDING_API_URL=https://api.openai.com/v1/embeddings \
ACE_MCP_EMBEDDING_API_KEY=sk-xxx \
ACE_MCP_EMBEDDING_MODEL=text-embedding-3-small \
ace-mcp --web-port 8787远程 API 请求失败时自动回退到本地内存哈希向量,保证搜索可用性。
Web 调试面板
Web 面板提供完整的可视化调试体验:
智能问答
Ask Codebase:基于 RAG 的代码问答,支持流式输出
多轮对话:自动保留上下文,支持追问
代码引用:
[N]引用可点击跳转会话统计:显示 token 用量和请求次数
代码搜索
交互式搜索:支持所有搜索模式和过滤条件
语法高亮:搜索词和代码语法高亮显示
搜索历史:点击历史记录快速填充
项目管理
项目列表:持久化存储,支持删除
索引控制:手动触发索引和向量预热
代码摘要:生成和查看项目摘要
主要接口
GET /health- 健康检查GET /api/runtime- 运行时信息GET /api/config- 配置信息GET /api/tools- 工具列表GET /api/projects- 已索引项目GET /api/project-stats- 项目统计POST /api/index-project- 触发索引POST /api/search-context- 代码搜索POST /api/find-definition- 定义查找POST /api/find-references- 引用查找POST /api/find-callers- 调用者查找POST /api/find-callees- 被调用者查找POST /api/qa/ask- 代码问答GET /api/qa/ask/stream- 流式问答 (SSE)POST /api/summary/generate- 生成摘要GET /api/summary- 获取摘要POST /api/index/warm- 向量预热GET/POST /api/llm/config- LLM 配置
版本历史
v4.4.2(当前版本)
HNSW 向量搜索:纯 JS 实现 HNSW 近似最近邻索引,搜索复杂度从 O(n) 降到 O(log n),大型项目性能显著提升
调用链深度增强:支持 1-3 跳调用关系追踪,递归展开上下游调用链
Web 质量评估界面:新增搜索质量评估面板,支持测试用例管理、批量评估、指标可视化
v4.4.0
符号级语义索引:索引阶段自动为英文符号名生成中文语义标签(200+ 词汇表翻译),写入
chunk_semantic_fts,使 FTS 天然支持中文搜索匹配英文代码双轮搜索策略:QA 问答先用原始查询搜索(受益于语义标签),再用 LLM 扩展的英文关键词补充搜索,两轮结果合并去重
中英文同义词扩充:70+ 组中英文双向同义词映射,中文查询"出票"自动扩展匹配 "ticket"
v4.3.9
LLM 查询扩展:中文自然语言查询自动提取英文代码关键词(类名、方法名),解决跨语言搜索匹配问题
索引超时保护:
ensureFreshIndex和 in-flight promise 复用均添加超时,避免卡住的索引阻塞搜索projectQueue 清理 bug 修复:修复等式比较永远为 false 导致的队列泄漏
v4.3.8
全文件/合并文件上下文模式:
ask_codebase支持contextMode参数,解决跨函数问答信息缺失统一 QA 管线:MCP
ask_codebase与 Web QA 共用完整管线(reranker、调用链、缓存、smart topK)搜索 Reranker 通用化:MCP
search_context新增enableReranker参数动态 perFileLimit:根据查询类型自动调整每文件结果数
v4.3.0
智能 Sources 数量:根据问题复杂度自动调整检索源数量
LLM 响应缓存:相同问题 5 分钟内直接返回缓存结果
思考过程展示:DeepSeek reasoning_content 实时显示
v4.2.x
流式问答:SSE 逐 token 输出
多轮对话:支持上下文追问
代码引用高亮:
[N]引用可点击跳转中文界面:全新设计的中文 Web 面板
搜索结果懒加载:代码 snippet 折叠显示
错误分类展示:区分网络/超时/LLM/索引错误
Token 统计:会话级 token 累计统计
v4.0.x
代码知识库:摘要生成、语义问答 RAG、文档联合索引
LLM API 集成:支持 OpenAI 兼容接口
v3.x
语言级符号解析:definition/reference、调用关系图
结构化查询:布尔运算和字段限定
向量搜索:语义召回、候选预过滤
索引优化:新鲜度策略、缓存管理
路线图
查询扩展缓存:相似问题复用 LLM 提取的关键词,减少 token 消耗
根目录索引防护:拒绝对
/、$HOME等过大路径的索引请求,从源头杜绝卡死索引健康监控:
/health端点暴露 in-flight 索引列表和耗时语言适配器插件化:Java/Python/.NET/JS 符号提取拆成独立插件,方便扩展 Go/Rust 等
开发建议
如果继续增强,建议按以下顺序推进:
sqlite-vss/ ANN 等更高效的向量搜索后端更丰富的 Web 结果分析、质量回放与对比界面
更深的调用关系与引用精度
更细的语言适配器拆分
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/0215AndrewFeng/ACE-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server