Inshow AI Query MCP
Inshow AI Query MCP 是一个基于 MCP (Model Context Protocol) 协议的supabase 服务,支持 Streamable HTTP 和 STDIO 两种运行模式,可用于 AI 辅助数据库查询和分析。
本项目仅作为MCP学习项目用途
功能特性
- 支持最新的 Streamable HTTP 协议(与 Cherry Studio 兼容)
- 支持 STDIO 模式,方便集成到其他应用
- 提供数据库查询工具
- 支持数据分析工具和提示
- 基于 Supabase 的数据存储
安装
git clone https://github.com/zhycx1995/inshow-ai-query-mcp.git
cd inshow-ai-query-mcp
npm install
cp .env.example .env
使用方法
STDIO 模式 (默认)
npm start
node src/index.js
STDIO inspector调试模式
npm run inspect
Streamable HTTP 模式
npm start -- -m http -p 9000
npm start -- -m http -p 9000 -d
npm start -- -m http -p 9000 -d --allow-anonymous --session-timeout 60
命令行参数
-p, --port <number> | 服务端口号 | 9000 |
-m, --mode <string> | 运行模式 (stdio|http) | stdio |
-d, --debug | 启用调试模式 | false |
-e, --env <path> | 环境变量文件路径 | .env |
--supabase-url <url> | Supabase项目URL | - |
--supabase-key <key> | Supabase项目API密钥 | - |
--supabase-config <path> | Supabase配置文件路径(JSON) | - |
--allow-anonymous | 允许匿名SSE连接(仅HTTP模式) | false |
--session-timeout <minutes> | HTTP会话超时时间(分钟) | 30 |
--disable-session-cleanup | 禁用HTTP会话自动清理 | false |
--cors-origin <origin> | 允许的CORS来源 | * |
与 Cherry Studio 集成
本服务完全支持最新的 Streamable HTTP 协议,可以与 Cherry Studio 无缝集成。
测试集成
我们提供了一个测试脚本,可以验证服务器是否正确实现了Streamable HTTP协议,并且可以与Cherry Studio集成:
npm run start:streamable
npm run test:cherry
npm run cherry:test-with-server
在 Cherry Studio 中添加 MCP 服务
会话和调试
- 会话自动管理:服务器会生成会话ID并保持会话状态
- 会话自动清理:默认30分钟没有活动的会话会被自动清理
- 断线恢复支持:如果连接断开,Cherry Studio 可以使用相同的会话ID重新连接并继续交互
- 健康检查:访问 http://localhost:9000/health 可查看服务状态
技术实现
本服务基于 MCP 协议的最新规范实现,包括:
- 使用统一的
/mcp 端点处理所有请求
- POST 请求用于初始化和发送查询
- GET 请求用于建立 SSE 流接收流式响应
- DELETE 请求用于终止会话
- 支持会话状态恢复和无状态操作
- 提供丰富的错误处理和调试信息
贡献
欢迎提交问题报告和请求功能。请随时提出 Pull Request。
许可证
MIT