MyMcp(2)-打造自己的开源MCP服务-MyMcp服务搭建启动教程
项目介绍
开源MCP广场,私有化部署自己的MCP服务_魔塔mcp-CSDN博客
效果示例
效果说明:
提问:查询10条告警数据的设备编号、告警时间,先通过工具查询告警表是哪个,再用查询sql的方法,查询数据。不是查询表字段信息,是查询表中记录的行数据
大模型根据提问 和 MCP工具,自动执行了下面的步骤:
1.查询出了可以用的MCP工具
-
execute_raw_query
-
get_all_tables
-
get_table_columns
-
get_table_data
2.选择get_all_tables工具,查询所有的表数据
[{"name": "com_alarm_data", "comment": "", "CREATE_TIME": "2025-04-10 11:49:07", "UPDATE_TIME": "2025-05-07 13:56:17"}, {"name": "com_alarm_level", "comment": "", "CREATE_TIME": "2024-05-20 17:07:57", "UPDATE_TIME": null}, {"na...
3.选择了com_base_alarm表
4.选择execute_raw_query工具,编写sql查询,从alarm表查询device_id,查询结果是没有该字段
5.重新选择get_table_colums工具,查询alarm表有哪些字段
6.选择execute_raw_query工具,编写sql,从alarm表查询DeviceCode、AlarmTime字段的数据(因为问题是告警设备编号和时间)
7.调用图表mcp工具,生成echarts图表代码,页面上渲染
1.拉取项目
拉取工程到本地
MyMcp: MCP服务管理平台,能自建各种MCP服务,并发布为在线的MCP SSE服务地址。
项目预览
2.后端
2.1创建python环境
以conda为例,创建conda环境,命名可以是mcp。python版本推荐3.11
等待创建成功后
切换为刚创建的conda环境,conda activate mcp-test
cd backend(进入后端目录),安装python依赖,推荐清华源
pip install -r .\requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
2.2调整配置文件
新建配置文件,在backend路径下,复制config.jsonbak为config.json
2.3配置文件结构
配置文件 backend/config.json 包含以下主要部分:
1. cors(跨域资源共享配置)
"cors": {
"origins": ["*"], // 允许的来源域,"*"表示允许所有域
"credentials": true, // 是否允许发送身份凭证
"methods": ["*"], // 允许的HTTP方法,"*"表示允许所有方法
"headers": ["*"] // 允许的HTTP头,"*"表示允许所有头信息
}
2. api(API配置)
"api": {
"prefix": "/api", // API路径前缀
"title": "Egova AI MCP Server", // API标题
"version": "1.0.0" // API版本号
}
3. server(服务器配置)
"server": {
"host": "0.0.0.0", // 服务器绑定地址,0.0.0.0表示监听所有网络接口
"port": 8002, // 服务器监听端口
"debug": true // 是否开启调试模式
}
4. mcp(MCP特定配置)
"mcp": {
"port": 8002, // MCP服务端口
"sse_url": "http://10.4.1.132:8002/sse", // 服务器发送事件(SSE)URL
"enabled_tools": [] // 启用的工具列表
}
5. logging(日志配置)
"logging": {
"level": "info", // 日志级别
"backup_count": 7 // 日志备份数量
}
6. database(数据库配置)
"database": {
"type": "mysql", // 数据库类型,支持mysql和sqlite
"file": "mcp.db", // 数据库文件(用于SQLite等文件型数据库)
"mysql_host": "127.0.0.1", // MySQL主机地址
"mysql_port": 3306, // MySQL端口
"mysql_user": "root", // MySQL用户名
"mysql_password": "123456", // MySQL密码
"mysql_database": "mcp" // MySQL数据库名
}
mysql模式会连接mysql数据库,需要新建一个库,服务启动会自动初始化
sqlite模式会在服务启动时,自动在backend下新建db数据库
2.4启动服务
在backend目录下
python run.py
3.前端
frontend文件夹为前端工程,需要安装node,编译工具推荐yarn(npm也可以)
环境版本说明:
node:v18.20.4
yarn:1.22.15
3.1安装依赖
cd frontend
yarn install
等待安装成功
3.2启动前端
进入frontend文件夹
yarn run dev
启动后,即可访问前端
默认用户名密码是:admin mcp@12345
启动后会内置示例工具,数据库助手、tavily_search工具需要配置对应的数据库信息 和 key
后端地址配置在vite.config.ts,前端会把/api请求,转发到后端服务上
3.3打包
进入frontend文件夹
yarn run build
打包成功后,将生成的dist文件夹,放到backend/文件夹下,即可直接访问后端端口,实现平台预览
更多推荐
所有评论(0)