Self-Documenting Zero-Knowledge MCP Server
Self-Documenting Zero-Knowledge MCP Server
Un servidor Model Context Protocol (MCP) que escanea de forma autónoma una base de datos legada sin documentar, genera herramientas CRUD para cada tabla, crea prompts que explican cómo combinar tablas y aplica seguridad Zero-Knowledge al restringir el LLM a plantillas SQL previamente validadas.
Arquitectura

Related MCP server: sqlite-mcp
Por qué MCP — y cuál es la ingeniería real
MCP (Model Context Protocol) es la capa de transporte e interfaz aquí: gestiona cómo el LLM llama a las herramientas, pasa parámetros y recibe resultados. Es una elección deliberada, no el logro.
La ingeniería real de este proyecto es el pipeline de introspección de esquema y seguridad que se encuentra debajo:
Database → PRAGMA Introspection → Schema Registry → Template Engine → Security Validator → MCP ToolsCada etapa no sabe nada de la siguiente. El introspector no sabe nada de MCP. El motor de plantillas no sabe nada de seguridad. El generador de CRUD no sabe nada de SQL — solo trabaja con IDs de plantillas. Esta separación estricta significa que podrías cambiar el transporte MCP por una API REST o un servicio gRPC sin tocar una sola línea de la capa de seguridad.
MCP se eligió en lugar de la llamada directa a funciones de OpenAI porque MCP es agnóstico al transporte (stdio para uso local, SSE para red), admite recursos y prompts más allá de las llamadas de herramientas puras, y es el estándar abierto que se está adoptando en todo el ecosistema de herramientas LLM. Pero la capa de seguridad — plantillas pre-validados, sanitización de defensa en profundidad, registro de plantillas inmutables — funciona de manera idéntica sin importar qué protocolo esté al frente.
Features: Translate descriptions
"Autonomous Schema Discovery" → "Descubrimiento Autónomo de Esquema"
"Dynamic CRUD Tools" → "Herramientas CRUD Dinámicas"
"Join Prompts" → "Prompts de Unión (Join)"
"Zero-Knowledge Security" → "Seguridad de Conocimiento Cero"
"Audit Logging" → "Registro de Auditoría"
"Schema Resources" → "Recursos de Esquema"
Quick Start → Inicio Rápido
Prerequisites → Requisitos previos
Installation → Instalación
Seed the Demo Database → Sembrar la base de datos de demostración
Run the Server → Ejecutar el servidor
Connect with Claude Desktop → Conectar con Claude Desktop
Test with MCP Inspector → Probar con MCP Inspector
The description paragraphs need translation.
What Gets Generated: translate the intro and table descriptions.
Prompts table: descriptions need translation.
Tools table: descriptions need translation.
Resources table: descriptions need translation.
Running Tests: GXP7 stays
Project Structure: GXP8 stays
License: MIT stays
Let me write the full translation now, preserving all structure exactly.# Self-Documenting Zero-Knowledge MCP Server
Un servidor Model Context Protocol (MCP) que escanea de forma autónoma una base de datos legada sin documentar, genera herramientas CRUD para cada tabla, crea prompts que explican cómo unir tablas y aplica seguridad Zero-Knowledge al restringir el LLM únicamente a plantillas SQL pre-validados.
Arquitectura

Por qué MCP — y cuál es la ingeniería real
MCP (Model Context Protocol) es la capa de transporte e interfaz aquí — gestiona cómo el LLM llama a las herramientas, pasa parámetros y recibe resultados. Es una elección deliberada, no el logro.
La ingeniería real en este proyecto es el pipeline de introspección de esquema y seguridad que se encuentra debajo:
Database → PRAGMA Introspection → Schema Registry → Template Engine → Security Validator → MCP ToolsCada etapa no sabe nada de la siguiente. El introspector no sabe nada de MCP. El motor de plantillas no sabe nada de seguridad. El generador de CRUD no sabe nada de SQL — solo trabaja con IDs de plantillas. Esta separación estricta significa que podrías sustituir el transporte MCP por una API REST o un servicio gRPC sin tocar una sola línea de la capa de seguridad.
MCP se eligió en lugar de la llamada directa a funciones de OpenAI porque MCP es agnóstico al transporte (stdio para uso local, SSE para red), admite recursos y prompts más allá de las llamadas de herramientas puras, y es el estándar abierto que se está adoptando en todo el ecosistema de herramientas LLM. Pero la capa de seguridad — plantillas pre-validados, sanitización de defensa en profundidad, registro de plantillas inmutable — funciona independientemente del protocolo que se sitúe delante.
Características
Descubrimiento Autónomo de Esquema — Escanea cualquier base de datos SQLite mediante introspección PRAGMA sin conocimiento previo
Herramientas CRUD Dinámicas — Genera automáticamente herramientas de Crear, Leer, Actualizar, Eliminar, Listar y Buscar para cada tabla descubierta
Prompts de Joins — Analiza las relaciones de claves foráneas y genera prompts que explican cómo combinar tablas
Seguridad de Conocimiento Cero — Toda la ejecución de SQL se restringe a plantillas parametrizadas previamente validadas
Registro de Auditoría — Cada operación de base de datos se registra con timestamp, ID de plantilla y parámetros
Recursos de Esquema — Los recursos de MCP exponen el esquema descubierto para referencia del LLM
Inicio Rápido
Requisitos Previos
Python 3.10+
pip
Instalación
# Clone the repository
git clone https://github.com/shubhtiwari65/Self-Documenting-Zero-Knowledge-MCP-Server.git
cd "MCP SERVER"
# Install dependencies
pip install -r requirements.txt
# Or install in editable mode with dev tools (recommended)
pip install -e ".[dev]"Sembrar la Base de Datos Demo
# Create a sample e-commerce legacy database
python server.py --seedEsto crea legacy_store.db con 6 tablas: categories, customers, orders, order_items, products, reviews — con relaciones de clave foránea y datos de ejemplo.
Ejecutar el Servidor
# Run with stdio transport (default — for Claude Desktop)
python server.py
# Run with SSE transport (for network access)
python server.py --transport sse --port 8080
# Use a custom database
python server.py --db /path/to/your/database.dbConectar con Claude Desktop
Añade a la configuración de Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"zk-database": {
"command": "python",
"args": ["C:/path/to/MCP SERVER/server.py", "--db", "C:/path/to/legacy_store.db"]
}
}
}Probar con el Inspector de MCP
mcp dev server.pyQué se Genera
Cuando el servidor se inicia, inspecciona la base de datos y auto-genera:
Herramientas (por tabla)
Herramienta | Descripción |
| Insertar una nueva fila con docs de parámetros auto-generados |
| Leer una fila por clave primaria |
| Actualizar una fila por clave primaria |
| Eliminar una fila por clave primaria |
| Listar filas con paginación límite/desplazamiento |
| Buscar en columnas de texto |
Prompts
Prompt | Descripción |
| Explica cómo unir dos tablas relacionadas |
| Guía completa de exploración de la base de datos |
| Esquema completo auto-descubierto |
Recursos
URI de Recurso | Descripción |
| Vista general del esquema |
| Esquema detallado de una tabla |
| Relaciones y uniones detectadas |
Seguridad Zero-Knowledge
El proyecto implementa un modelo de seguridad de conocimiento cero en tres capas:
Introspector — Descubre el esquema mediante PRAGMA de SQLite, sin conocimiento previo de la base de datos
Motor de Plantillas — Genera plantillas SQL parametrizadas a partir del esquema descubierto
Registro de Plantillas — Almacena plantillas en un registro inmutable; el LLM solo puede elegir IDs de plantilla
Cómo Funciona
Database → PRAGMA Introspection → Schema Registry → Template Engine → Security Validator → MCP ToolsLa clave de la seguridad es que el LLM nunca construye SQL directamente. Solo selecciona un ID de plantilla y proporciona parámetros. El servidor valida los parámetros contra el esquema y ejecuta la plantilla pre-construida.
Ejecutar Pruebas
# Run all tests
python -m pytest
# Run with coverage report
python -m pytest --cov=src --cov-report=term-missing
# Run specific test files
python -m pytest tests/test_security.py -v
python -m pytest tests/test_introspector.py -vLicencia
MIT
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
- FlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI assistants to query and interact with SQLite databases through natural language. It includes built-in security guardrails such as PII redaction, SQL injection blocking, and query rate limiting.
- AlicenseNot gradedqualityCmaintenanceAn MCP server that enables AI agents to interact with SQLite databases by querying schemas, executing SQL, and inspecting table metadata. It supports safe database access through configurable read-only modes, query timeouts, and dry-run execution plans.MIT
- AlicenseAqualityDmaintenanceA zero-config MCP server that enables AI to access, analyze, and manage local SQLite databases with secure read-only querying and automatic schema discovery.8MIT
- AlicenseCqualityAmaintenanceAn MCP server for interacting with SQLite databases, enabling SQL query execution, schema inspection, and CRUD operations.7MIT
Related MCP Connectors
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
GibsonAI MCP server: manage your databases with natural language
Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.
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/lavishshakya/Self-Documenting-Zero-Knowledge-MCP-Server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server