使用说明
🚀 SQLite MCP服务器和DataStudio
欢迎来到 SQLite MCP服务器 和 DataStudio 项目!此存储库包含一个完整的端到端解决方案,用于使用强大的模型上下文协议(MCP)查询本地SQLite数据库。它具有传统SQL查询和高级 问AI 自然语言界面。
该项目分为两个主要部分:
- 服务器(
/server):一个封装了Node.js Express的服务器better-sqlite3数据库,并通过服务器发送事件(SSE)公开MCP工具。它还包括一个LangGraph代理来处理自然语言查询。 - 客户(
/client):一个漂亮的、玻璃形态的React 19应用程序,使用Vite和Tailwind CSS v4构建,与服务器交互。
🛠 先决条件
在开始之前,请确保您的计算机上安装了以下内容:
- Node.js (建议使用v18或更高版本)
- npm (附带Node.js)
- 一 OpenAI API密钥 (“Ask AI”自然语言功能需要)
🚀 入门指南
按照以下步骤启动并运行服务器和客户端。
1.安装与环境
- 打开终端并导航到项目根目录。
- 安装前端和后端的依赖关系:
cd server && npm install cd ../client && npm install - 配置环境变量:
- 打开
/server/.env文件。 - 添加您的OpenAI API密钥:
OPENAI_API_KEY=your_actual_api_key_here
- 打开
2.启动两项服务
安装依赖项后,您可以使用提供的启动脚本同时启动服务器和React应用程序!
- 返回到根目录。
- 运行启动脚本(Linux/Mac):
./start.sh - 控制台将同时显示两个应用程序的输出。打开浏览器并导航到提供的URL(通常
http://localhost:5173/).
💻 如何使用DataStudio
一旦服务器和客户端都运行了,你就可以开始探索你的数据了!
🟢 状态检查
看左上角。你应该看到一个绿点和文字 “服务器已连接”。如果显示已断开连接,请确保您的服务器正在端口上运行 3001.
🗄 探索图式
- 在左侧边栏上,单击
products“数据库”部分下的表。 - 主面板将更新以显示确切的SQL
CREATE TABLE该表的语句和列。
📝 运行原始SQL
- 确保你在 “原始SQL” 选项卡。
- 在编辑器中键入标准SELECT查询。例如:
SELECT name, price, stock FROM products WHERE price > 100 ORDER BY price DESC; - 点击 “运行查询” 按钮(或按Enter键)。
- 结果将立即填充到下面光滑的数据表中!
✨ Ask AI(自然语言查询)
- 切换到 “询问AI(NL)” 选项卡。
- 在提示框中用简单的英语键入问题。例如:
- “给我看看3件最贵的东西。”
- “所有电子产品的总库存是多少?”
- “寻找价格低于50美元的产品。”
- 点击 “询问代理人” 按钮。
- AI将分析您的提示,连接到数据库模式,编写SQL并执行它!
- 观看UI显示:
- 🧠 智能体思考:人工智能是如何处理你的问题的。
- 💻 生成的SQL:它编写的确切SQL代码。
- 📊 结果:从数据库返回的确切行。
📁 项目结构
sqlite-mcp-server/
├── server/ # Backend Node.js Express application
│ ├── src/
│ │ ├── index.ts # Main Express server and MCP tool registration
│ │ ├── db.ts # SQLite database connection and initialization
│ │ └── agent.ts # LangGraph ReAct agent for Natural Language processing
│ ├── package.json
│ └── .env # OpenAI API Key goes here!
├── client/ # Frontend React 19 application
│ ├── src/
│ │ ├── App.tsx # Main Datastudio UI component
│ │ ├── index.css # Premium Tailwind v4 styling
│ │ └── lib/mcp.ts # MCP Server-Sent Events (SSE) connection hook
│ └── package.json
├── database.sqlite # The generated local SQLite database
└── .gitignore
享受MCP和AI的强大功能,探索您的数据! 🎈