使用说明(Markdown 格式)
-
项目简介 ABCoder 的 MCP 服务端实现,提供一个标准化的后端服务器,向 LLM 客户端暴露资源、工具和提示模板等能力,通过 JSON-RPC 与客户端通信,为 AI 驱动的代码分析、生成与协助提供上下文和能力支持。
-
主要功能点
- 资源托管与访问:通过统一的资源/AST 目录,向客户端提供对仓库结构和 AST 信息的访问能力。
- 工具注册与执行:将代码分析、代码检索等工具注册为 MCP 工具,支持客户端调用并返回结构化结果。
- 提示模板与渲染:提供可渲染的 Prompt 模板,便于 LLM 在对话中获得一致的引导与上下文。
- 会话与能力声明:内置会话管理和能力声明,方便客户端了解服务端能力。
- 多传输协议支持:设计初衷支持 STDIO、HTTP 等传输方式,与客户端进行灵活的接入。
-
安装步骤
- 安装 Go 环境并获取 ABCoder 的可执行入口(命令行工具)。
- 构建并安装 ABCoder(示例命令用于安装最新版工具)。
- 准备一个包含 UniAST/AST JSON 的目录,作为 MCP 服务端的资源目录。
- 以 MCP 服务端模式启动,指定资源目录路径。
-
服务器配置 说明:MCP 客户端需要知道如何连接到 MCP 服务器,至少需要提供服务器的启动命令与参数信息(server name、command、args 等),以便建立连接并使用服务器提供的能力。以下为基于仓库实现的准确配置信息描述(以 JSON 形式描述,供 MCP 客户端读取,不作为代码块展示):
- serverName: abcoder
- command: abcoder
- args: ["mcp", "{the-AST-directory}"] 注释说明:
- serverName:服务器在 MCP 客户端配置中的唯一标识,这里与代码中创建的服务器名称保持一致为 "abcoder"。
- command:启动 MCP 服务端的可执行名,此处为 abcoder(通过 go 安装得到的二进制)。
- args:传给命令的参数,其中 "mcp" 表示进入 MCP 模式,"{the-AST-directory}" 表示包含 AST JSON 的资源目录路径,客户端只需提供该目录位置即可连接并使用服务器能力。 服务器端在代码层面实现了对 AST 相关工具的注册、Prompt 的提供与处理、以及通过 STDIO/HTTP 与客户端交互的能力。
-
基本使用方法
- 启动 MCP 服务器
- 准备好包含 UniAST/AST JSON 的目录,例如 /path/to/asts。
- 在命令行执行(需要已经安装 ABCoder 工具): abcoder mcp /path/to/asts
- 服务器启动后,将对外提供通过 MCP 客户端访问的能力(资源、工具、Prompts)。
- 配置 MCP 客户端连接
- 使用上述配置中的 JSON 结构,客户端将通过命令和参数来启动并连接到该 MCP 服务器。
- 具体客户端实现会根据该配置启动相应的 MCP 客户端并与服务器进行 JSON-RPC 请求/响应交互。
- 使用场景
- 客户端读取资源(AST/仓库结构)、调用已注册的工具、获取和渲染 Prompts,以获得上下文丰富的对话能力与代码分析能力。
- 启动 MCP 服务器
-
其他注意事项
- 服务器端会话管理、能力声明等会自动在 MCP 服务端实现中处理,客户端按需请求即可。
- 如需在 HTTP/WS 等通道上暴露服务,可使用服务器端提供的 ServeHTTP/底层 MCPServer 实现进行扩展。
信息
分类
AI与计算