Python代码导航分析服务

CodeNav是一个基于Jedi语言服务器的MCP协议服务,为Python代码库提供符号分析、定义查找和引用搜索等功能。

  • by RoryMB
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 rorymb/codenav

使用说明

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 --cli

Python导入

如果不想克隆仓库,请使用以下命令运行Python文件:

uv run --with git+https://github.com/RoryMB/CodeNav@main file.py
import 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())