Go语言MCP服务器构建与Docker部署
使用Go语言构建Model Context Protocol(MCP)服务器并通过Docker进行部署的示例项目
快速入门指南
1. 项目简介
本项目展示如何用Go创建MCP服务器并用Docker部署,主要功能是提供一个use_curl
工具,让LLM能获取网页内容。
2. 创建MCP服务器
-
创建
go.mod
文件,引入依赖:- github.com/mark3labs/mcp-go v0.8.2
- github.com/google/uuid v1.6.0
-
创建
main.go
,实现服务器逻辑:- 创建MCP服务器
- 添加
use_curl
工具 - 实现处理函数执行curl命令
3. Docker打包
创建Dockerfile,分两阶段:
- 第一阶段:使用golang:1.23.4-alpine编译项目
- 第二阶段:使用curlimages/curl:8.6.0作为基础镜像
构建镜像:
docker build -t mcp-curl .
4. 使用mcphost运行
创建配置文件mcp.json
:
{
"mcpServers": {
"mcp-curl-with-docker" :{
"command": "docker",
"args": ["run", "--rm", "-i", "mcp-curl"]
}
}
}
启动服务:
mcphost --config ./mcp.json --model ollama:qwen2.5-coder:14b
使用/tools
命令查看可用工具,然后可以请求LLM获取和分析网页内容。