Skip to main content
Glama
Servidor MCP – Gestión de datos (CRUD) con acceso controlado

Servidor MCP – Gestión de datos (CRUD) con acceso controlado

by tenshi98

Servidor MCP – Gestión de datos (CRUD) con acceso controlado

Servidor Model Context Protocol que expone operaciones CRUD sobre una tabla de prueba (test_records, 30 registros ficticios) con autenticación por tokens, OAuth 2.0 (Authorization Code + PKCE), autorización por rol/scope, consultas preparadas y auditoría.

  • Node.js ≥ 22.5 (probado en 24) · SDK oficial @modelcontextprotocol/sdk · SQLite (node:sqlite, sin compilación nativa)

  • Transportes: Streamable HTTP (/mcp) y stdio

  • 6 herramientas: list_records, get_record, search_records, create_record, update_record, delete_record

Inicio rápido (5 minutos)

npm install
cp .env.example .env                       # edite TOKEN_PEPPER (ver docs/03-configuracion.md)
npm run db:init                            # crea tablas + 30 registros de prueba
npm run admin -- user-add --name "Su Nombre" --email usted@example.com --role admin
npm run admin -- token-issue 1 --label mi-agente     # copie el token (se muestra una sola vez)
npm start                                  # http://127.0.0.1:3000/mcp
npm test                                   # 38 pruebas automatizadas

Verificación: curl localhost:3000/health → {"status":"ok"}; y con el token:

curl -s -X POST localhost:3000/mcp -H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_records","arguments":{"page_size":3}}}'

Related MCP server: MCP SQLite RBAC Demo

Documentación

Documento

Contenido

docs/01-arquitectura.md

Descripción, alcance, arquitectura, diagramas, estructura de directorios, flujos

docs/02-instalacion.md

Requisitos, instalación, BD, scripts SQL, verificación

docs/03-configuracion.md

Variables de entorno, tokens, OAuth, permisos, credenciales

docs/04-seguridad.md

Autenticación vs. autorización, flujo OAuth, modelo de amenazas

docs/05-integracion-agentes.md

Claude Desktop, OpenCode, Claude Code, VS Code y otros

docs/06-herramientas.md

Referencia de cada herramienta (parámetros, ejemplos, errores)

docs/07-manual-de-uso.md

Ejemplos prácticos con agentes

docs/08-mantenimiento.md

Operación, respaldos, logs, solución de problemas

docs/09-pruebas.md

Qué cubren las pruebas y cómo extenderlas

Configuraciones de ejemplo para agentes: examples/. Scripts SQL: sql/.

Extensibilidad

Nueva herramienta = un objeto en src/tools/definitions.js (name, permission, inputShape, handler); el registro, la autenticación, la autorización, la validación y la auditoría se aplican automáticamente en src/server.js. Nueva tabla = nuevo script en sql/ + repositorio en src/records/. Nuevos permisos: src/config.js.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      B
      maintenance
      Agent-First CRUD store MCP server — schema.yaml driven, SQLite backend, multi-table in a single daemon.
      Apache 2.0
    • F
      license
      Not graded
      quality
      D
      maintenance
      A secure MCP server that exposes a SQLite database to AI agents with Role-Based Access Control, supporting authentication, customer/order/user management, and audit logging.
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      A security-focused Model Context Protocol server for task management over stdio, backed by SQLite. It exposes tools to create, list, complete, delete, and search tasks with strict validation, parameterized SQL, confirmation for deletes, and full audit logging.
      16 npm
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables task management with persistent SQLite storage, along with tools, resources, subscriptions, prompts, and completions over stdio or Streamable HTTP with per-user authentication.
      7 npm
      MIT