NervusDB 官方 MCP 服务器 - 结合
@nervusdb/core和repomix的代码知识图谱
@nervusdb/core 和 repomix 构建跨语言的代码知识图谱安装依赖
pnpm install
运行服务器
# 开发模式
pnpm start:stdio
# 生产构建
pnpm build
索引项目
pnpm synapse:index -p /path/to/your/project
添加到你的 Claude Desktop 配置 (~/Library/Application Support/Claude/claude_desktop_config.json 在 macOS 上):
{
"mcpServers": {
"nervusdb-mcp": {
"command": "npx",
"args": ["-y", "@nervusdb/mcp"]
}
}
}
或者,如果你全局安装了该包:
{
"mcpServers": {
"nervusdb-mcp": {
"command": "nervusdb-mcp"
}
}
}
安装选项:
# 选项 1: 使用 npx (推荐,无需安装)
# 只需添加上述配置,Claude 将自动运行它
# 选项 2: 全局安装以加快启动速度
npm install -g @nervusdb/mcp
工作流工具 (workflow.submitForReview) 需要 GitHub 认证来创建拉取请求。服务器支持 3 种认证方法 并自动回退:
方法 1: 环境变量 (推荐用于 CI/CD)
# 设置 GITHUB_TOKEN 或 GH_TOKEN
export GITHUB_TOKEN=ghp_your_personal_access_token
# 或在你的 shell 配置文件中 (~/.zshrc 或 ~/.bashrc)
echo 'export GITHUB_TOKEN=ghp_xxx' >> ~/.zshrc
方法 2: GitHub CLI (推荐用于本地开发)
# 安装 gh CLI
brew install gh # macOS
# 或参见 https://cli.github.com/ 其他平台
# 认证
gh auth login
方法 3: Claude Desktop 配置
在 Claude Desktop 配置中添加环境变量:
{
"mcpServers": {
"nervusdb-mcp": {
"command": "npx",
"args": ["-y", "@nervusdb/mcp"],
"env": {
"GITHUB_TOKEN": "ghp_your_personal_access_token"
}
}
}
}
认证优先级:
GITHUB_TOKEN 环境变量 (最高优先级)GH_TOKEN 环境变量gh auth token 命令 (如果 gh CLI 已认证)如果没有可用的认证,工作流工具将提供清晰的错误消息及设置指南。
NervusDB MCP 服务器提供了 13 个工具,分为 4 类:
workflow.startTask - 创建任务分支并更新账本workflow.submitForReview - 推送分支并创建拉取请求 (需要 GitHub 认证)project.getStructure - 获取项目文件结构及其统计信息project.analyzeImpact - 根据知识图谱分析代码影响project.findRelatedFiles - 查找与目标文件相关的文件project.readFile - 读取任意文件内容code.readFile - 读取项目文件内容code.writeFile - 写入内容到项目文件 (需要确认)code.runTests - 使用 Vitest 运行测试并返回结果db.getStats - 获取索引元数据和统计信息db.query - 对知识图谱执行类型化或原始查询db.rebuildIndex - 使用遥测重建项目索引db.getHealth - 通过指纹验证检查索引健康状况// 1. 启动新任务
workflow.startTask({
taskId: '42',
owner: 'alice',
designDoc: 'docs/design/feature-42.md',
});
// 2. 分析代码影响
project.analyzeImpact({
projectPath: '/workspace/my-project',
functionName: 'calculateTotal',
limit: 20,
});
// 3. 读取文件
code.readFile({
projectPath: '/workspace/my-project',
file: 'src/services/orderService.ts',
});
// 4. 运行测试
code.runTests({
projectPath: '/workspace/my-project',
filter: 'orderService',
});
// 5. 查询知识图谱
db.query({
projectPath: '/workspace/my-project',
query: {
type: 'typed',
filter: { predicate: 'CONTAINS' },
options: { limit: 100 },
},
});
// 6. 提交审核
workflow.submitForReview({
confirm: true,
title: 'feat: 优化订单计算',
reviewers: ['bob'],
});
repomix 收集项目文件,并使用 @nervusdb/core 构建知识图谱nervusdb-mcp/
├── src/
│ ├── server/ # MCP 服务器实现
│ ├── tools/ # 工具实现 (工作流、项目、代码、数据库)
│ ├── services/ # 业务逻辑服务
│ ├── domain/ # 核心领域逻辑 (索引、查询)
│ └── utils/ # 共享工具
├── bin/ # CLI 可执行文件
├── docs/ # 文档
└── tests/ # 测试套件
# 安装依赖
pnpm install
# 运行测试
pnpm test
# 检查代码质量
pnpm check
# 生产构建
pnpm build
参见 CONTRIBUTING.md 了解开发指南。
MIT