Skip to content

Feature Request: 提供 Docker/Docker Compose 部署方案,并通过 mcp-proxy 支持 SSE/HTTP 协议 (适配 Dify) #5

@MystWeb

Description

@MystWeb

背景与痛点 (Background & Problem)
感谢快猫团队提供官方的 Nightingale MCP Server!目前体验下来功能非常强大。
但在实际企业级 AIOps 落地场景中,我们通常需要将 MCP Server 对接到诸如 Dify 这样的 Web 版 LLM 编排平台。当前官方版本默认仅支持 stdio 协议,这对于 Cursor/Claude Desktop 等本地 IDE 非常友好,但无法满足 Dify 等平台基于 HTTP/SSE 协议的网络调用需求。此外,官方仓库目前似乎还未提供官方的 Docker 镜像和容器化部署指南。

解决方案与实践 (Proposed Solution)
为了打通 N9e 与 Dify 的网络调用,我目前在本地通过构建 Docker 镜像,并引入 mcp-proxy 作为网络层桥接器,成功实现了 HTTP/SSE 协议的支持。

以下是我目前在生产环境中验证跑通的基础方案示例:

  1. Dockerfile

Dockerfile
FROM node:22-alpine

WORKDIR /app

设置国内源并同时安装夜莺 MCP 与开源通信桥接器

RUN npm config set registry https://registry.npmmirror.com &&
npm install -g @n9e/n9e-mcp-server mcp-proxy

EXPOSE 8082

使用 mcp-proxy 暴露网络端口,并将流量转发给 N9e MCP 的 stdio

CMD ["npx", "mcp-proxy", "--port", "8082", "--", "npx", "@n9e/n9e-mcp-server", "stdio"]
2. docker-compose.yaml

YAML
services:
mcp-n9e:
build:
context: ./n9e-mcp-server
container_name: mcp-n9e
restart: always
environment:
N9E_BASE_URL: "http://your_nightingale_ip:17000"
N9E_TOKEN: "your_n9e_api_token_here"
PORT: "8082"
ports:
- "8082:8082"
通过上述方案,Dify 已完美识别并接入了 N9e 的全部工具箱。

进度更新与贡献申请 (Action & Contribution)
为了让更多云原生用户能开箱即用,我建议将上述容器化方案集成到官方仓库中,甚至可以在 GitHub Actions 中配置 CI/CD,自动将镜像推送到 Docker Hub。

【Update】我已经提交了关联的 PR,补充了完善的 Dockerfile(包含 NPM 安装版与源码编译版)、docker-compose.yml 以及中英文的 README 部署文档。

此外,如果官方计划建立专门的 Docker 镜像仓库,我也希望能申请加入维护者行列,协助处理后续容器化架构的迭代与环境适配工作。期待回复,一起把 AIOps 生态做大做强!

Image Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions