Skip to main content
Glama
lavishshakya

Self-Documenting Zero-Knowledge MCP Server

by lavishshakya

Self-Documenting Zero-Knowledge MCP Server

CI Python FastMCP License Security

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

Architecture Diagram

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 Tools

Cada 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 StartInicio 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

CI Python FastMCP License Security

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

Architecture Diagram

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 Tools

Cada 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 --seed

Esto 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.db

Conectar 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.py

Qué se Genera

Cuando el servidor se inicia, inspecciona la base de datos y auto-genera:

Herramientas (por tabla)

Herramienta

Descripción

create_{table}

Insertar una nueva fila con docs de parámetros auto-generados

read_{table}

Leer una fila por clave primaria

update_{table}

Actualizar una fila por clave primaria

delete_{table}

Eliminar una fila por clave primaria

list_{table}

Listar filas con paginación límite/desplazamiento

search_{table}

Buscar en columnas de texto

Prompts

Prompt

Descripción

join_{table_a}_and_{table_b}

Explica cómo unir dos tablas relacionadas

explore_database

Guía completa de exploración de la base de datos

show_schema

Esquema completo auto-descubierto

Recursos

URI de Recurso

Descripción

schema://tables

Vista general del esquema

schema://{table}

Esquema detallado de una tabla

schema://joins

Relaciones y uniones detectadas

Seguridad Zero-Knowledge

El proyecto implementa un modelo de seguridad de conocimiento cero en tres capas:

  1. Introspector — Descubre el esquema mediante PRAGMA de SQLite, sin conocimiento previo de la base de datos

  2. Motor de Plantillas — Genera plantillas SQL parametrizadas a partir del esquema descubierto

  3. 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 Tools

La 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 -v

Licencia

MIT

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • F
    license
    Not graded
    quality
    D
    maintenance
    An 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.
  • A
    license
    Not graded
    quality
    C
    maintenance
    An 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
  • A
    license
    A
    quality
    D
    maintenance
    A zero-config MCP server that enables AI to access, analyze, and manage local SQLite databases with secure read-only querying and automatic schema discovery.
    8
    MIT
  • A
    license
    C
    quality
    A
    maintenance
    An MCP server for interacting with SQLite databases, enabling SQL query execution, schema inspection, and CRUD operations.
    7
    MIT

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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