Go语言MCP服务器构建与Docker部署

Go语言MCP服务器构建与Docker部署

使用Go语言构建Model Context Protocol(MCP)服务器并通过Docker进行部署的示例项目

快速入门指南

1. 项目简介

本项目展示如何用Go创建MCP服务器并用Docker部署,主要功能是提供一个use_curl工具,让LLM能获取网页内容。

2. 创建MCP服务器

  1. 创建go.mod文件,引入依赖:

    • github.com/mark3labs/mcp-go v0.8.2
    • github.com/google/uuid v1.6.0
  2. 创建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获取和分析网页内容。