承接上一篇 MCP (一) 的理解,我们尝试写一个功能,集成到 MCP Host 中。
使用 tool,计算 1+2
安装 Cline 插件
Autonomous coding agent right in your IDE, capable of creating/editing files, executing commands, using the browser, and more with your permission every step of the way.
Cline 可以一步步处理复杂的软件开发任务。通过允许他创建和编辑文件、探索大型项目、使用浏览器和执行终端命令(在你授予权限后),他可以提供超越代码完成或技术支持的帮助。Cline 甚至可以使用 Model Context Protocol (MCP) 创建新工具并扩展自己的能力。虽然自主 AI 脚本传统上在沙盒环境中运行,但此扩展提供了一个人机交互的 GUI 来批准每个文件更改和终端命令,提供了一种安全且可访问的方式来探索代理 AI 的潜力。
在 VSCode 搜索 Cline 安装最新版即可,安装完成后,需要配置大模型:
我们使用 DeepSeek API。点击 Cline 顶部第二个按钮 (MCP Servers),即可看到 Cline 内置的 MCP Server 市场,之后整理一些有价值的服务,比如:GitHub MCP Server。
mcp-go Server 构建
市面上已经提供各种各样的 SDK,我们的目标是学习 Golang 语言,所以选择了 https://github.com/mark3labs/mcp-go。
先按照官方给的代码,我们跑下流程。先写一个简单的运算方法:
func calculatorHandler(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error) {
op := request.Params.Arguments["operation"].(string)
x := request.Params.Arguments["x"].(float64)
y := request.Params.Arguments["y"].(float64)
var result float64
switch op {
case "add":
result = x + y
case "subtract":
result = x - y
case "multiply":
result = x * y
case "divide":
if y == 0 {
return nil, errors.New("cannot divide by zero")
}
result = x / y
}
return mcp.NewToolResultText(fmt.Sprintf("%.2f", result)), nil
}
然后根据 SDK,创建 MCP Tool:
// Create MCP server
s := server.NewMCPServer(
"Demo 🚀",
"1.0.0",
)
// Add a calculator tool
calculatorTool := mcp.NewTool("calculate",
mcp.WithDescription("Perform basic arithmetic operations"),
mcp.WithString("operation",
mcp.Required(),
mcp.Description("The operation to perform (add, subtract, multiply, divide)"),
mcp.Enum("add", "subtract", "multiply", "divide"),
),
mcp.WithNumber("x",
mcp.Required(),
mcp.Description("First number"),
),
mcp.WithNumber("y",
mcp.Required(),
mcp.Description("Second number"),
),
)
s.AddTool(calculatorTool, calculatorHandler)
// Start the stdio server
if err := server.ServeStdio(s); err != nil {
fmt.Printf("Server error: %v\n", err)
}
当然,我们还是需要引入:
import (
"context"
"errors"
"fmt"
"github.com/mark3labs/mcp-go/mcp"
"github.com/mark3labs/mcp-go/server")
代码写完后,直接 go build
,创建可执行文件已供使用。
安装 MCP Server
回到 Cline 设置界面,在刚才的 Marketplace 右侧 Installed
,可以配置安装自己写的 MCP Server:
直接进入测试,输入我们要让的计算:“使用 tool,计算 1+3”。整个过程中我们没有进行任何干预,Cline 能直接连接 MCP 服务器,根据我们写的工具,将我们的问题文本直接翻译成实际调用参数,最后调用 ‘calculate’,得出结果:4。
当然,你还可以继续追问:
小结
通过简单的使用,基本跑通 MCP 逻辑。接下来我们就可以借助 MCP 去做很多实际项目,将 AI 应用到提高效率的工作和生活场景中。
最后修改于 2025-03-22