HTTP MCP服务器

Diode MCP服务器是一个用于构建和部署可通过Diode网络发布的HTTP(可流式HTTP)MCP服务器的参考布局,支持HTTPS和端到端加密连接。

  • by hansr
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 hansr/mcp-example

使用说明

二极管MCP服务器(参考模板)

此存储库是 二极管参考布局 用于构建和部署 HTTP(流式HTTP)MCP服务器 那可以 在二极管网络上发布 因此,客户可以到达 https://<your-client-id>.diode.link:<PORT>/mcp (通过HTTPS)或 diode://<your-client-id>:<PORT> (通过E2EE),无需打开防火墙端口。

快速启动(本地)

服务器启动工具和Diode CLI,并通过系统首次运行时分配的Diode客户端地址发布工具。默认情况下,它将在Diode客户端地址上公开发布工具。请参阅下面的“设置.env…”。

curl -Ssf https://diode.io/install.sh | bash # install Diode CLI
cd ~/projects # or whatever your project directory is
git clone git@github.com:diodechain/mcp-example.git
cd mcp-example
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
.venv/bin/python server.py

运行此程序时,您应该看到以下内容:

使用它

您可以通过E2EE连接立即开始使用此工具,方法是将其添加到私人AI工作区,网址为https://nexus.diode.io-观看视频:

使用此的项目

  • Diode Deployer:通过安全的用户连接启动并运行您的vibe编码应用程序
    • https://github.com/diodechain/diodedeploy-mcp
  • 许多其他人。..

自定义工具和访问权限

创建新工具

在您最喜欢的编辑器中打开此项目,并在几分钟内感受到一个新工具。或者,使用中提供的示例手动创建工具。/工具目录。别忘了在config.yml中列出这些工具来启用它们。

设置.env以指定发布端口等。。。

您可以将.env.example.复制到.env,并将默认值更改为需要私有发布(仅限E2EE)。还支持Diode Perimeters,因此您的IT人员可以管理发布-从Diode ZTNA控制台获取周边地址并在.env中设置。

启动时,请查看日志-本地MCP服务器URL是临时分配的,在启动时打印并发布到您指定的DIODE_PUBLISH_PORT(默认为8080)。

部署到生产环境

确认所有内容都在运行,并确保您的.env已按照快速入门和自定义工具和访问进行设置。

一旦它按照您想要的方式运行,将其部署到目标系统并按照 ./deploy/README.md 以确保它在目标系统上长期存在。您可以覆盖系统特定部署服务文件中的.env设置。

二极管CLI

  • 安装: https://diode.io/download/#cli
    或者: curl -Ssf https://diode.io/install.sh | bash
  • 放 diode 上 PATH,或放置名为的可执行文件 diode 在 项目根目录 或以下 diode_client/.
  • 启动时,该过程会打印 本地 以及(如适用) 公共 发布成功时的MCP URL。
  • 二极管工作目录 因为生成的CLI是 diode_client/; 数据库, 日志,并在那里创建其他客户端文件(运行时路径为gitignored)。

更多二极管信息

要求等

在MacOS、Ubuntu和Raspberry Pi(基于Debian)上进行了测试。

需要大约50MB的RAM,请参阅requirements.txt了解python包deps。

项目布局

路径 角色
tools/ MCP工具模块(自定义以创建自己的工具).
config.yml 列出要启用的工具。
deploy/ Linux(.service/systemd)和MacOS(.plist/launchd)的系统部署模板-请参阅deploy/README.md
.env_example 二极管 加入/发布环境变量;复制到 .env 当地。
diode_client/ diode_manager.py (二极管CLI生命周期),可选本地 diode 二进制、运行时DB/日志。
requirements.txt Python deps用于服务器进程。
server.py aiohttp应用程序,JSON-RPC POST /mcp,工具装载从 config.yml,始终启动二极管。
example_client/ 只是一个参考——列出工具并调用一些操作的最小HTTP客户端。

MCP客户端示例

应适用于任何快速MCP风格的客户端。但是,已经明确地包含了一个简单的客户端:

pip install httpx   # if not already
# Set MCP_SERVER_URL in example_client/client_example.py to match the port in the server log
.venv/bin/python example_client/client_example.py

其他