go-mcp-demo 可以翻译为“Go语言MCP(可能是指某种中间件或通信协议)演示项目”或“Go语言MCP示例”。具体翻译可能需要根据上下文来确定“MCP”在这里的确切含义
一个演示,学习如何在Go语言中使用MCP
项目结构
- 直接将Hertz HTTP服务器用于主机接收外部请求
- mcp-host与mcp-server通过(某种方式或连接)可流式传输的HTTP通信
- mcp-host与ollama通过HTTP通信
快速入门
- 复制
config.example.yaml到;向;朝config.yaml(config.stdio.yaml同理 - Windows需要安装
makefile相关工具
stdio(标准输入输出)
make stdio # windows需要修改config.stdio.yaml中的mcp.stdio.server_cmd 为./bin/mcp-server.exeHTTP单点通信
- 注册表提供程序为none
- mcp.transport 为 http
- \
mcp.http.base_url\是 \mcp_server\的 URL
本地启动
make mcp_localmake host #在另一个终端运行使用Docker启动(network=host模式)
make docker-run-mcp_local
make docker-run-host基于Consul集群启动
本地启动
make env
make host
make mcp_local#在另一个终端运行
make mcp_remote#在另一个终端运行Docker启动(network=host模式)
make env
make docker-run-host
make docker-run-mcp_local
make docker-run-mcp_remote通过使用API管理平台(如apifox/postman等)导入swagger/openapi.yaml,配置环境为host url,访问接口进行对话
记忆临时通过map保存在内存中,重启主机后会丢失
