代码智能分析服务

一款为AI编程助手提供智能代码分析和上下文检索的模型上下文协议(MCP)服务器,支持语义搜索、图-RAG、调用链分析等功能。

  • by Darkbluelr
  • Shell
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 Darkbluelr/code-intelligence-mcp

使用说明

代码智能MCP服务器

一种模型上下文协议(MCP)服务器,为AI编码助手提供智能代码分析和上下文检索。

这是什么?

Code Intelligence MCP Server通过以下方式增强了AI编码助手对代码库的深入理解:

  • 语义搜索:按含义查找代码,而不仅仅是关键字
  • 图表RAG:使用知识图进行上下文感知代码检索
  • 呼叫链分析:跟踪函数依赖关系和影响
  • 智能上下文:自动将相关代码片段注入AI对话中

非常适合与Claude Code、Cline或任何兼容MCP的AI助手一起使用。

快速开始

安装

通过npm (推荐):

npm install -g @ozbombor/code-intelligence-mcp

通过git:

git clone https://github.com/Darkbluelr/code-intelligence-mcp.git
cd code-intelligence-mcp
./install.sh

需求

  • Node.js>=18.0.0
  • Bash shell
  • ripgrep (可选,以便更快地搜索)
  • jq公司 (可选,用于JSON处理)

用法

作为MCP服务器 (推荐):

添加到MCP客户端配置中:

{
  "mcpServers": {
    "code-intelligence": {
      "command": "code-intelligence-mcp",
      "args": []
    }
  }
}

命令行:

ci-search "find authentication code"
ci-search --help

核心功能

语义代码搜索

# Natural language queries
ci-search "how does user authentication work"

图形RAG上下文检索

# Get relevant context with smart pruning
ci_graph_rag --query "fix login bug" --budget 8000

呼叫链追踪

# Trace function dependencies
ci_call_chain --symbol "handleLogin" --depth 3

影响分析

# Analyze change impact
ci_impact --file "src/auth.ts"

Bug位置

# Intelligent bug locator
ci_bug_locate --error "TypeError: Cannot read property 'user'"

可用的MCP工具

工具 说明
ci_search 嵌入语义代码搜索
ci_graph_rag 基于图的智能剪枝上下文检索
ci_call_chain 函数调用链跟踪
ci_bug_locate 具有影响分析的智能错误定位
ci_complexity 代码复杂性分析
ci_hotspot 高流失文件检测
ci_impact 具有置信度衰减的传递性影响分析
ci_arch_check 架构规则验证
ci_vuln 漏洞扫描和依赖关系跟踪
ci_index_status 管理嵌入索引(状态/构建/清除)
ci_boundary 代码边界检测(用户/库/生成)
ci_graph_store 图形存储操作(初始化/查询/统计)
ci_federation 交叉评审API合同跟踪
ci_ast_delta 增量AST解析
ci_cod 架构可视化(Mermaid/D3.js)
ci_intent 查询历史和偏好学习

20+工具可用 -每个工具都支持 --help 详细用法。

配置

嵌入提供者

服务器支持多个具有自动回退功能的嵌入提供程序:

三层回退策略:

  1. 奥拉玛 (本地,免费)→ 首选,无网络延迟,隐私安全
  2. OpenAI API (云,付费)→ Ollama不可用时自动回退
  3. 关键词搜索 → 没有可用嵌入服务时的最终回退

选项1:Ollama(建议当地使用)

安装:

# Install Ollama
curl -fsSL https://ollama.com/install.sh | sh

# Pull the embedding model
ollama pull nomic-embed-text

配置:

# .devbooks/config.yaml
embedding:
  provider: ollama  # or 'auto' for automatic detection
  ollama:
    model: nomic-embed-text
    endpoint: http://localhost:11434
    timeout: 30

用途:

# Build the embedding index
ci-search build

# Search with Ollama
ci-search "authentication code"

选项2:OpenAI API(云)

设置:

# Set your API key
export OPENAI_API_KEY="sk-..."

配置:

# .devbooks/config.yaml
embedding:
  provider: openai
  openai:
    model: text-embedding-3-small
    api_key: ${OPENAI_API_KEY}  # or set directly
    base_url: https://api.openai.com/v1
    timeout: 30

用途:

# Build index with OpenAI
ci-search build

# Or force OpenAI for a single search
ci-search "user authentication" --provider openai

选项3:关键字搜索(无需设置)

关键字搜索无需任何配置即可开箱即用:

# Force keyword search
ci-search "error handling" --provider keyword

高级配置

自动提供程序检测:

# .devbooks/config.yaml
embedding:
  provider: auto  # Tries Ollama → OpenAI → Keyword
  fallback_to_keyword: true
  auto_build: true

命令行覆盖:

# Override provider for a single search
ci-search "test" --provider ollama --ollama-model mxbai-embed-large

# JSON output with custom settings
ci-search "payment" --format json --top-k 10 --threshold 0.7

环境变量:

  • OPENAI_API_KEY -OpenAI API密钥
  • EMBEDDING_API_KEY -通用嵌入API密钥
  • PROJECT_ROOT -项目根目录

可选功能

所有功能都会优雅地降级:

  • 没有嵌入? 回到关键字搜索
  • 没有SCIP指数? 使用正则表达式解析
  • 没有外部工具? 核心功能仍然有效
  • 没有git历史? 热点分析已禁用

这意味着您可以立即开始使用MCP服务器,无需任何配置。

文档

有关高级用法,请参阅本地文档:

  • 完整的工具参考和示例
  • 架构和系统设计
  • 性能调优指南
  • 故障排除提示

跑 ./install.sh 在本地访问完整文档。

例子

自动上下文注入

为Claude代码启用自动上下文注入:

ci-setup-hook

这将安装一个钩子,当您与Claude交互时,该钩子会自动注入相关的代码上下文,使您的AI助手更了解您的代码库,而无需手动查询。

自定义查询

# Search with specific mode
ci-search "user service" --mode semantic --limit 5

# Trace call chains
ci_call_chain --symbol "processPayment" --direction both

# Check architecture
ci_arch_check --path src/

演示套件

运行带有A/B比较的全面演示:

# Run quick comparison demo
bash demo/00-quick-compare.sh

# Run all demos
bash demo/run-suite.sh

# Compare versions (if available)
bash demo/compare.sh baseline.json current.json

演示套件展示了:

  • 自动上下文注入与手动查询
  • 语义搜索和图形RAG功能
  • 性能基准和指标
  • 不同配置之间的A/B比较

演出

指标由以下因素生成 python3 benchmarks/run_benchmarks.py 进入 benchmark_result.json. 使用 python3 benchmarks/update_readme.py 刷新此部分。

更新时间:2026-01-24T06:27:38+00:00

度量 值 注释
语义搜索P95延迟 222毫秒 迭代次数=3
RAG冷P95延迟图 862.64 ms 迭代次数=3
RAG暖P95延迟图 69.37毫秒 迭代次数=3
图表RAG加速 91.96% 冷与暖
检索MRR@10 0.4264 数据集=自身,查询=12
检索Recall@10 1.0 数据集=自我,查询=12
检索Precision@10 0.3377 数据集=自我,查询=12
检索P95延迟 6.10ms 数据集=自我,查询=12
缓存命中P95延迟 75毫秒 迭代次数=20
完整查询P95延迟 89毫秒 迭代次数=20
预提交阶段P95 35毫秒 迭代次数=20
预承诺时间P95 27毫秒 迭代次数=20
压缩延迟 8.95ms 迭代次数=1

贡献

欢迎投稿!请阅读 CONTRIBUTING.md 第一。

许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

致谢

内置:模型上下文协议、树保姆、SCIP


需要帮助?在您的回购或支票上开立一个问题 docs/TECHNICAL.md.