在开发大语言模型(LLM)应用时,一个常见的挑战是如何让模型与外部世界进行有效交互,比如调用一个外部 API 来查询天气,或者从公司的数据库中获取产品信息。为了解决这个问题,一个名为 MCP 的开放协议应运而生。
MCP(Model Context Protocol)旨在为 LLM 应用与外部数据源、工具之间建立一套标准的通信规范。当我们需要开发或测试一个遵循 MCP 协议的服务时,一个好用的客户端工具就显得至关重要。Apifox 恰好提供了这样一个功能强大的 MCP 客户端。
什么是 MCP
在深入了解工具之前,有必要先弄清楚 MCP 协议本身解决了什么问题。简单来说,MCP 服务端就像一个能力中心,它向外声明自己能做什么、能提供什么数据。
一个标准的 MCP 服务端通常会提供三类核心能力,而一个合格的 MCP 客户端,就需要能与这三类能力进行交互和调试。
| 核心能力 | 说明 |
|---|---|
| Tools | 定义了服务端可以执行的具体操作,可以理解为一个个能被远程调用的函数。 |
| Resources | 代表服务端能够提供的数据资源,例如一个产品列表或一篇知识库文章。 |
| Prompts | 服务端预先定义好的提示词模板,客户端可以传入参数,动态生成最终的提示词。 |
此外,客户端与服务端之间的通信也需要标准化的方式。MCP 支持两种主流的传输协议,以适应不同的开发场景。一种是 STDIO,通过标准输入/输出进行通信,非常适合调试运行在本地的 MCP 服务进程。另一种是 HTTP,通过可流式传输的 HTTP 进行通信,适用于连接远程部署的 MCP 服务端。
在 Apifox 中开始使用 MCP 客户端
了解了基本概念后,就可以在 Apifox 中实际操作,创建一个 MCP 客户端来连接并调试一个 MCP 服务。
创建一个 MCP 客户端
这个过程非常简单。首先,在一个 HTTP 项目中,点击新建接口按钮。在弹出的界面中,可以看到除了常见的 HTTP、WebSocket 等协议外,还有一个专门的 MCP 选项。
选择 MCP,一个 MCP 客户端的配置界面就创建好了。

连接到 MCP 服务端
客户端创建后,下一步就是将其连接到一个正在运行的 MCP 服务端。Apifox 提供了非常灵活的连接方式,无论是本地调试还是连接远程服务,都能轻松应对。
最直接的方式是输入服务端的地址或启动命令。
如果是一个本地服务,可以直接粘贴其启动命令。例如,调试一个基于 Node.js 的 MCP 服务,可以输入以下命令:
npx -y @modelcontextprotocol/server-everything
Apifox 会智能识别出这是一条终端命令,并自动将下方的协议切换为 STDIO。
如果需要连接一个远程部署的 HTTP 服务,可以直接粘贴其 URL 地址:
https://example-server.modelcontextprotocol.io/mcp
同样,协议会自动切换为 HTTP。
对于更复杂的场景,Apifox 还支持直接粘贴 MCP 服务端的配置文件。比如,一个包含多个服务定义的 mcpServers 配置文件:
{
"mcpServers": {
"Everything Server": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-everything"],
"env": {}
}
}
}
将这段 JSON 粘贴到地址栏,Apifox 会自动解析并填充服务名称、命令、参数等信息。如果配置文件中包含多个服务端,默认会选用第一个。
完成地址或命令的填写后,点击“连接”按钮。如果是 STDIO 连接,由于需要执行本地命令,Apifox 会弹出一个安全确认对话框。确认后,便会启动本地进程并建立连接。如果是 HTTP 连接,则会直接向目标 URL 发起请求。
连接成功后,界面左侧的目录树会被自动填充,清晰地展示出该 MCP 服务端提供的所有 Tools、Resources 和 Prompts 列表。
调试 MCP 服务核心功能
连接成功只是第一步,真正的价值在于对服务提供的各项能力进行调试。
调试 Tools
Tools 是服务端提供的可执行函数。在左侧目录树中选择一个具体的 Tool,右侧便会显示其参数配置界面。可以像填写普通接口参数一样,通过表单或直接编辑 JSON 来设置参数。
参数配置完成后,点击“运行”按钮,请求就会被发送到服务端执行。执行结果将清晰地展示在下方的响应区域。

获取 Resources
Resources 是服务端提供的数据。调试过程更加简单,在目录树中选中一个 Resource,直接点击“运行”,就可以获取该数据资源的内容。这对于验证数据源是否正确、内容格式是否符合预期非常有帮助。

使用 Prompts
Prompts 则是预置的提示词模板。与 Tool 类似,选中一个 Prompt 后,如果它包含变量,右侧会显示参数填写区域。填入参数后点击“运行”,服务端就会返回一个根据模板和参数动态生成的完整提示词。

进阶配置选项
除了基本的调试功能,Apifox 还提供了一系列进阶配置,以满足复杂的测试需求。这些配置主要集中在连接设置面板。
连接配置
不同的连接协议,其配置项也有所不同。
| 功能 | 适用协议 | 说明 |
|---|---|---|
| 环境 (Environment) | STDIO |
用于配置启动本地 MCP 服务进程时所需的环境变量,例如 ACCESS_TOKEN 等。 |
| 鉴权 (Auth) | HTTP |
用于配置 HTTP 连接时的身份验证,支持多种鉴权方式。 |
| 请求头 (Headers) | HTTP |
允许在发起 HTTP 连接时添加自定义的请求头。 |
鉴权(Auth)详解
在与远程 HTTP 服务端通信时,身份验证是必不可少的一环。Apifox 的 MCP 客户端集成了其强大的 Auth 功能,支持包括 API Key、Bearer Token、Basic Auth、OAuth 2.0 在内的多种鉴权方式。
特别值得一提的是,如果目标 MCP 服务端支持 OAuth 2.0,Apifox 会尝试自动获取鉴权配置并引导用户完成授权流程,大大简化了配置过程。如果自动获取失败,也可以随时在 Auth 标签页中手动配置。
变量的使用
为了提升调试的灵活性和效率,Apifox 的变量系统在 MCP 客户端中也得到了全面支持。我们可以在以下位置使用 {{variable_name}} 的语法来引用环境变量或全局变量:
- 服务端地址或启动命令
STDIO模式下的环境变量值HTTP模式下的请求头和鉴权信息Tools或Prompts的参数值
查看响应与管理
调试过程中,清晰地查看每一次交互的细节至关重要。
理解响应面板
Apifox 将服务端的响应信息分成了两个标签页:Messages 和 Notifications。
Messages 标签页主要显示由用户操作触发的交互消息,例如连接/断开事件、运行 Tool 的请求与响应等。
Notifications 标签页则用来显示由服务端主动推送的消息,比如服务状态变更通知、工具列表更新等。
点击任何一条消息,都可以查看其完整的技术细节。如果需要深入分析原始的 JSON-RPC 报文,还可以切换到“包含信封”模式进行查看。
保存与共享
所有配置好的 MCP 客户端都可以像普通接口一样,保存在 Apifox 项目中。这不仅方便自己后续反复使用,更重要的是,可以轻松地在团队成员之间共享,确保大家使用统一的配置进行调试,提升协作效率。
需要注意的是,从服务端获取的 Tools、Prompts、Resources 目录树是动态的,仅存储在本地,每次重新连接时都会自动刷新,以确保客户端展示的始终是服务端最新的能力列表。
开发必备:API 全流程管理神器 Apifox
介绍完上文的内容,我想额外介绍一个对开发者同样重要的效率工具 —— Apifox。作为一个集 API 文档、API 调试、API 设计、API 测试、API Mock、自动化测试等功能于一体的 API 管理工具,Apifox 可以说是开发者提升效率的必备工具之一。
如果你正在开发项目需要进行接口调试,不妨试试 Apifox。注册过程非常简单,你可以直接在这里注册使用。

注册成功后可以先看看官方提供的示例项目,这些案例都是经过精心设计的,能帮助你快速了解 Apifox 的主要功能。
使用 Apifox 的一大优势是它完全兼容 Postman 和 Swagger 数据格式,如果你之前使用过这些工具,数据导入会非常方便。而且它的界面设计非常友好,即使是第一次接触的新手也能很快上手,快去试试吧!
