发布于 2025-12-08 0 阅读
0

Agentic Dev 平台的 MCP 服务器

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