edu-db-readonly-mcp
Edu DB Readonly MCP — Gateway für schreibgeschützte Bildungs- und Verwaltungsdatenbanken
Ein sicheres schreibgeschütztes Abfrage-Gateway MCP für Bildungs- und Verwaltungs-Businessdatenbanken. Mit dem offiziellen FastMCP SDK wird die „Verwaltungsdatenbank (Studenten / Kurse / Noten / Kursanmeldungen)" als eine Reihe von MCP-Tools bereitgestellt, damit LLM-Agenten Geschäftsdaten sicher abfragen können, aber von der Protokollebene bis zur Datenbankebene sind alle Schreiboperationen verboten.
Im Gegensatz zu ChatGPT-Wrappern, generischen MCP-Servern und reinen RAG-Demos konzentriert sich dieses Projekt auf die Engineering-Kette „Geschäftsdatenbanken sicher für Agenten zum Lesen öffnen" – ein praxisnahes Beispiel für Datensicherheit + MCP-Implementierung.
Kernvorteile (für Vorstellungsgespräche geeignet)
Sicherheitsdimension | Implementierungsmethode |
Schreibschutz | Statische SQL-Lexer-Prüfung: nur |
Readonly-Absicherung | SQLite wird mit |
Schutz vor Datenbanküberlastung | Fehlendes |
Injektionsschutz | Auf Gateway-Ebene wird durchgängig Parameterbindung verwendet, Geschäftstools nutzen feste Whitelist-Abfragefunktionen – natürlich immun gegen Verkettungs-Injektionen |
Timeout-Schutz | Langsame Abfragen werden nach Überschreiten des Schwellenwerts (Standard 3s) automatisch beendet, um hängende intelligente Agenten zu vermeiden |
Authentifizierung | Optionales |
Audit | Jede Abfrage wird in |
Related MCP server: sql-safety-executor
Tool-Liste (MCP)
Tool | Beschreibung |
| Listet alle Geschäftstabellen und Zeilenanzahlen auf |
| Gibt Felder / Typen / Primärschlüssel der angegebenen Tabelle zurück |
| Rohes schreibgeschütztes SQL-Gateway (Sicherheitsprüfung + LIMIT + Timeout) |
| Studentenprofil (Basisdaten + Durchschnittsnote + Kursnoten-Details) |
| Kursbelegungszahl / Durchschnittsnote / Höchst- und Tiefstwert / Bestehensquote |
| Zusammenfassungsbericht zu Kursanmeldungen und Noten, filterbar nach Jahr / Semester |
query demonstriert die Fähigkeit des „rohen SQL-Gateways", die übrigen sind branchenspezifische sichere Wrapper-Funktionen für die Verwaltung
(feste parametrisierte Abfragen, sicherer als nacktes SQL und näher an den Geschäftsanforderungen).
Schnellstart
# 1. 安装依赖
pip install -r requirements.txt
# 2. 初始化教务演示库
python scripts/init_db.py
# 3. 运行命令行演示(连 stdio MCP,展示 6 个工具 + 写操作被拦截)
python scripts/demo_client.py
# 4. 启动为 MCP Server(供 Claude / Cursor / 任意 MCP 客户端接入)
python -m src.server
# 开启鉴权:
# READONLY_GATEWAY_TOKEN=your_secret python -m src.serverBeispielabfragen: Studentenprofil, CS205-Kursstatistik, Zusammenfassung nach Semester …
Tests
pytest tests/ # 22 个用例:写防护/注入/多语句/截断/工具行为/审计Verzeichnisstruktur
edu-db-readonly-mcp/
├── README.md
├── pyproject.toml
├── requirements.txt
├── data/edu.db # 生成的教务演示库(只读打开)
├── scripts/
│ ├── init_db.py # 建表 + 造种子数据(10学生/10课/32选课)
│ └── demo_client.py # 命令行 MCP 演示
├── src/
│ ├── server.py # FastMCP 入口,注册 6 个工具
│ ├── gateway/
│ │ ├── readonly_gateway.py # 核心:SQL 只读校验 + LIMIT + 超时
│ │ ├── auth.py # token 鉴权
│ │ └── audit.py # 审计日志
│ ├── db/connection.py # mode=ro 连接 + 元数据读取
│ └── tools/
│ ├── query_tool.py # 原始 SQL 网关
│ ├── schema_tools.py # list_tables / describe_table
│ └── edu_workflows.py # 教务业务封装工具
└── tests/
├── test_gateway_security.py # 安全用例
└── test_tools.py # 工具行为用例Designdokument → docs/DESIGN.md
Lebenslauf-Beschreibung (einfügbar)
Gateway MCP für schreibgeschützte Bildungs- und Verwaltungsdatenbanken (FastMCP) Eigenständige Entwicklung eines sicheren schreibgeschützten MCP-Servers für Bildungs- und Verwaltungsdatenbanken. Entwurf eines leichtgewichtigen SQL-Readonly-Gateways: statische Validierung, die nur
SELECT/WITHzulässt und DML/DDL sowie Semikolon- Mehrfachanweisungs-Injektionen blockiert, automatische Zeilenbegrenzung bei fehlendemLIMIT, parametrisierte Abfragen gegen Injektionen, Thread-Timeout- Schutz, SQLitemode=roals Readonly-Absicherung; Bereitstellung von Tabellen-Introspektion und Verwaltungs-Business-Wrapper-Tools mit Token-Authentifizierung undaudit.log-Auditierung. 22 Unit-Tests decken Sicherheitsszenarien wie Schreibschutz, Injektion, Mehrfachanweisungen und Abschneidung ab, ein End-to-End-Demo verifiziert, dass Schreiboperationen auf Protokollebene blockiert werden.
This server cannot be deployed
Maintenance
Related MCP Connectors
Query your org's data in natural language — read-only MCP access to SQL, NoSQL, files & warehouses.
PostgreSQL, MySQL, and SQL Server in one session. 26 read-only MCP tools for AI agents.
Safe, read-only Postgres and MySQL access for AI agents. Audit log + column-level controls.
Text-to-SQL MCP server: read-only queries on PostgreSQL, MySQL and SQL Server with your real schema
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceProvides a read-only PostgreSQL SQL surface for LLM agents via MCP, with defense-in-depth security layers for safe database queries.391 PyPI4MIT
- AlicenseNot gradedqualityCmaintenanceEnables LLMs to safely execute database queries via MCP tools, with security features including query restrictions, truncation, and timeout.6MIT
- AlicenseNot gradedqualityCmaintenanceProvides read-only access to databases for MCP-compatible AI tools, allowing schema exploration and SELECT queries without exposing credentials or risking data changes.101 npm3MIT
- FlicenseNot gradedqualityBmaintenanceProvides read-only database access for AI agents, enabling table listing, schema inspection, and filtered row queries through MCP tools.-