MCP介绍
Model Context Protocol (MCP) 模型上下文协议,简单理解并不是一种新的技术,是对大模型function calling使用的一种方式,或者标准。另外因为其提供了标准的开发和调用sdk,并且生态已有一些现成的工具可用,因此使用MCP有时候可以很大程度上减少agent开发的工作量。当然如果你使用的大模型不支持function calling或者对function calling支持不好,那么很遗憾使用MCP并不一定会降低你的工作量。本文主要介绍用非代码的方式如何调用MCP-Server,用来方便理解MCP是什么。
基础环境安装
-
安装NodeJs:
https://nodejs.org/zh-cn
,安装同时安装了npm
和npx
-
安装python包管理器UV,可以参照官网:
https://docs.astral.sh/uv/getting-started/installation/#standalone-installer
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
-
确认安装完成
测试mcp-server-time
官网github地址:
https://github.com/modelcontextprotocol/servers/tree/main/src/time
使用命令行测试
-
使用uvx启动:
uvx mcp-server-time --local-timezone=Asia/Shanghai
调用方式为
STDIO
方式,因此可以直接在命令行中进行交互 -
先初始化mcp-server,依次输入两条用于初始化的jsonrpc指令
{"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"mcp-cli","version":"0.0.1"}},"jsonrpc":"2.0","id":0} {"method":"notifications/initialized","jsonrpc":"2.0"}
-
使用
ping
判断是否已经正确初始化。使用tools/list
来查看支持的API{"method":"ping","jsonrpc":"2.0","id":1} {"method":"tools/list","params":{},"jsonrpc":"2.0","id":2}
-
如果能正常交互则表明mcp服务安装成功
使用inspector测试
-
使用npx启动
inspector
npx @modelcontextprotocol/inspector
-
在cmmand中输入
uvx
在 Arguments中输入mcp-server-time --local-timezone=Asia/Shanghai
-
点击Connect进行启动,然后就可以通过界面查看所有API,进行API调用测试等