写在前面
mcp-gateway是关于mcp使用的一个解决方案,它介于mcp-client与mcp-server之间,详细的说明可以参考之前的文章如何为 MCP 工作流提供安全网关与统一治理
本文会逐步拆解讲解下究竟如何使用mcp-gateway,以及他的安装启用方式。我会以windows环境和cursor作为演示。
一、安装准备
1.1 安装python
参考项目文档,选择合适的python版本安装。

这里我们可以访问官网,选择Windows版本的python包,然后找到合适的版本安装。
按提示安装即可,安装目录可以放到非C盘目录下,记得选择将python添加到Path。安装完成后,我们在命令行窗口输入python -V,能正常显示python的版本号,即安装成功。

1.2 安装 mcp-gateway 包
安装完 Python ,输入 pip install mcp-gateway 来安装mcp-gateway包。

安装完我们测试下mcp-gateway是否能正常启动,这里需要注意下,由于目前下载下来的mcp-gateway包中可能存在引入包版本的问题,有个地方需要处理下否则会无法正常启动,比较简单的办法我们直接找到代码修改下即可。
在python的安装包目录下,默认是以下路径,找到gateway.py文件:
C:\Users\**\AppData\Roaming\Python\Python313\site-packages\mcp_gateway\gateway.py找到第452行代码,我们将其中的版本参数去掉,修改后为:
# Initialize the MCP gateway server
# Pass description and version if desired
mcp = FastMCP("MCP Gateway", lifespan=lifespan)运行下一下命令是看下是否能正常启用
mcp-gateway --mcp-json-path ~/.cursor/mcp.json -p basic -p xetrack实操在改完后这里是能正常启动的。
1.3 安装Cursor
这里访问cursor官网 ,下载符合系统要求的版本按提示安装即可。安装很简单,至于cursor的使用方法不是本文的重点。
二、使用详解
关于如何使用mcp-gateway,按照使用场景可以分为两种方式。
- 个人使用:
如果只是个人使用,我们可以直接将mcp-gateway以类似stdio的形式运行在本地。
- 团队使用:
如果是企业场景,比如需要所有的开发团队在使用cursor时,需要统一管控所有的mcp-server,那肯定不能在每个人的电脑配置一套mcp.json,比较好的方式是专门部署mcp-gateway,然后每个人电脑上的cursor再去访问这个mcp-gateway。
接下来我们来具体讲解下这两种方式。
2.1 Cursor / Claude本地客户端
在第一步按要求安装好所有的软件后,修改cursor的mcp配置文件。在cursor的设置页面,会有个MCP选项(这里不同版本的cursor会有所不同),进入MCP选项后点击“编辑”或者“新增MCP server”会进入到mcp.json配置文件,
我们将以下这段配置复制进去:
{
"mcpServers": {
"mcp-gateway": {
"command": "mcp-gateway",
"args": [
"--mcp-json-path",
"~/.cursor/mcp.json",
"--plugin",
"basic",
"--plugin",
"xetrack"
],
"servers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"."
]
}
}
}
}
}这样就配置结束了,cursor会在启动或者手动加载mcp服务时自动取启动mcp-gateway服务。在上面的配置中我们将文件mcp-server作为子服务器添加了进来,在cursor加载完他的mcp-server后,他会把server-filesystem中的工具全部都列了出来:

我们看下使用效果,我在对话中让他帮我查询D盘目录下的文件,可以看到他会去正常调用相应的工具:

2.2 远程集中管理mcp-server
那个人使用按照第一种方式没啥问题,如果是团队就不行了,团队需要统一管控MCP服务器,单独部署MCP Gateway,大概架构图如下:

那这里本来是设想在服务器安装mcp-gateway以后,客户端通过http服务的形式来访问,目前了解下来发现mcp-gateway提供的是stdio的数据传输方式,并没有提供http,如果这里需要远程集中管理,需要将mcp-gateway调整为支持steamable http或sse的方式对外提供mcp-server服务
2.3 自建MCP Host防护
本来这里的预期是想通过mcp-gateway来集中管控企业内部的mcp-server或者是外部社区的mcp-server,但是一顿操作下来发现,这里的mcp-gateway可能更加适合为自建的mcp host做安全服务。就像项目官方展示的示意图一样:

比如像飞书的aily智能体,它支持启用mcp服务,可以是自建的,也可以是从外部社区引入的,那这里完全可以在飞书的飞书艾莉侧部署一个mcp-gateway用来做安全防护,因为对于用户他可能会把各种各样的mcp-server引入到aily智能体,确实需要一个安全网关来作为防护。
当然第二种方式,想要集中管理mcp-server也是可行的,只是需要将mcp-gateway改成能对外提供远程服务的,同时现在的这个mcp-gateway没有可视化管理页面,这也是他的一个弱点,








