链载Ai

标题: 用MCPHub搭建本地自己的MCP平台 [打印本页]

作者: 链载Ai    时间: 昨天 13:24
标题: 用MCPHub搭建本地自己的MCP平台

阿里云最新推出的百炼MCP平台在降低AI大模型接入门槛的同时,也暗藏企业必须警惕的三大隐患:1)生态封闭导致的工具链锁定风险;2)敏感数据必须流经第三方平台的安全隐患;3)未来可能突变的成本架构。本文将将详细介绍如何使用MCPHub作为更安全灵活的本地化替代方案,助您构建真正可控的MCP集成管理平台。

什么是MCPHub

MCPHub 是一个统一的 MCP(Model Context Protocol,模型上下文协议)服务器聚合平台,可以根据场景将多个服务器聚合到不同的流式 HTTP(SSE)端点。

MCPHub提供了以下功能:

集中式管理控制台:在一个简洁的 Web UI 中实时监控所有服务器的状态和性能指标。

基于分组的访问控制:自定义分组并管理服务器访问权限。

安全认证机制:内置用户管理,基于 JWT 和 bcrypt,实现角色权限控制。

MCPHub本地部署

MCPHub支持docker部署,只需拉取docker镜像,运行容器就行

docker pull samanhappy/mcphub:0.5.4-full
docker run -d --restart unless-stopped --name mcphub -p 10086:3000 samanhappy/mcphub:0.5.4-full

容器启动后,网页访问就能看到MCPHub已经部署好了。默认用户名/密码为 admin / admin123

MCPHub 页面

管理本地MCP服务

本地MCP服务

采用前篇文章中提到的MCP服务做示例,用MCPHub来管理我们自己的MCP服务。本次管理的MCP服务未为:

1️⃣MCP服务一:Coze联网检索《dify+Coze改造MCP" data-itemshowtype="0" linktype="text" data-linktype="2">零成本搭建联网智能体:Dify+Coze改造MCP》

该MCP能够调用coze联网检索的工作流,并返回检索信息。需要两个参数search_contentn,分别表示检索的文本,和返回的网页数量。

2️⃣MCP服务:本地数据库查询

该MCP服务能够查询某天的销售数据、以及查询某个商品信息,共两个接口。查询销售数据需要一个参数date_start,表示查询的日期。查询商品信息,需要一个参数item_name,表示查询的商品名称。

启动本地MCP服务

我们在同一台服务器上启动MCPHub,和以上两个服务,我们先启动这些服务,先创建一个docker-compose.yml文件,编译以下内容:

version:'3'

services:
mcphub:
image: samanhappy/mcphub:0.5.4-full
container_name: mcphub
restart: unless-stopped
ports:
-10086:3000
networks:
- default
- local_network

cozemcp:
image: cozemcp:v0.1
restart: always
networks:
- local_network
- default

fastapimcp:
image: fastapimcp:v0.1
restart: always
networks:
- local_network

networks:
local_network:
driver: bridge
internal: true

切换到该文件目录下,假设为mcphubrun

cd mcphubrun/
docker compose up -d
Docker Compose 启动MCP服务

MCPHub添加本地MCP服务

服务器页面,点击添加服务器,依次把我们的两个MCP服务添加。

添加完成后,在服务器页面观察以下,显示 在线 表示我们的MCP服务添加成功了。

大模型测试

Cherry Studio测试

在 设置 -> MCP服务器 -> 添加服务器,选择 服务器发送事件(sse),在URL中填入你部署的MCPHub的服务器地址。

Cherry Studio 添加MCPHub服务

工具Tab页面,查看可用的工具。

MCPHub 可用工具

在聊天对话中进行测试,测试Coze联网检索

Coze联网检索MCP测试

测试本地数据库查询

本地数据库查询MCP测试

Dify 测试

Dify 测试结果






欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5