项目介绍

开源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/文件夹下,即可直接访问后端端口,实现平台预览

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐