Token导航 LogoToken导航TokenDH.com
Sqlite Mit MCP logo
数据服务stdio官方级别未说明来源级核验

Sqlite Mit MCP

MCP Server

通过MCP协议使LLM能够查询SQLite数据库的Python实现项目。

工具数

3

提示词数

0

GitHub Stars

0

资源数

0
SQLite数据分析PythonClaude模型集成Claude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

FlowTheTensor

提供方

FlowTheTensor

最后核验

2026/5/17 20:19

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m venv venv

详细介绍

SQLite MCP服务器项目(FastMCP)

一个学习如何通过MCP服务器查询LLM的SQLite数据库的项目。使用FastMCP进行简单的Python实现。

这是MCP吗?

模型上下文协议(MCP) 它是一个开放的标准,允许大语言模型(LLM)与外部数据源和工具进行通信。在这个项目中,我们使用MCP让LLM访问SQLite数据库。

概述:系统如何运作?

申请人(即运行AI(LLM)的程序)可以

  • 请求 MCP 服务器的工具概述:客户端会询问服务器提供哪些工具。Protocol Message 的方法是 tools/list
  • 使用工具:之后,客户端可以通过使用工具 tools/call使用的方法。

MCP 协议 https://modelcontextprotocol.io/specification/2025-03-26/server/tools#message-流量)

探索过程

sequenceDiagram
    
    participant Client as Client (z.B. Claude)
    participant Server as Server
    
    Note over Client,Server: Erkundung
    Client->>Server: tools/list
    Server-->>Client: Liste der tools
   
    
    Note over Client,Server: Updates
    Server-->>Client: tools/list_changed
    Client->>Server: tools/list
    Server-->>Client: Updated tools

调用过程

sequenceDiagram
participant User as Benutzer
participant LLM as LLM 
(z.B. Sonnet 4.5)
    participant Client as Client
 (z.B. Claude Desktop)
    participant Server as Server
    participant App as Programm 
(z.B. Datenbank)

   User->>LLM: Anfrage in 
natürlicher Sprache
   LLM->>LLM: wählt tool anhand Kommentar aus
   LLM->>Client: tool Name??
    Note over Client,Server: Aufruf per stdio
    Client->>Server: tools/call
    Note over Server,App: Aufruf per REST API
    Server->>App: HTTP GET
    App-->>Server: HTTP RESPONSE
    Server-->>Client: Tool result als JSON RPC
    Client-->>LLM: ??
    LLM-->>User: für Menschen 
aufbereitetes Ergebnis
   

服务器的响应通过JSON RPC作为工具结果传输。 这些可以是文本,音频,图像或嵌入式。

以下是文本示例 https://modelcontextprotocol.io/specification/2025-03-26/server/tools#text-内容

{
  "type": "text",
  "text": "Tool result text"
}

我们举个具体的数据库示例。

graph TB
    User[👤 Benutzer] -->|Frage in natürlicher Sprache| Claude[🤖 Claude Desktop]
    Claude -->|MCP Protokoll| Server[🔧 MCP Server
FastMCP]
    Server -->|SQL Query| DB[(📊 schule.db
SQLite)]
    DB -->|Ergebnis| Server
    Server -->|JSON Daten| Claude
    Claude -->|Antwort| User
    
    style Claude fill:#e8e8e8,stroke:#000,stroke-width:3px,color:#000
    style Server fill:#c0c0c0,stroke:#000,stroke-width:3px,color:#000
    style DB fill:#888,stroke:#000,stroke-width:3px,color:#fff

详细的沟通流程

sequenceDiagram
    participant U as 👤 Benutzer
    participant C as 🤖 Claude
    participant M as 🔧 MCP Server
    participant D as 📊 Datenbank
    
    U->>C: "Zeige alle Schüler aus Klasse XY"
    C->>C: Analysiere Anfrage
    C->>M: Tool-Aufruf: query_database()
    Note over C,M: MCP Protokoll (JSON-RPC)
    M->>M: Validiere Query (nur SELECT)
    M->>D: SELECT * FROM schueler WHERE klasse='XY'
    D->>M: Ergebnis-Rows
    M->>M: Konvertiere zu JSON
    M->>C: JSON Antwort
    C->>C: Antwort in Chat-Nachricht umsetzen
    C->>U: "Hier sind die Schüler aus XY: ..."

项目结构

sqlite-mcp/
├── src/
│   └── index.py          # Der MCP-Server Code (Python)
├── create_database.py    # Script zum Initialisieren der Datenbank
├── requirements.txt      # Python Abhängigkeiten
├── pyproject.toml        # Python Projekt-Konfiguration
└── schule.db            # Die SQLite-Datenbank (wird erstellt)

示例数据库

数据库 schule.db 包含四个表格:

1. 舒勒

  • 包含有关学生的信息(姓名,班级,出生日期,电子邮件)
  • 10个不同班级的学生

2. 老师

  • 关于教师的信息(姓名,专业,房间)
  • 5 不同学科的教师

3. 课程

  • 课程信息(姓名,老师,房间,时间表)
  • 5个不同的课程

4. 笔记

  • 学生在不同课程的成绩
  • 各种类型:闭语,口头笔记,家庭作业

安装说明:SQLite MCP Server (FastMCP)

快速启动指南

0.Git回购克隆

在项目文件夹中打开 PowerShell 有管理员权限 并导出:

git clone https://github.com/FlowTheTensor/SQLite-mit-MCP.git
cd SQLite-mit-MCP

创建虚拟环境(推荐)

python -m venv venv
.\venv\Scripts\Activate.ps1

2、安装依赖关系

pip install -r requirements.txt

这将安装FastMCP和所有必要的Python软件包。

创建数据库(如果没有 schueler.db 则可选)

python create_database.py

您应该看到消息:“✓数据库创建成功”

3.1 手动查询数据库

import sqlite3

conn = sqlite3.connect("schule.db")
cursor = conn.cursor()

# Abfrage ausführen
cursor.execute("SELECT * FROM schueler LIMIT 10")

# Alle Zeilen holen
rows = cursor.fetchall()

# Spaltennamen aus dem Cursor
spalten = [description[0] for description in cursor.description]
print(spalten)

# Ergebnisse ausgeben
for row in rows:
    print(row)

conn.close()

4. 集成到 Claude Desktop

自动配置(推荐):

只需运行配置脚本:

python generate_config.py

该脚本将显示您的配置并将其保存到 claude_desktop_config.json.

然后:

  • 进入 Claude 桌面 下方的链接到您的用户图标 (如果需要, 最大化窗口)
  • 那里 Einstellungen
  • EntwicklerConfig bearbeiten
  • 打开文件 claude_desktop_config.json 使用文本编辑器
  • 从生成的内容复制 claude_desktop_config.json 进入

______________________________________________________________________

重要 : Claude Desktop 需要 绝对Pfade 相对路径不起作用。

5. 重新启动 Claude 桌面

  • 通过任务管理器关闭 Claude Desktop 并重新启动 Claude Desktop。
  • 现在,Claude 中的 MCP 服务器应该可用,并在 running 站起来。

6.测试

问Claude一个问题,比如:

Welche Schüler gibt es in der Datenbank?

Claude现在应该可以查询数据库了!

试用问题示例

很简单:

  • “显示所有学生”
  • “有哪些老师?”
  • “列出所有课程”

资金:

  • “显示所有10A级学生”
  • “Max Mustermann有什么成绩?”
  • “谁教计算机科学?”

高级 :

  • 《安娜·施密特的平均分》
  • “哪些学生在数学中有一个逗号前面的1?”
  • “显示所有学生名称和课程名称的成绩单”

了解数据库结构

数据库有四个表:

📚 舒勒学生信息

  • ID, 名字, 姓氏, 类, 出生日期, 电子邮件

👨‍🏫 老师教师信息

  • id,名字,姓氏,门,空间

📖 课程课程信息

  • ID,课程名称,教师ID,空间,工作日,时间

📝 笔记: 音符

  • id、schuel_id、kurs_id、注释、数据、艺术

常见问题

克劳德回答,但没有数据库访问权限? 服务器配置不正确或 Claude 没有重新启动

“ModuleNotFoundError:没有名为'fastmcp'”Fehler的模块?pip install -r requirements.txt 执行 → 确保 venv 已启用,或在配置中使用 venv-Python 路径

数据库是空的?python create_database.py 执行

找不到 Python 命令? →尝试 py 而非 python 确保Python已安装

背景发生了什么?

  1. 你问Claude一个问题
  2. Claude意识到需要数据库信息
  3. Claude 调用其中一个工具:

- list_tables 有哪些表格? - describe_table 一张表怎么样? - query_database 执行 SQL 查询

  1. MCP 服务器执行查询
  2. 克劳德得到结果并回答你

实验任务

  1. 向数据库提问5个问题
  1. 显示所有表格的结构
  1. 问一个科目中最好的学生
  1. 让 Claude 创建包含多个表的复杂查询
  1. 实验聚合(平均值,数量等)

祝你好运! 🚀

目录标签

目录标签

SQLite数据分析PythonClaude模型集成本地部署MCP协议LLM集成数据库查询Python工具

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP