Agentic Dev 平台的 MCP 服务器

2025-06-08

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 ⭐ 来表示您的支持。

⭐  GitHub 上的 Star Cyclops

GitHub 上的 Star Cyclops

MCP 服务器剖析

MCP 服务器支持两种类型的传输,或者“AI 代理如何与服务器通信” -stdinSSE

标准输入服务器以二进制文件的形式运行,代理通过标准输入向服务器创建请求,并通过标准输出接收响应。这在本地运行良好,但在公司环境中,让每个开发人员运行一个服务器可能会变得混乱。

另一方面,使用 SSE(服务器发送事件)传输的服务器通过 HTTP 进行通信。代理在 SSE 端点上订阅服务器以接收响应,然后通过 POST 请求发起请求。

通过 SSE 传输,MCP 服务器将集中于受控环境中,并以共享服务的形式公开。这不仅通过消除单独设置的需要提升了开发者体验,还减少了配置不一致,并最大限度地降低了本地管理实例引入安全漏洞的风险。

MCP 服务器架构设置

我们创建了一个设置,教你如何将你常用的 MCP 服务器部署到 Kubernetes 集群。部署完成后,你将拥有一个集中式的位置,可以在集群内部轻松管理它们或部署新的 MCP。

使用 Cyclops,我们创建了一个自定义模板,允许您通过 UI 轻松部署 MCP 服务器 - 甚至可以从 Docker 镜像部署自定义 MCP 服务器。

MCP 架构

上图是之前建议的架构。

拥有 MCP 服务器的专属工程团队可以通过 Cyclops UI 运行和管理这些服务器。该团队可以配置 MCP 服务器,使其与 Grafana 和 Redis 等现有的第三方应用程序进行通信。

从那里,所有其他工程师可以简单地将他们的 Cursor 连接到暴露的 MCP 服务器并允许它代表他们采取行动。

以下是具体的设置,您可以亲自尝试一下!告诉我们您的想法!

在 Kubernetes 上运行 MCP 服务器

要运行 MCP 服务器,需要满足以下几个先决条件:

  • 正在运行的 Kubernetes 集群
    • 如果您没有正在运行的集群,则可以使用 minikube创建一个。
  • kubectl 已安装
  • AI 代理 - 我们在教程中使用了 Cursor

您现在可以使用以下命令将 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
Enter fullscreen mode Exit fullscreen mode

它将创建一个名为的新命名空间 cyclops ,并部署 Cyclops 实例运行所需的一切。

现在剩下的就是将 Cyclops 服务器暴露到集群之外:

kubectl port-forward svc/cyclops-ui 3000:3000 -n cyclops
Enter fullscreen mode Exit fullscreen mode

您现在可以通过浏览器通过 http://localhost:3000访问 Cyclops 。

Redis MCP 示例

现在您的 Cyclops 已启动,我们可以在集群内沿着连接到该实例的 Redis MCP 运行 Redis 实例。

要运行 Redis 实例,请前往 Cyclops 并点击“添加模块”。现在,您可以从一堆模板中进行选择,并从中选择所需的 Redis 模板。

Cyclops Redis 模板 1

您现在可以为您的实例设置身份验证(将用于将 MCP 服务器连接到您的实例):

Cyclops Redis 模板 2

我设置了密码my-secret-password——稍后连接 Redis MCP 时会用到它。现在我就可以Deploy运行我的 Redis 实例了。

现在,您将被重定向到模块详情页面,显示您的 Redis 已启动。Redis 实例准备就绪后,您可以创建 MCP 服务器并连接它来管理您的实例。

Cyclops Redis MCP 模板 1

要运行 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 中使用以下机密引用。

Cyclops Redis MCP 模板 2
一旦你的 MCP 服务器启动并运行,你就需要将它暴露到集群之外。为了进行强化测试,你可以通过端口转发来实现。你可以运行以下命令:

kubectl port-forward -n default svc/redis-mcp 8000:8000
Enter fullscreen mode Exit fullscreen mode

如果您的 MCP 模块名称不同,请将其替换redis-mcp为您的模块名称。

您现在可以在 JSON 配置中配置 Cursor 以连接到您的 MCP 服务器:

{
  "mcpServers": {
    "redis": {
      "url": "http://localhost:8000/sse"
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

您现在可以向 Cursor 询问 Redis 数据库及其内部数据的状态。

其他 MCP 服务器

使用刚刚使用的模板,您可以轻松部署Wikipedia MCP 服务器Grafana MCP 服务器或自定义服务器,只需custom在服务下拉菜单中进行选择并在部分中定义 Docker 镜像即可Custom Docker image override

最后的想法

我们相信,人工智能正在开发者工作流程中找到自己的位置,但应该有一定程度的抽象和验证,以使其能够发挥作用并尽可能确保其安全。这是我们朝着这个方向迈出的第一步。

我们开源了它;欢迎试用并告诉我们您的想法!加入我们的 Discord,共同探讨 AI 和 Kubernetes 的话题 🙌

⭐  GitHub 上的 Star Cyclops

鏂囩珷鏉ユ簮锛�https://dev.to/cyclops-ui/mcp-servers-for-agentic-dev-platforms-3ja9
PREV
您可能需要开发者平台的迹象
NEXT
Kubernetes 是数据库吗?五分钟讲解 CRD