Agentic Dev 平台的 MCP 服务器
在过去的几个月里,MCP(模型上下文协议)的概念蓬勃发展。MCP(模型上下文协议)由 Anthropic 开发并于 2024 年底发布。它允许 AI 代理和 LLM 与第三方 API 交互,从而处理真实数据,并允许它们代表您执行操作。
对于 Redis MCP,正如您将在博客中进一步看到的那样,这意味着您可以使用自然语言搜索数据库。
现在,要利用 MCP 并允许它与其他 API 交互,您将需要一个 MCP 服务器来向您的代理公开要使用的工具。
最大的问题是如何在不增加开发人员工作负担的情况下运行 MCP 服务器。让每个人都搭建自己的本地服务器非常繁琐,而且容易导致各种不一致。将其集中化为共享服务可以简化流程、确保安全,并让您的团队专注于构建服务器,而不是照看服务器。
通过这篇博客,我们将介绍如何在 Kubernetes 上运行 MCP 服务器。通过这样的设置,您可以将它们用于不同的用例,并允许您的开发人员轻松地连接到它们。
支持我们🙏
我们知道 Kubernetes 的使用并非易事。因此,我们创建了 Cyclops,一个用于在 Kubernetes 上构建开发者平台的开源框架。它能够抽象化 Kubernetes 的复杂性,并通过可定制的 UI 部署和管理您的应用程序,满足您的需求。
我们正在将 Cyclops 开发为一个开源项目。如果您有兴趣尝试一下,可以参考我们代码库中的快速入门指南。如果您喜欢,请给我们一个 star ⭐ 来表示您的支持。

MCP 服务器剖析
MCP 服务器支持两种类型的传输,或者“AI 代理如何与服务器通信” -stdin
和SSE
。
标准输入服务器以二进制文件的形式运行,代理通过标准输入向服务器创建请求,并通过标准输出接收响应。这在本地运行良好,但在公司环境中,让每个开发人员运行一个服务器可能会变得混乱。
另一方面,使用 SSE(服务器发送事件)传输的服务器通过 HTTP 进行通信。代理在 SSE 端点上订阅服务器以接收响应,然后通过 POST 请求发起请求。
通过 SSE 传输,MCP 服务器将集中于受控环境中,并以共享服务的形式公开。这不仅通过消除单独设置的需要提升了开发者体验,还减少了配置不一致,并最大限度地降低了本地管理实例引入安全漏洞的风险。
MCP 服务器架构设置
我们创建了一个设置,教你如何将你常用的 MCP 服务器部署到 Kubernetes 集群。部署完成后,你将拥有一个集中式的位置,可以在集群内部轻松管理它们或部署新的 MCP。
使用 Cyclops,我们创建了一个自定义模板,允许您通过 UI 轻松部署 MCP 服务器 - 甚至可以从 Docker 镜像部署自定义 MCP 服务器。
上图是之前建议的架构。
拥有 MCP 服务器的专属工程团队可以通过 Cyclops UI 运行和管理这些服务器。该团队可以配置 MCP 服务器,使其与 Grafana 和 Redis 等现有的第三方应用程序进行通信。
从那里,所有其他工程师可以简单地将他们的 Cursor 连接到暴露的 MCP 服务器并允许它代表他们采取行动。
以下是具体的设置,您可以亲自尝试一下!告诉我们您的想法!
在 Kubernetes 上运行 MCP 服务器
要运行 MCP 服务器,需要满足以下几个先决条件:
您现在可以使用以下命令将 Cyclops 安装到您的 Kubernetes 集群中(附带用于部署 MCP 服务器的 UI):
kubectl apply -f https://raw.githubusercontent.com/cyclops-ui/cyclops/v0.20.3/install/cyclops-install.yaml && kubectl apply -f https://raw.githubusercontent.com/cyclops-ui/cyclops/v0.20.3/install/demo-templates.yaml
它将创建一个名为的新命名空间 cyclops
,并部署 Cyclops 实例运行所需的一切。
现在剩下的就是将 Cyclops 服务器暴露到集群之外:
kubectl port-forward svc/cyclops-ui 3000:3000 -n cyclops
您现在可以通过浏览器通过 http://localhost:3000访问 Cyclops 。
Redis MCP 示例
现在您的 Cyclops 已启动,我们可以在集群内沿着连接到该实例的 Redis MCP 运行 Redis 实例。
要运行 Redis 实例,请前往 Cyclops 并点击“添加模块”。现在,您可以从一堆模板中进行选择,并从中选择所需的 Redis 模板。
您现在可以为您的实例设置身份验证(将用于将 MCP 服务器连接到您的实例):
我设置了密码my-secret-password
——稍后连接 Redis MCP 时会用到它。现在我就可以Deploy
运行我的 Redis 实例了。
现在,您将被重定向到模块详情页面,显示您的 Redis 已启动。Redis 实例准备就绪后,您可以创建 MCP 服务器并连接它来管理您的实例。
要运行 MCP 服务器,请转到Add Module
屏幕并选择mcp-server
模板。在“Configure
模板”部分中,将有一个下拉菜单,用于选择您需要的 MCP 服务器类型,在本例中为redis
。
为了向刚刚部署的 Redis 实例验证 MCP 服务器的身份,我们需要向其传递主机和密码:
REDIS_HOST
- 您的实例的主机。您的实例应该可以在 上访问{module name}-redis-master.{namespace}
。我们部署的实例名为cache
,并在命名空间中运行default
- 因此cache-redis-master.default
REDIS_PORT
- 默认端口是6379
我们没有更改的REDIS_PWD
- 先前已在身份验证中设置。在我们的例子中是my-secret-password
。对于生产用例,您可以在 UI 中使用以下机密引用。
一旦你的 MCP 服务器启动并运行,你就需要将它暴露到集群之外。为了进行强化测试,你可以通过端口转发来实现。你可以运行以下命令:
kubectl port-forward -n default svc/redis-mcp 8000:8000
如果您的 MCP 模块名称不同,请将其替换redis-mcp
为您的模块名称。
您现在可以在 JSON 配置中配置 Cursor 以连接到您的 MCP 服务器:
{
"mcpServers": {
"redis": {
"url": "http://localhost:8000/sse"
}
}
}
您现在可以向 Cursor 询问 Redis 数据库及其内部数据的状态。
其他 MCP 服务器
使用刚刚使用的模板,您可以轻松部署Wikipedia MCP 服务器、Grafana MCP 服务器或自定义服务器,只需custom
在服务下拉菜单中进行选择并在部分中定义 Docker 镜像即可Custom Docker image override
。
最后的想法
我们相信,人工智能正在开发者工作流程中找到自己的位置,但应该有一定程度的抽象和验证,以使其能够发挥作用并尽可能确保其安全。这是我们朝着这个方向迈出的第一步。
我们开源了它;欢迎试用并告诉我们您的想法!加入我们的 Discord,共同探讨 AI 和 Kubernetes 的话题 🙌
鏂囩珷鏉ユ簮锛�https://dev.to/cyclops-ui/mcp-servers-for-agentic-dev-platforms-3ja9