CodeNav
用于Python代码导航和分析的MCP(模型上下文协议)服务器。CodeNav为代理提供了强大的工具,可以通过Jedi语言服务器探索、理解和分析Python代码库。
可用工具
项目管理
setup_codenav -配置项目环境以进行分析
project_path(string):要分析的Python项目的根目录路径python_executable_path(string,可选):特定Python解释器的路径
符号分析
find_definition_by_name -按名称和行号分析符号
file_path(string):Python文件的路径line(整数):符号出现的行号symbol_name(string):要分析的符号的名称occurrence(整数,可选):如果名称在行上出现多次,则出现哪种情况(默认值:0)
find_definition -按确切位置获取详细的符号信息
file_path(string):Python文件的路径line(整数):精确的行号column(整数):精确的列号
list_symbols -按类别列出文件中的所有符号
file_path(string):Python文件的路径
代码探索
find_references -查找整个项目中对符号的所有引用
file_path(string):Python文件的路径line(整数):精确的行号column(整数):精确的列号
find_in_file -搜索特定文件中的符号使用情况
file_path(string):Python文件的路径symbol_name(string):要搜索的符号的名称
添加到克劳德
添加到您的Claude Code MCP配置中:
claude mcp add-json -s user CodeNav '{"command": "uvx", "args": ["--from", "git+https://github.com/RoryMB/CodeNav@main", "codenav"]}'添加到您的Claude Desktop MCP配置中:
{
"mcpServers": {
"CodeNav": {
"command": "uvx",
"args": ["--from", "git+https://github.com/RoryMB/CodeNav@main", "codenav"]
}
}
}手动使用
命令行
运行此命令打开一个交互式菜单,其中包含使用各种工具的选项:
uvx --from git+https://github.com/RoryMB/CodeNav@main codenav --cliPython导入
如果不想克隆仓库,请使用以下命令运行Python文件:
uv run --with git+https://github.com/RoryMB/CodeNav@main file.pyimport asyncio
from codenav.tools import setup_codenav, list_symbols, find_definition
async def main():
# Set up project
await setup_codenav("/path/to/your/project")
# List symbols in a file
symbols = await list_symbols("src/main.py")
print(f"Functions: {symbols['functions']}")
# Analyze a symbol
result = await find_definition("src/main.py", line=25, column=10)
print(f"Symbol: {result}")
# Run the async function
asyncio.run(main())