语义代码分析服务

一个基于语言服务器协议(LSP)的语义代码分析服务,提供定义跳转、引用查找、函数调用关系分析等功能。

  • by thousandmiles
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 thousandmiles/lsp-mcp-server

使用说明

语义代码MCP服务器

这是一个模型上下文协议(MCP)服务器,它使用语言服务器协议(LSP)提供语义代码分析功能。

特性

  • 语义导航:转到定义,查找引用,悬停信息。
  • 关系分析:检查函数A是否调用函数B(使用LSP引用)。

建筑

此服务器充当MCP和LSP之间的桥梁。它产生了一个 typescript-language-server 实例,并将MCP工具调用转换为LSP JSON-RPC请求。

工具

  • get_definition:查找符号的定义位置。
  • get_references:查找符号的所有用法。
  • search_in_file:在文件中搜索字符串以查找其行和字符位置。
  • check_function_call:分析一个函数是否调用另一个函数。

用法

安装

  1. 克隆存储库:

    git clone git@github.com:thousandmiles/lsp-mcp-server.git
    cd lsp-mcp-server
    
  2. 运行安装脚本以构建项目并生成配置:

    ./setup.sh
    
  3. 复制输出JSON并将其粘贴到MCP客户端配置文件中。

手动设置

  1. 安装依赖项并构建:

    npm install
    npm run build
    
  2. 配置您的MCP客户端(例如Claude Desktop)以运行此服务器:

    {
      "mcpServers": {
        "semantic-code": {
          "command": "node",
          "args": ["/path/to/code_node/build/index.js"]
        }
      }
    }