CSharpLangMCPServer 使用说明

项目简介

CSharpLangMCPServer 是一个 VS Code 扩展,它实现了 Model Context Protocol (MCP) 服务器,旨在为支持 MCP 协议的 AI 编码助手提供 C# 语言的上下文信息和代码分析功能。通过该 MCP 服务器,AI 助手可以更深入地理解 C# 代码,从而提供更智能的代码补全、导航和重构建议。

主要功能点

  • 查找用法 (Find Usages): 允许 AI 助手查找 C# 代码中符号(如变量、函数、类等)的所有引用位置,并提供代码预览,帮助理解代码结构和依赖关系。
  • HTTP/SSE 服务器: 通过 HTTP/SSE 协议提供 MCP 服务,与 AI 助手进行通信。
  • VS Code 扩展集成: 作为 VS Code 扩展运行,无缝利用 VS Code 强大的 C# 语言服务能力。

安装步骤

  1. 安装 C# for Visual Studio Code 扩展: 确保已安装官方的 "C# for Visual Studio Code" 扩展 (publisher: ms-dotnettools)。
  2. 安装 CSharpLangMCPServer 扩展: 在 VS Code 扩展商店搜索 "CSharpLangMCPServer" 并安装。
  3. 打开 C# 项目: 在 VS Code 中打开一个 C# 项目或包含 C# 代码的文件夹。

服务器配置

对于需要连接 MCP 服务器的 AI 客户端,您需要提供以下配置信息以建立连接。CSharpLangMCPServer 扩展会在 VS Code 激活时自动启动 MCP 服务器。

{
  "serverName": "CSharpLangMCPServer",
  "protocol": "json-rpc",
  "transport": "sse",
  "command": "vscode",  // 使用 VS Code 作为命令,表示在 VS Code 环境中运行
  "args": [],         // 无需命令行参数
  "options": {
    "baseUrl": "http://localhost:8008", // MCP 服务器的根 URL
    "messageEndpoint": "/message",      // 消息端点
    "sseEndpoint": "/sse"             // SSE 端点
  }
}

配置参数说明:

  • 'serverName': 服务器名称,可以自定义。
  • 'protocol': 协议类型,固定为 "json-rpc"。
  • 'transport': 传输协议,固定为 "sse" (Server-Sent Events)。
  • 'command': 启动服务器的命令。由于此 MCP 服务器是 VS Code 扩展,因此这里使用 "vscode" 表示在 VS Code 环境中激活扩展即可启动服务器,无需额外命令。
  • 'args': 启动命令的参数,此处为空数组,因为服务器由 VS Code 扩展自动启动。
  • 'options': 连接选项,包含:
    • 'baseUrl': MCP 服务器的根 URL,默认为 'http://localhost:8008'。
    • 'messageEndpoint': 接收 JSON-RPC 消息的端点,固定为 '/message'。
    • 'sseEndpoint': 建立 SSE 连接的端点,固定为 '/sse'。

端口说明: MCP 服务器默认运行在 '8008' 端口。如果端口被占用,您可能需要在扩展设置中查找是否提供了端口配置选项(根据仓库信息,默认端口为 8008,但未提及端口配置方式)。

基本使用方法

  1. 启动 VS Code 并打开 C# 项目: 确保 CSharpLangMCPServer 扩展已激活。
  2. 配置 AI 客户端: 在您的 AI 编码助手 (如支持 MCP 协议的 LLM 应用) 中,配置连接到上述 MCP 服务器。
  3. 使用 AI 助手: 在 VS Code 中编辑 C# 代码时,AI 助手可以通过 MCP 服务器调用 "find_usages" 等工具,获取代码上下文信息,并提供增强的功能。

调用 'find_usages' 工具示例 (JSON-RPC 请求体):

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "call_tool",
  "params": {
    "name": "find_usages",
    "arguments": {
      "textDocument": {
        "uri": "file:///path/to/your/file.cs"  // 请替换为实际的文件 URI,例如 file:///D:/Projects/MyProject/Program.cs
      },
      "position": {
        "line": 10,     // 行号 (从 0 开始)
        "character": 15  // 字符位置 (从 0 开始)
      },
      "context": {
        "includeDeclaration": true // 是否包含声明
      }
    }
  }
}

请将 'file:///path/to/your/file.cs' 替换为实际的 C# 文件 URI,并指定要查找用法的符号所在行的 'line' 和 'character' 位置。

注意事项

  • 确保已安装并启用了 "C# for Visual Studio Code" 扩展,这是 CSharpLangMCPServer 正常运行的先决条件。
  • 检查端口 '8008' 是否可用,避免端口冲突。
  • 如果遇到问题,请查看 VS Code 的扩展输出日志,以获取更多错误信息。

信息

分类

开发者工具