Skip to content

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 服务器,大部分都是用 PythonNode.js 实现的。

因此,我们主要讲述 PythonNode.js 两套环境的安装流程。

1.4.2 安装 Python 环境

  1. 先安装 Python 版本管理工具

推荐 https://github.com/pyenv/pyenv

根据电脑操作系统型号,按照 pyenv 的说明文档,一步步执行,在电脑上安装 pyenv

配置完之后,查看 pyenv 的版本,验证是否安装成功:

Terminal window
# 查看 pyenv 安装路径
which pyenv
# 查看 pyenv 的版本
pyenv --version
# 查看 pyenv 使用说明
pyenv --help

我当前安装的是 pyenv 2.5.3 版本。

  1. 安装 Python

通过 pyenv 安装指定版本的 Python

Terminal window
# 查看所有可安装的 Python 版本
pyenv install --list
# 选择一个版本安装
pyenv install 3.12.0

按照 MCP 协议官方的要求,Python 版本需要在 3.10 或以上,我安装的是 3.12.0 版本。

等待 Python 安装成功,可以继续操作

Terminal window
# 查看所有已安装的 Python 版本
pyenv versions
# 设置默认的 Python 版本
pyenv global 3.12.0

验证 Python 是否安装成功

Terminal window
# 查看 Python 安装路径
which python
# 查看 Python 版本
python --version
  1. 安装 uv

uv 是一个高效率、高性能的第三方 Python 包管理工具,可以安装 Python 第三方库,运行可执行文件。

使用 uv 官方:https://docs.astral.sh/uv/ 提供的脚本一键安装:

Terminal window
curl -LsSf https://astral.sh/uv/install.sh | sh

验证 uv 是否安装成功:

Terminal window
# 查看 uv 的安装位置
which uv
# 查看 uv 版本
uv --version
# 查看 uvx 的安装位置
which uvx
# 查看 uvx 版本
uvx --version

uvx 是 uv 的扩展版本,在 uv 的基础上,会额外包含一些实验性功能。 这里我安装的 uv 和 uvx 的版本都是:0.6.12

安装完 uvuvx 之后,你就可以在电脑本地运行或者开发 Python 实现的 MCP 服务器了。

1.4.3 安装 Node.js 环境

  1. 先安装 Node.js 版本管理工具

推荐:https://github.com/Schniz/fnm

根据电脑操作系统型号,按照 fnm 的说明文档,一步步执行,在电脑上安装 fnm

配置完之后,查看 fnm 的版本,验证是否安装成功:

Terminal window
# 查看 fnm 安装路径
which fnm
# 查看 fnm 的版本
fnm --version
# 查看 fnm 使用说明
fnm --help

我当前安装的是:fnm 1.38.1 版本。

  1. 安装 Node.js

通过 fnm 安装指定版本的 Node.js

Terminal window
# 查看所有可安装的 Node.js 版本
fnm ls-remote
# 选择一个版本安装
fnm install v22.2.0

按照 MCP 协议官方的要求,Node.js 版本需要在 16 或以上,我安装的是 22.2.0 版本。

等待 Node.js 安装成功,可以继续操作

Terminal window
# 查看所有已安装的 Node.js 版本
fnm list
# 设置默认的 Node.js 版本
fnm use v22.2.0

验证 Node.js 是否安装成功

Terminal window
# 查看 Node.js 安装路径
which node
# 查看 Node.js 版本
node --version
  1. 安装 npm

npmNode.js 官方集成的一个包管理工具,可以安装 Node.js 第三方库。

npx 也是 Node.js 官方集成的一个工具,可以直接运行 npm 包中的命令,而不需要全局或本地安装。

验证 npmnpx 是否可用:

Terminal window
# 查看 npm 的安装位置
which npm
# 查看 npm 版本
npm --version
# 查看 npx 的安装位置
which npx
# 查看 npx 版本
npx --version

有了 npmnpx 之后,你就可以在本地电脑运行或者开发 Node.js 实现 MCP 服务器了。

接下来,我们演示在 MCP 官方发布的 Claude 桌面版使用 MCP 服务器

1.4.4 在 Claude 桌面版使用 MCP 服务器

  1. 下载 Claude 桌面版

浏览器打开网页: https://claude.ai/download

根据你的操作系统类型,下载对应版本的 Claude 桌面版软件:

  1. 发现 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 页面在线调试。

  1. 配置 MCP 服务器

以 MCP 官方实现的 time 这个 MCP 服务器举例,如果我们希望在 Claude 桌面版使用这个服务,应该如何配置。

首先我们要通过 MCP 官方服务器仓库,进入到这个 time MCP 服务器的说明页面

通过说明,我们知道这个 MCP 服务器的主要用途,是让大模型能够获取当前的时间,以及在不同时区之间进行时间转换。

我们知道,大模型是预训练的,默认情况下,是不知道当前时间的。比如你在 Claude 桌面版询问当前时间,Claude 会告诉你无法获取实时时间。

如果装上这个 time MCP 服务器,我们就可以扩展 Claude 获取实时时间的能力。

先来看一下这个 MCP 服务器如何配置:

在说明页可以看到,time 这个 MCP 服务器支持三种配置方式,分别通过 uvxdockerpython运行 MCP 服务器,启动本地进程,等待 MCP 客户端连接通信。

在前置准备的步骤,我们已经安装了 Pythonuvx,如果选择 docker 来运行这个 MCP 服务器,还需要在电脑上安装 docker,可以先不考虑这种方式。python 运行这个 MCP 服务器需要把代码拉到本地,也可以先不考虑。

我们选择用 uvx 来运行这个 MCP 服务器。

复制 MCP 服务器配置文件:

{
"mcpServers": {
"time": {
"command": "uvx",
"args": ["mcp-server-time"]
}
}
}

Claude 桌面版依次打开:SettingsDeveloperEdit 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 服务器。

在终端执行命令:

Terminal window
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 的时候,通过命令行参数指定本地时区:

Terminal window
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 服务器通信,发送的请求内容和得到的响应内容。

再问一遍之前的问题:

Terminal window
今天几号?现在几点?

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 工具的调用,实现对大模型本身能力的补足和增强。