项目简介
该服务器是一个基于Model Context Protocol (MCP) 构建的应用后端,旨在为兼容的LLM(大型语言模型)客户端提供Go语言代码执行和分享功能。它通过集成Go Playground API,允许LLM直接在安全的沙盒环境中运行Go代码、获取执行结果,并为代码片段生成可分享的URL。这为LLM应用提供了强大的Go语言编程辅助能力。
主要功能点
- 运行Go代码: 在Go Playground提供的在线沙盒环境中安全地执行Go语言代码。服务器会返回代码的执行结果,包括标准输出、任何编译或运行时错误以及程序的退出码。
- 分享Go代码: 为用户提供的Go代码片段生成一个唯一的、可分享的URL链接。这方便了代码的传播和协作,LLM可以直接生成并提供分享链接。
- 运行并分享代码: 提供一个便捷的操作,可以同时执行Go代码并获取其结果,同时也会生成该代码的分享链接。这在一个请求中完成了两个常见任务。
- MCP协议集成: 完全遵循Model Context Protocol规范,这意味着它可以与任何支持MCP协议的LLM客户端无缝集成,作为其提供上下文信息和功能的工具。
安装步骤
在开始使用之前,您需要将此服务器安装到您的系统上。
-
克隆仓库: 打开您的终端或命令行工具,执行以下命令克隆项目仓库:
git clone https://github.com/samber/go-playground-mcp.git cd go-playground-mcp -
安装依赖: 进入项目目录后,安装所有必要的依赖项:
npm install -
构建项目: 执行构建命令,将TypeScript源代码编译为JavaScript可执行文件:
npm run build
服务器配置
要让您的MCP客户端能够连接并使用这个Go Playground MCP服务器,您需要在客户端的配置中添加服务器的启动信息。以下是两种常见的配置方式:
-
通过 'npx' 启动 (推荐,无需本地构建): 这种方式利用 'npx' 直接从npm仓库执行包,无需您预先在本地构建项目。
{ "mcpServers": { "go-playground": { // 这是MCP服务器的唯一标识名称,客户端会用它来引用此服务器。 "command": "npx", // 启动服务器的命令,这里是Node.js的包执行器。 "args": ["-y", "go-playground-mcp"] // 传递给'npx'命令的参数,'-y'表示自动确认,'go-playground-mcp'是包名。 } } } -
通过本地构建的 'node' 启动 (如果您已手动构建项目): 如果您已经按照上面的安装步骤完成了本地构建,可以使用这种方式直接启动本地编译后的服务器文件。
{ "mcpServers": { "go-playground": { // 这是MCP服务器的唯一标识名称,客户端会用它来引用此服务器。 "command": "node", // 启动服务器的命令,这里是Node.js运行时。 "args": ["dist/index.js"] // 传递给'node'命令的参数,指向构建后的服务器入口文件。 } } }
将上述任一配置添加到您的MCP客户端的配置中(具体位置和格式取决于您使用的MCP客户端),客户端就能在需要时自动启动并连接到Go Playground MCP服务器。
基本使用方法
配置完成后,您的MCP客户端(例如一个LLM应用)即可通过调用此服务器提供的工具来与Go Playground API交互。服务器提供了以下三个主要工具,LLM可以根据需要选择调用:
- 'run_go_code': 允许LLM提交Go代码并获取其执行结果。例如,LLM可以请求服务器运行一段代码,以验证其逻辑或获取特定输出。
- 'share_go_code': 允许LLM提交Go代码并请求生成一个可分享的URL。这在LLM需要向用户展示或保存代码时非常有用。
- 'run_and_share_go_code': 允许LLM一次性提交Go代码,并同时获得执行结果和分享URL。这适用于需要立即展示代码运行效果并提供分享选项的场景。
LLM客户端会以JSON-RPC请求的形式调用这些工具,服务器将执行相应操作并将结果以JSON-RPC响应的形式返回给客户端。
信息
分类
开发者工具