Token导航 LogoToken导航

MCP Server · 开发工具

05 Make Your MCP Server

一个基于Go语言和Docker的MCP服务器,提供网页抓取工具,用于增强LLM的功能。

未说明官方级别未说明来源级核验工具 1
浏览器自动化ShellDocker本地部署

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
ollama-tlms-golang
提供方
ollama-tlms-golang

工具数量

1

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

10

仓库热度

收录来源

1 个

MCP World

选型结论

05 Make Your MCP Server 属于开发工具类 MCP Server,公开资料标注 1 个工具,通过传输方式未标注接入,客户端适配情况以官方文档为准,没有现成的安装命令;接入前先确认权限范围。

分类

开发工具

传输方式

未说明

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 1 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

在Go中创建MCP服务器并使用Docker提供服务

引言

今天,我们将探讨如何在Go中创建MCP服务器,并使用Docker为其提供服务。

先决条件:已阅读 理解模型上下文协议(MCP)

要编写MCP服务器,有几个官方SDK:

近年来,我对Go产生了兴趣,所以我四处看看是否有Go实现。在此页面上 ,我发现了几个,特别是 的创造者 mcphost (我在讨论和使用 上一篇博客文章).

优势在于 mcp-go 该项目是因为它很简单,还提供了开发MCP客户端的工具,这对未来的博客文章非常有用。

创建MCP服务器

我不会在这里详细介绍或实现MCP服务器的所有可能性。我将只实现要点:

  • 提供LLM工具列表
  • LLM调用这些工具时执行它们

当我使用法学硕士时,有一件事我想做:给它一个网站链接,这样它就可以在那里找到信息,为我做一个总结等等。

所以我创建了一个MCP服务器,它调用 curl 使用URL参数的实用程序并返回其内容。但是让我们看看源代码:

go.mod:

module mcp-curl

go 1.23.4

require github.com/mark3labs/mcp-go v0.8.2
require github.com/google/uuid v1.6.0

main.go:

package main

import (
	"context"
	"fmt"
	"os/exec"

	"github.com/mark3labs/mcp-go/mcp"
	"github.com/mark3labs/mcp-go/server"
)

func main() {
	// Create MCP server
	s := server.NewMCPServer(
		"mcp-curl",
		"1.0.0",
	)

	// Add a tool
	tool := mcp.NewTool("use_curl",
		mcp.WithDescription("fetch this webpage"),
		mcp.WithString("url",
			mcp.Required(),
			mcp.Description("url of the webpage to fetch"),
		),
	)

	// Add a tool handler
	s.AddTool(tool, curlHandler)

	fmt.Println("🚀 Server started")
	// Start the stdio server
	if err := server.ServeStdio(s); err != nil {
		fmt.Printf("😡 Server error: %v\n", err)
	}
	fmt.Println("👋 Server stopped")
}

func curlHandler(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error) {

	url, ok := request.Params.Arguments["url"].(string)
	if !ok {
		return mcp.NewToolResultError("url must be a string"), nil
	}
	cmd := exec.Command("curl", "-s", url)
	output, err := cmd.Output()
	if err != nil {
		return mcp.NewToolResultError(err.Error()), nil
	}
	content := string(output)

	return mcp.NewToolResultText(content), nil
}

解释

这真的很简单。我的服务器将只提供一个工具。该代码实现了一个服务器,该服务器公开了一个基于 curl 使用模型控制协议。

  • 首先,我创建了一个名为的MCP服务器 mcp-curl 版本 1.0.0 适用于标准输入/输出(stdio)
  • 然后我定义了一个名为 use_curl 这需要一个必要的 url 参数
  • 最后,我添加 handler 对于执行 curl 命令与 -s 检索网页内容的选项
  • 当然,我会处理错误并将网页内容作为文本返回

使用Docker打包MCP服务器

为了让我的生活更轻松,我会使用 Dockerfile 构建一个包含我的MCP服务器的Docker镜像。这样,我可以更容易地在不同的平台上部署它,或者让任何想使用它的人都可以使用它。

Dockerfile:

FROM golang:1.23.4-alpine AS builder
WORKDIR /app
COPY go.mod .
COPY main.go .

RUN <<EOF
go mod tidy 
go build
EOF

FROM curlimages/curl:8.6.0
WORKDIR /app
COPY --from=builder /app/mcp-curl .
ENTRYPOINT ["./mcp-curl"]

我的 Dockerfile 有两个部分:

  • 第一部分在Go中构建我的MCP服务器
  • 第二部分使用 curlimages/curl:8.6.0 包含以下内容的图像 curl 并复制我的 mcp-curl 服务器进入镜像(所以 mcp-curl 是调用的可执行文件 curl)

要构建Docker镜像,我运行以下命令:

docker build -t mcp-curl .

现在让我们看看如何使用我们的新MCP服务器 mcphost:

使用MCP服务器 mcphost

首先,我们需要创建一个配置文件 mcp.json 为了 mcphost:

{
  "mcpServers": {
    "mcp-curl-with-docker" :{
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "mcp-curl"
      ]
    }
  }
}

然后我们可以使用 mcphost 使用我们的MCP服务器和Ollama的LLM,如下所示:

mcphost --config ./mcp.json --model ollama:qwen2.5-coder:14b

MCP服务器由以下人员识别 mcphost:

您可以通过以下方式请求可用工具列表 /tools 命令:

现在,您可以请求网页的内容并分析其内容(在我的示例中,我从GitHub检索Go代码):

等一下:

以下是网页内容:

结论

你可以看到,只需几行,就很容易给你的LLM赋予“超能力”。在未来的博客文章中,我将向您展示如何使用Ollama和Go中的MCP客户端创建生成式AI应用程序,以与我们的MCP服务器交互。

工具与能力

工具数量

1

资源数量

0

提示词数量

0

能力标签

Shell本地部署MCP服务器网页抓取LLM增强Docker部署

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 1 个工具,职责集中,接入后不容易误操作。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
05 Make Your MCP Server

MCP World · 本页

1未说明未标注1 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

05 Make Your MCP Server 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

05 Make Your MCP Server 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

05 Make Your MCP Server 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

05 Make Your MCP Server 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

05 Make Your MCP Server 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP