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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceProvides a read-only PostgreSQL SQL surface for LLM agents via MCP, with defense-in-depth security layers for safe database queries.3MIT
- AlicenseNot gradedqualityCmaintenanceEnables LLMs to safely execute database queries via MCP tools, with security features including query restrictions, truncation, and timeout.6MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to explore MySQL database schemas and execute read-only queries through a safe, MCP interface.
- AlicenseNot gradedqualityBmaintenanceProvides read-only access to databases for MCP-compatible AI tools, allowing schema exploration and SELECT queries without exposing credentials or risking data changes.923MIT
Related MCP Connectors
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
Official Microsoft MCP Server to query Microsoft Entra data using natural language
Query PostgreSQL databases in plain English — LLM-generated, safety-validated SQL.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Vanity-1/edu-db-readonly-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server