1.4 MCP 快速上手指南
了解了 MCP 的概念之后,我们肯定希望能快速用起来,实际感受一下 MCP 的交互流程,可以给到我们什么样的一种体验。
我们需要在 MCP 客户端,通过配置 MCP 服务器的方式,使用 MCP 服务器提供的功能。
1.4.1 前置要求
在开始使用 MCP 之前,你需要在你的电脑上安装一些必要的软件。
首先,需要一个大模型客户端应用,这个应用需要支持 MCP 协议,能够配置 MCP 服务器。
推荐的大模型客户端应用包括:
- MCP 官方的 Claude 桌面版
- VS Code / Cursor / Windsurf 等 AI 编辑器
- ChatMCP / ChatWise / Cherry Studio / DeepChat 等对话客户端
按照 MCP 服务器推荐的使用方式,需要在你电脑本地运行 MCP 服务器代码或者可执行文件。所以需要安装能执行代码的环境。
目前市面上的 MCP 服务器,大部分都是用 Python 或 Node.js 实现的。
因此,我们主要讲述 Python 和 Node.js 两套环境的安装流程。
1.4.2 安装 Python 环境
- 先安装
Python版本管理工具
推荐 https://github.com/pyenv/pyenv
根据电脑操作系统型号,按照 pyenv 的说明文档,一步步执行,在电脑上安装 pyenv
配置完之后,查看 pyenv 的版本,验证是否安装成功:
# 查看 pyenv 安装路径which pyenv# 查看 pyenv 的版本pyenv --version# 查看 pyenv 使用说明pyenv --help我当前安装的是
pyenv 2.5.3版本。
- 安装
Python
通过 pyenv 安装指定版本的 Python
# 查看所有可安装的 Python 版本pyenv install --list# 选择一个版本安装pyenv install 3.12.0按照 MCP 协议官方的要求,Python 版本需要在 3.10 或以上,我安装的是 3.12.0 版本。
等待 Python 安装成功,可以继续操作
# 查看所有已安装的 Python 版本pyenv versions# 设置默认的 Python 版本pyenv global 3.12.0验证 Python 是否安装成功
# 查看 Python 安装路径which python# 查看 Python 版本python --version- 安装
uv
uv 是一个高效率、高性能的第三方 Python 包管理工具,可以安装 Python 第三方库,运行可执行文件。
使用 uv 官方:https://docs.astral.sh/uv/ 提供的脚本一键安装:
curl -LsSf https://astral.sh/uv/install.sh | sh验证 uv 是否安装成功:
# 查看 uv 的安装位置which uv# 查看 uv 版本uv --version# 查看 uvx 的安装位置which uvx# 查看 uvx 版本uvx --versionuvx 是 uv 的扩展版本,在 uv 的基础上,会额外包含一些实验性功能。 这里我安装的 uv 和 uvx 的版本都是:0.6.12
安装完 uv 和 uvx 之后,你就可以在电脑本地运行或者开发 Python 实现的 MCP 服务器了。
1.4.3 安装 Node.js 环境
- 先安装
Node.js版本管理工具
推荐:https://github.com/Schniz/fnm
根据电脑操作系统型号,按照 fnm 的说明文档,一步步执行,在电脑上安装 fnm
配置完之后,查看 fnm 的版本,验证是否安装成功:
# 查看 fnm 安装路径which fnm# 查看 fnm 的版本fnm --version# 查看 fnm 使用说明fnm --help我当前安装的是:
fnm 1.38.1版本。
- 安装
Node.js
通过 fnm 安装指定版本的 Node.js
# 查看所有可安装的 Node.js 版本fnm ls-remote# 选择一个版本安装fnm install v22.2.0按照 MCP 协议官方的要求,Node.js 版本需要在 16 或以上,我安装的是 22.2.0 版本。
等待 Node.js 安装成功,可以继续操作
# 查看所有已安装的 Node.js 版本fnm list# 设置默认的 Node.js 版本fnm use v22.2.0验证 Node.js 是否安装成功
# 查看 Node.js 安装路径which node# 查看 Node.js 版本node --version- 安装
npm
npm 是 Node.js 官方集成的一个包管理工具,可以安装 Node.js 第三方库。
npx 也是 Node.js 官方集成的一个工具,可以直接运行 npm 包中的命令,而不需要全局或本地安装。
验证 npm 和 npx 是否可用:
# 查看 npm 的安装位置which npm# 查看 npm 版本npm --version# 查看 npx 的安装位置which npx# 查看 npx 版本npx --version有了 npm 和 npx 之后,你就可以在本地电脑运行或者开发 Node.js 实现 MCP 服务器了。
接下来,我们演示在 MCP 官方发布的 Claude 桌面版使用 MCP 服务器
1.4.4 在 Claude 桌面版使用 MCP 服务器
- 下载 Claude 桌面版
浏览器打开网页: https://claude.ai/download
根据你的操作系统类型,下载对应版本的 Claude 桌面版软件:

- 发现 MCP 服务器
我们先要找到一个类似 MCP 服务器商店的地方,去发现一些好用的 MCP 服务器。
遗憾的是,截至目前,Claude 桌面版还没有内置的 MCP 服务器商店,我们需要通过其他的途径,去找到适合自己使用的 MCP 服务器。
这里推荐两个发现 MCP 服务器的渠道。
- MCP 服务器仓库
https://github.com/modelcontextprotocol/servers
这个托管在 Github 的 servers 仓库,由 MCP 协议官方维护,收集了官方实现的 MCP 服务器,以及开发者自行提交的第三方 MCP 服务器。

- 第三方 MCP 应用商店
MCP.so 是全球知名的 MCP 服务器应用商店,也是目前收录 MCP 服务器数量最多的第三方应用商店。
你可以在这个网站,发现和搜索好用的 MCP 服务器,在线查看 MCP 服务器功能说明,配置指南。

MCP.so 也支持云端调试 MCP 服务器,如果你希望能快速体验某个 MCP 服务器的功能,可以在 Playground 页面在线调试。

- 配置 MCP 服务器
以 MCP 官方实现的 time 这个 MCP 服务器举例,如果我们希望在 Claude 桌面版使用这个服务,应该如何配置。
首先我们要通过 MCP 官方服务器仓库,进入到这个 time MCP 服务器的说明页面

通过说明,我们知道这个 MCP 服务器的主要用途,是让大模型能够获取当前的时间,以及在不同时区之间进行时间转换。
我们知道,大模型是预训练的,默认情况下,是不知道当前时间的。比如你在 Claude 桌面版询问当前时间,Claude 会告诉你无法获取实时时间。

如果装上这个 time MCP 服务器,我们就可以扩展 Claude 获取实时时间的能力。
先来看一下这个 MCP 服务器如何配置:

在说明页可以看到,time 这个 MCP 服务器支持三种配置方式,分别通过 uvx,docker,python运行 MCP 服务器,启动本地进程,等待 MCP 客户端连接通信。
在前置准备的步骤,我们已经安装了 Python 和 uvx,如果选择 docker 来运行这个 MCP 服务器,还需要在电脑上安装 docker,可以先不考虑这种方式。python 运行这个 MCP 服务器需要把代码拉到本地,也可以先不考虑。
我们选择用 uvx 来运行这个 MCP 服务器。
复制 MCP 服务器配置文件:
{ "mcpServers": { "time": { "command": "uvx", "args": ["mcp-server-time"] } }}在 Claude 桌面版依次打开:Settings、Developer、Edit Config

编辑 claude_desktop_config.json 文件,写入上面的 MCP 服务器配置:

可能会遇到报错,提示 spawn uvx ENOENT,意思是找不到 uvx 这个命令行工具。

出现这个错误的主要原因,是 Claude 桌面版实现有问题,没有主动发现电脑上的环境配置,需要我们通过环境变量 PATH 主动写入。
先在终端执行命令:echo $PATH 拿到当前的环境配置。
再编辑 claude_desktop_config.json,通过环境变量写入 PATH。
新的配置内容是:
{ "mcpServers": { "time": { "command": "uvx", "args": ["mcp-server-time"], "env": { "PATH": "/bin:/usr/bin:/Users/idoubi/.pyenv/shims:/Users/idoubi/.local/bin" } } }}
env.PATH里面是在我的电脑执行echo $PATH得到的内容。在不同人的电脑执行此命令,得到的内容不一样。
再次重启 Claude 桌面版,可以看到原来的报错没有了。但是依然提示连接不上这个 time MCP 服务器。

在终端执行命令:
tail -n 20 -F ~/Library/Logs/Claude/mcp*.log查看 Claude 桌面版的运行日志。
可以看到,Claude 桌面版在启动的时候,请求连接 time 这个 MCP 服务器,但是遇到了一个时区问题,MCP 服务器执行报错了,所以没有成功连接上这个 MCP 服务器。

复制错误信息,搜索解决办法,发现原来是因为 macOS 操作系统对时区解析的问题。
在 Linux 上,CST 通常能默认解析为 “China Standard Time”,但在 macOS 上,CST 可能有多种含义(可能是 “Central Standard Time”、“China Standard Time” 或其他),因此 Python 的时区库无法明确解析。 中国虽然地理上跨越多个经度区域,但官方只使用一个标准时区:Asia/Shanghai(UTC+8),也称为北京时间或中国标准时间。
查看 time 这个 MCP 服务器的实现代码,知道可以通过 --local-timezone 指定本地时区,如果未设置,就会读取系统的默认时区,在 macOS 读到了 CST,无法正常解析,导致程序运行报错。
因此,这个问题的解决方案是:在运行 mcp-server-time 的时候,通过命令行参数指定本地时区:
uvx mcp-server-time --local-timezone Asia/Shanghai我们修改 claude_desktop_config.json 的配置内容为:
{ "mcpServers": { "time": { "command": "uvx", "args": ["mcp-server-time", "--local-timezone", "Asia/Shanghai"], "env": { "PATH": "/bin:/usr/bin:/Users/idoubi/.pyenv/shims:/Users/idoubi/.local/bin" } } }}再次重启 Claude 桌面版,可以看到,没有报错信息了。并且在输入框的下方,有了一个工具图标,显示有 2 个 MCP 工具可以使用。

点开可以查看这两个 MCP 工具的名称和功能说明。
convert_time工具可以再两个时区之间做时间转换get_current_time工具可以获取指定时区的时间

这两个 MCP 工具都是 time 这个 MCP 服务器提供的。说明 Claude 桌面版已经启动了一个 MCP 客户端子进程,连接上了这个 MCP 服务器,随时可以给这个 MCP 服务器发送请求。
再次执行查看日志的命令,可以看到 Claude 桌面版的客户端进程与 MCP 服务器通信,发送的请求内容和得到的响应内容。

再问一遍之前的问题:
今天几号?现在几点?Claude 桌面版调用内置的大模型,带上可用的 MCP 工具列表,由大模型完成识别和调度。
大模型告诉 Claude 桌面版应该调用由 time MCP 服务器提供的 get_current_time 工具,来获取当前的时间。
Claude 桌面版请求用户授权,由用户决定是否调用这个工具。
点击 Allow for this chat 表示同意 Claude 桌面版调用 time MCP 服务器的 get_current_time 工具。

然后 Claude 桌面版的客户端进程发起到 time MCP 服务器的请求,调用的工具是 get_current_time,传递的参数是:
{ `timezone`: `Asia/Shanghai`}得到的响应是:
{ "timezone": "Asia/Shanghai", "datetime": "2025-04-05T15:48:02+08:00", "is_dst": false}可以看到,通过外挂 MCP 工具,精准的查到了当前的时间。跟未装 time 这个 MCP 服务器之前的对话比,Claude 桌面版现在有了获取实时时间的能力。

我们可以继续追问,比如问其他国家的当前时间,Claude 桌面版通过外挂 time MCP 服务器的 get_current_time 工具,用其他的时区查询实时时间,我们就能知道全世界任何地方的当前时间。
我们也可以指定任意时间,问其对应的其他时区的时间。Claude 桌面版通过外挂 time MCP 服务器的 convert_time 工具,自动完成时区转换。

通过这个例子。很好的演示了,如何使用 MCP 官方的 Claude 桌面版,安装 MCP 服务器,并通过大模型的规划调度能力,完成对 MCP 工具的调用,实现对大模型本身能力的补足和增强。