edu-db-readonly-mcp
Edu DB Readonly MCP — Pasarela de solo lectura para bases de datos académicas
Un MCP de pasarela de consulta de solo lectura seguro, orientado a bases de datos de negocio académico. Con el SDK oficial de FastMCP se expone la "base de datos académica (estudiantes / cursos / calificaciones / matrículas)" como un conjunto de herramientas MCP, permitiendo que los agentes LLM consulten datos de negocio de forma segura, pero prohibiendo toda operación de escritura desde la capa de protocolo hasta la capa de base de datos.
A diferencia de los envoltorios de ChatGPT, los servidores MCP genéricos o los demos de RAG puro, este proyecto se centra en la cadena de ingeniería de "abrir la base de negocio al agente de forma segura para lectura", un caso práctico sólido de seguridad de datos + implementación de MCP.
Ventajas principales (para contar en entrevistas)
Dimensión de seguridad | Forma de implementación |
Protección de escritura | Validación estática léxica de SQL: solo se permite |
Respaldo de solo lectura | SQLite se abre con |
Prevención de volcado de datos | Si no se incluye |
Prevención de inyección | La capa de pasarela usa siempre enlace de parámetros; las herramientas de negocio usan funciones de lista blanca de consultas fijas, inmunes de forma natural a la inyección por concatenación |
Protección por tiempo de espera | Las consultas lentas que superan el umbral (3 s por defecto) se terminan automáticamente, evitando que un agente inteligente se quede bloqueado |
Autenticación | Opcional |
Auditoría | Cada consulta se registra en |
Related MCP server: sql-safety-executor
Lista de herramientas (MCP)
Herramienta | Descripción |
| Lista todas las tablas de negocio y su número de filas |
| Devuelve los campos / tipos / claves primarias de la tabla especificada |
| Pasarela SQL de solo lectura en bruto (validación de seguridad + LIMIT + tiempo de espera) |
| Perfil del estudiante (información básica + nota media + detalle de calificaciones de matrícula) |
| Número de alumnos del curso / nota media / máxima y mínima / tasa de aprobados |
| Informe resumido de calificaciones de matrícula, filtrable por año / trimestre académico |
query demuestra la capacidad de "pasarela SQL en bruto"; el resto son funciones de encapsulación de seguridad sectorial orientadas a la gestión académica
(consultas parametrizadas fijas, más seguras y más ajustadas al negocio que el SQL en bruto).
Inicio rápido
# 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.serverConsultas de ejemplo: perfil de estudiante, estadísticas del curso CS205, resumen por trimestre académico…
Pruebas
pytest tests/ # 22 个用例:写防护/注入/多语句/截断/工具行为/审计Estructura de directorios
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 # 工具行为用例Documento de diseño → docs/DESIGN.md
Descripción para el currículum (se puede pegar)
Pasarela MCP de solo lectura para bases de datos académicas (FastMCP) Desarrollo independiente de un servidor MCP de solo lectura seguro para bases de datos académicas. Diseño de una pasarela SQL de solo lectura ligera: validación estática que solo permite
SELECT/WITHpara bloquear DML/DDL e inyección de múltiples sentencias con punto y coma, límite de filas forzado automático cuando no se incluyeLIMIT, consultas parametrizadas contra inyección, protección por tiempo de espera de hilos, respaldo de solo lectura con SQLitemode=ro; herramientas de introspección de tablas y encapsulación de negocio académico con autenticación por token y auditoría conaudit.log. 22 pruebas unitarias cubren escenarios de seguridad como protección de escritura, inyección, múltiples sentencias y truncamiento; un demo de extremo a extremo verifica que las operaciones de escritura se bloquean en la capa de protocolo.
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