Codecompass MCP
安装
工具列表
内容详情
替代品
安装
复制以下命令到你的Client进行配置
{
"mcpServers": {
"codecompass": {
"command": "docker",
"args": [
"exec", "-i", "codecompass-mcp",
"node", "build/index.js"
],
"env": {
"GITHUB_TOKEN": "your_github_token_here",
"OPENROUTER_API_KEY": "your_openrouter_key_here"
}
}
}
}注意:您的密钥属于敏感信息,请勿与任何人分享。
🚀 CodeCompass MCP
CodeCompass MCP 是一款企业级的模型上下文协议(MCP)服务器,可用于智能仓库分析和由 AI 驱动的开发辅助。它能将你的开发工具与全面的 GitHub 仓库分析相连接,提供 11 个简化工具、增强的错误处理、实时监控以及可用于生产环境的部署方案。
🚀 快速开始
逐步进行 Docker 设置(推荐)
1. 克隆并进入项目目录
git clone https://github.com/TheAlchemist6/codecompass-mcp.git
cd codecompass-mcp
预期输出:
Cloning into 'codecompass-mcp'...
remote: Enumerating objects: 53, done.
remote: Total 53 (delta 0), reused 0 (delta 0), pack-reused 53
Receiving objects: 100% (53/53), 259.84 KiB | 1.85 MiB/s, done.
2. 配置环境
cp .env.example .env
# 使用你真实的 API 密钥编辑 .env 文件
nano .env # 或者使用你喜欢的编辑器
.env 文件中必需的配置:
GITHUB_TOKEN=ghp_your_actual_github_token_here
OPENROUTER_API_KEY=sk-or-v1-your_actual_openrouter_key_here
🔑 获取 API 密钥的位置:
- GitHub 令牌:github.com/settings/tokens → 生成新的经典令牌 → 选择
repo权限范围 - OpenRouter 密钥:openrouter.ai/keys → 创建新的 API 密钥
3. 构建并运行
./scripts/docker-build.sh
./scripts/docker-run.sh --env-file .env
预期输出:
✅ Build successful
Image information:
REPOSITORY TAG IMAGE ID CREATED SIZE
codecompass-mcp latest a1b2c3d4e5f6 2 seconds ago 278MB
🚀 Starting CodeCompass MCP server...
✅ Server started successfully
Health check: healthy
API limits: 5000/hour remaining
4. 测试安装
# 使用健康检查进行测试
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "health_check"}}' | docker exec -i codecompass-mcp node build/index.js
平台支持
- ✅ Linux(Ubuntu 18.04+、CentOS 7+)
- ✅ macOS(10.14+,支持 Intel 和 Apple Silicon)
- ✅ Windows(10/11 搭配 Docker Desktop)
其他安装方法
本地开发
# 安装依赖
npm install
# 设置环境变量
export GITHUB_TOKEN=your_github_token
export OPENROUTER_API_KEY=your_openrouter_key
# 构建并运行
npm run build && npm run dev
全局安装
npm install -g codecompass-mcp
codecompass-mcp --help
✨ 主要特性
- 🔍 全面的仓库分析 - 深入洞察代码结构、依赖关系和架构
- 🤖 AI 驱动的代码审查 - 通过集成 OpenRouter(支持 400 多个模型)进行智能代码分析
- 🚀 可用于生产环境的部署 - 使用遵循安全最佳实践的 Docker 容器
- 📊 实时监控 - 提供性能指标、健康检查和可观测性
- 🛡️ 企业级安全 - 输入验证、防止路径遍历和安全处理
- ⚡ 高性能 - 智能分块、并发处理和响应优化
- 🔧 良好的开发者体验 - 提供全面的文档、示例和调试工具
🔧 配置
必需的环境变量
GITHUB_TOKEN=ghp_your_github_token_here # 用于访问 GitHub API
OPENROUTER_API_KEY=sk-or-v1-your_key_here # 用于访问 OpenRouter API
可选配置
AI_MODEL=anthropic/claude-3.5-sonnet # 默认的 AI 模型
MAX_RESPONSE_TOKENS=25000 # 响应大小限制
LOG_LEVEL=info # 日志级别
NODE_ENV=production # 环境模式
🛠️ 可用工具
核心数据工具(6 个工具)
get_repository_info- 获取仓库元数据、统计信息和关键信息get_file_tree- 获取完整的目录结构和文件列表,并支持过滤search_repository- 使用正则表达式模式和过滤进行高级搜索get_file_content- 批量处理文件,包含安全验证和元数据analyze_dependencies- 分析依赖关系图并检测漏洞analyze_codebase- 全面分析代码结构、架构和指标
AI 增强工具(3 个工具)
review_code- AI 驱动的代码审查,提供安全、性能和可维护性方面的洞察explain_code- 用自然语言解释代码并生成文档suggest_improvements- 提供智能重构建议和现代化策略
转换工具(1 个工具)
transform_code- 提供代码转换、现代化和迁移辅助
实用工具(1 个工具)
health_check- 监控系统健康状况和性能指标
🐳 Docker 集成
生产环境部署
# 构建生产环境镜像
./scripts/docker-build.sh
# 使用环境文件运行
./scripts/docker-run.sh --env-file .env
# 查看日志
./scripts/docker-logs.sh -f --timestamps
Docker Compose
version: '3.8'
services:
codecompass-mcp:
build: .
container_name: codecompass-mcp
restart: unless-stopped
environment:
- GITHUB_TOKEN=${GITHUB_TOKEN}
- OPENROUTER_API_KEY=${OPENROUTER_API_KEY}
- NODE_ENV=production
healthcheck:
test: ["CMD", "node", "-e", "console.log('Health check')"]
interval: 30s
timeout: 10s
retries: 3
MCP 客户端集成
Claude 桌面端配置
在你的 Claude 桌面端配置文件中添加以下内容:
macOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"codecompass": {
"command": "docker",
"args": [
"exec", "-i", "codecompass-mcp",
"node", "build/index.js"
],
"env": {
"GITHUB_TOKEN": "your_github_token_here",
"OPENROUTER_API_KEY": "your_openrouter_key_here"
}
}
}
}
然后重启 Claude 桌面端,你将在 UI 中看到 CodeCompass 工具。
Claude 代码 CLI 集成
# 将 MCP 服务器添加到 Claude 代码中
claude mcp add codecompass-docker -s user -- \
docker exec -i codecompass-mcp node build/index.js
其他 MCP 客户端
- Cline(VS Code):添加到 MCP 配置中
- Continue(VS Code/JetBrains):配置为 MCP 提供者
- 自定义客户端:使用
stdio传输方式,调用node build/index.js
测试集成
# 测试连接
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}' | docker exec -i codecompass-mcp node build/index.js
# 应该返回 11 个工具的列表
📊 监控与可观测性
实时仪表盘
# 交互式监控仪表盘
./scripts/monitor.js --watch
# 导出指标
./scripts/monitor.js --export > metrics.json
# 健康检查
curl -X POST http://localhost:3000/health
性能指标
- 响应时间:健康检查小于 100ms,仓库分析 2 - 10s
- 内存使用:根据仓库大小,使用 50 - 200MB
- 并发处理:可配置并发限制并支持自动扩展
- 错误跟踪:全面的错误监控,并提供上下文建议
健康监控
{
"name": "health_check",
"arguments": {
"checks": ["api-limits", "monitoring", "configuration"],
"options": {
"include_metrics": true,
"include_insights": true
}
}
}
💻 使用示例
仓库分析
{
"name": "fetch_repository_data",
"arguments": {
"url": "https://github.com/microsoft/typescript",
"options": {
"include_structure": true,
"include_dependencies": true,
"max_files": 100,
"chunk_mode": true
}
}
}
AI 代码审查
{
"name": "ai_code_review",
"arguments": {
"url": "https://github.com/your-org/your-repo",
"file_paths": ["src/main.ts", "src/utils/"],
"review_focus": ["security", "performance", "maintainability"],
"options": {
"ai_model": "anthropic/claude-3.5-sonnet",
"severity_threshold": "medium"
}
}
}
批量文件处理
{
"name": "get_file_content",
"arguments": {
"url": "https://github.com/your-org/your-repo",
"file_paths": ["src/", "docs/", "tests/"],
"options": {
"max_concurrent": 10,
"include_metadata": true,
"continue_on_error": true
}
}
}
🏗️ 架构
面向服务的设计
MCP 客户端 → MCP 服务器 → 服务层 → 外部 API
↓
监控与日志记录
关键组件
- MCP 服务器:使用 JSON-RPC 协议处理 11 个简化工具
- 服务层:集成 GitHub API、OpenRouter 并包含业务逻辑
- 配置:集中式、类型安全的配置,使用 Zod 进行验证
- 监控:实时跟踪性能和健康状况
- 安全:输入验证、防止路径遍历和安全处理
🔒 安全特性
输入验证
- Zod 模式验证:对所有工具进行类型安全的输入验证
- 防止路径遍历:全面检查文件路径的安全性
- 速率限制:可配置请求速率限制和节流
- API 密钥管理:安全处理环境变量
容器安全
- 非根用户执行:所有容器以非特权用户身份运行
- 只读文件系统:采用注重安全的容器配置
- 资源限制:设置内存和 CPU 约束以确保稳定性
- 健康检查:自动进行健康监控和恢复
🎯 性能优化
智能响应管理
- 分块处理:将大响应拆分为可管理的块
- 截断处理:智能截断,保留数据结构
- 并发处理:并行处理文件,可配置并发限制
- 缓存:对频繁访问的数据采用智能缓存策略
资源管理
- 内存效率:优化内存使用并自动清理
- 请求跟踪:使用关联 ID 进行分布式跟踪
- 性能洞察:自动进行性能分析并提供建议
- 可扩展性:使用 Docker 容器支持水平扩展
📚 详细文档
完整的文档套件
- 设置指南 - 安装和配置说明
- API 参考 - 完整的工具文档和示例
- Docker 指南 - 容器部署和管理
- 监控指南 - 可观测性和性能监控
- 架构指南 - 技术架构和模式
示例和模板
- 使用示例 - 实际使用模式和模板
- 集成示例 - MCP 客户端集成示例
- 配置模板 - 可用于生产环境的配置示例
🤝 贡献
我们欢迎贡献!请查看我们的 贡献指南,了解以下详细信息:
- 开发设置和工作流程
- 代码风格和测试要求
- 拉取请求流程和指南
- 错误报告和功能请求
开发设置
# 克隆并设置项目
git clone https://github.com/your-org/codecompass-mcp.git
cd codecompass-mcp
# 安装依赖
npm install
# 运行测试
npm test
# 启动开发服务器
npm run dev:watch
🔄 路线图
当前版本(1.0.0)
- ✅ 11 个简化的原子工具,职责明确
- ✅ 可用于生产环境的 Docker 部署
- ✅ 实时监控和可观测性
- ✅ 企业级安全特性
- ✅ 完整的文档套件
未来增强功能
- 🔮 对话上下文管理 - 会话状态和对话历史记录
- 🔮 高级缓存 - 基于 Redis 的智能缓存,支持失效机制
- 🔮 插件系统 - 可扩展架构,支持自定义工具
- 🔮 多语言支持 - 除 TypeScript/JavaScript 外,支持更多语言
- 🔮 Kubernetes 集成 - 使用 Helm 图表进行原生 Kubernetes 部署
📄 许可证
本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。
🙏 致谢
- OpenRouter MCP - 提供架构模式和最佳实践灵感
- MCP 协议 - 作为工具集成和通信的基础
- Anthropic - 支持 Claude AI 集成和开发
- GitHub - 用于仓库分析和 API 集成
- Docker - 提供容器化和部署基础设施
🆘 支持
获取帮助
- 文档:查看
docs/目录下的全面文档 - 问题反馈:在 GitHub Issues 上报告错误和请求功能
- 讨论:加入 GitHub Discussions 参与社区讨论
常见问题
- API 密钥设置:参阅 设置指南
- Docker 问题:查看 Docker 指南
- 性能问题:参考 监控指南
🚀 构建工具
- TypeScript - 类型安全的 JavaScript 开发
- Node.js - JavaScript 运行时环境
- Docker - 容器化平台
- Zod - 基于 TypeScript 的模式验证
- MCP SDK - 模型上下文协议实现
由 Myron Labs 用心打造 💜
借助智能仓库分析和 AI 驱动的代码洞察,改变你的开发工作流程。
get_repository_info
获取仓库基本信息
参数
url : string*
描述
仓库URL
参数
options : object*
描述
可选参数
get_file_tree
获取文件目录树
参数
url : string*
描述
仓库URL
参数
options : object*
描述
可选参数
search_repository
搜索仓库内容
参数
url : string*
描述
仓库URL
参数
query : string*
描述
搜索关键词
参数
search_type : string*
描述
搜索类型
参数
options : object*
描述
可选参数
get_file_content
获取文件内容
参数
url : string*
描述
仓库URL
参数
file_paths : array*
描述
文件路径数组
参数
options : object*
描述
可选参数
analyze_codebase
分析代码库结构
参数
url : string*
描述
仓库URL
参数
file_paths : array*
描述
指定文件路径数组
参数
options : object*
描述
可选参数
analyze_dependencies
分析依赖关系
参数
url : string*
描述
仓库URL
参数
options : object*
描述
可选参数
review_code
代码审查
参数
url : string*
描述
仓库URL
参数
file_paths : array*
描述
指定文件路径数组
参数
review_focus : array*
描述
审查重点领域
参数
options : object*
描述
可选参数
explain_code
代码解释
参数
url : string*
描述
仓库URL
参数
file_paths : array*
描述
指定文件路径数组
参数
explanation_type : string*
描述
解释类型
参数
options : object*
描述
可选参数
suggest_improvements
改进建议
参数
url : string*
描述
仓库URL
参数
file_paths : array*
描述
指定文件路径数组
参数
refactoring_goals : array*
描述
重构目标
参数
target_framework : string*
描述
目标框架
参数
options : object*
描述
可选参数
transform_code
代码转换
参数
code : string*
描述
源代码
参数
transformations : array*
描述
转换规则
参数
language : string*
描述
源语言
参数
target_language : string*
描述
目标语言
参数
options : object*
描述
可选参数
health_check
健康检查
参数
checks : array*
描述
检查项
参数
options : object*
描述
可选参数
替代品
K
Klavis
Klavis AI是一个开源项目,提供在Slack、Discord和Web平台上简单易用的MCP(模型上下文协议)服务,包括报告生成、YouTube工具、文档转换等多种功能,支持非技术用户和开发者使用AI工作流。
TypeScript
9.2K
5分
M
MCP
微软官方MCP服务器,为AI助手提供最新微软技术文档的搜索和获取功能
10.0K
5分
A
Aderyn
Aderyn是一个开源的Solidity智能合约静态分析工具,由Rust编写,帮助开发者和安全研究人员发现Solidity代码中的漏洞。它支持Foundry和Hardhat项目,可生成多种格式报告,并提供VSCode扩展。
Rust
5.9K
5分
D
Devtools Debugger MCP
Node.js调试器MCP服务器,提供基于Chrome DevTools协议的完整调试功能,包括断点设置、单步执行、变量检查和表达式评估等
TypeScript
5.4K
4分
S
Scrapling
Scrapling是一个自适应网页抓取库,能自动学习网站变化并重新定位元素,支持多种抓取方式和AI集成,提供高性能解析和开发者友好体验。
Python
7.9K
5分
M
Mcpjungle
MCPJungle是一个自托管的MCP网关,用于集中管理和代理多个MCP服务器,为AI代理提供统一的工具访问接口。
Go
0
4.5分

Cipher
Cipher是一个专为编程AI代理设计的开源记忆层框架,通过MCP协议与各种IDE和AI编码助手集成,提供自动记忆生成、团队记忆共享和双系统记忆管理等核心功能。
TypeScript
0
5分
N
Nexus
Nexus是一个AI工具聚合网关,支持连接多个MCP服务器和LLM提供商,通过统一端点提供工具搜索、执行和模型路由功能,支持安全认证和速率限制。
Rust
0
4分

Figma Context MCP
Framelink Figma MCP Server是一个为AI编程工具(如Cursor)提供Figma设计数据访问的服务器,通过简化Figma API响应,帮助AI更准确地实现设计到代码的一键转换。
TypeScript
56.8K
4.5分

Duckduckgo MCP Server
已认证
DuckDuckGo搜索MCP服务器,为Claude等LLM提供网页搜索和内容抓取服务
Python
58.0K
4.3分

Firecrawl MCP Server
Firecrawl MCP Server是一个集成Firecrawl网页抓取能力的模型上下文协议服务器,提供丰富的网页抓取、搜索和内容提取功能。
TypeScript
97.1K
5分

Minimax MCP Server
MiniMax Model Context Protocol (MCP) 是一个官方服务器,支持与强大的文本转语音、视频/图像生成API交互,适用于多种客户端工具如Claude Desktop、Cursor等。
Python
45.5K
4.8分

Edgeone Pages MCP Server
EdgeOne Pages MCP是一个通过MCP协议快速部署HTML内容到EdgeOne Pages并获取公开URL的服务
TypeScript
24.5K
4.8分

Context7
Context7 MCP是一个为AI编程助手提供实时、版本特定文档和代码示例的服务,通过Model Context Protocol直接集成到提示中,解决LLM使用过时信息的问题。
TypeScript
72.7K
4.7分

Exa Web Search
已认证
Exa MCP Server是一个为AI助手(如Claude)提供网络搜索功能的服务器,通过Exa AI搜索API实现实时、安全的网络信息获取。
TypeScript
40.2K
5分

Baidu Map
已认证
百度地图MCP Server是国内首个兼容MCP协议的地图服务,提供地理编码、路线规划等10个标准化API接口,支持Python和Typescript快速接入,赋能智能体实现地图相关功能。
Python
39.0K
4.5分