使用说明
mcp工具
两个MCP(模型上下文协议)服务器,用于Claude Code和Cursor:语义项目搜索和AST感知符号重命名。
服务器
项目嵌入
由OpenAI嵌入和ChromaDB支持的语义项目搜索。为您的项目建立索引 .py, .ts, .tsx,以及 .md 将文件存入本地向量数据库,然后通过从代码和文档中返回最相关的块来回答自然语言查询。
暴露的工具:
search(query, top_k=10)--按含义而非关键字查找相关代码和文档index_status()--检查索引状态reindex()--强制全面重建
索引在每次搜索时都会增量刷新(基于mtime),因此无需手动重建即可保持最新状态。
要求: 环境中的OpenAI API密钥(OPENAI_API_KEY).
重命名
跨整个代码库的AST感知符号重命名。重命名函数、类、变量、接口和类型别名——更新所有引用,包括导入。
工具暴露:
rename_symbol(file_path, old_name, new_name)--重命名并更新所有引用
设置
需要 紫外线 以及Node.js(用于TypeScript重命名)。
# Install Python dependencies
cd project_embed && uv venv && uv pip install -e ".[dev]"
cd ../rename && uv venv && uv pip install -e ".[dev]" && npm install
配置
添加到您的项目 .mcp.json (克劳德代码)或 ~/.cursor/mcp.json (光标):
{
"mcpServers": {
"project-embed": {
"type": "stdio",
"command": "uv",
"args": ["run", "--directory", "/path/to/mcp-tools/project_embed", "python", "server.py"],
"env": {
"PROJECT_ROOT": "/path/to/your/project"
}
},
"rename": {
"type": "stdio",
"command": "uv",
"args": ["run", "--directory", "/path/to/mcp-tools/rename", "python", "server.py"],
"env": {
"PROJECT_ROOT": "/path/to/your/project"
}
}
}
}
环境变量
| 变量 | 服务器 | 默认值 | 描述 |
|---|---|---|---|
PROJECT_ROOT |
都是 | cwd | 要索引/重命名的项目根 |
CHROMA_DIR |
项目嵌入 | $PROJECT_ROOT/.cache/project-embed |
向量索引的存储位置 |
TSCONFIG_PATH |
重命名 | $PROJECT_ROOT/frontend/tsconfig.json |
TypeScript项目的tsconfig路径 |
测试
cd project_embed && uv run pytest tests/ -v
cd ../rename && uv run pytest tests/ -v
