Skip to main content
Glama
VictorCilleros

text-to-sql-mcp

Agent text-to-SQL via serveur MCP

Un agent qui traduit des questions métier en langage naturel en requêtes SQL sûres, exposé à Claude via un serveur MCP maison, avec un harnais d'évaluation comparant prompts et modèles.

Statut : en construction, jalon 1 (serveur MCP minimal en lecture seule).

Stack

Python 3.13 · SDK MCP officiel v2 · PostgreSQL 17 + Chinook · uv · ruff · pytest · pre-commit

Related MCP server: PostgreSQL MCP Server

Installation (développement)

Prérequis : uv (il installe lui-même Python 3.13 si besoin).

uv sync                       # crée .venv et installe les dépendances
uv run pre-commit install     # active les hooks de qualité au commit
uv run pytest                 # lance les tests

Les tests marqués integration utilisent la base Docker (voir ci-dessous) et sont sautés, avec un message explicite, si elle n'est pas joignable. Pour ne lancer que les tests unitaires : uv run pytest -m "not integration".

Base de données (Docker)

Prérequis : Docker et le plugin docker compose.

cp .env.example .env          # puis remplacer les mots de passe
docker compose up -d          # premier démarrage : chargement de Chinook + rôle lecture seule
docker compose ps             # attendre l'état « healthy »
docker compose down -v        # tout supprimer, données comprises (repartir de zéro)

La base chinook est exposée sur 127.0.0.1 uniquement. L'agent s'y connecte avec le rôle agent_lecteur, qui n'a que des droits de lecture (SELECT) et des transactions en lecture seule par défaut.

Données

Chinook v1.4.5, script PostgreSQL officiel (identifiants en snake_case), versionné sans modification dans docker/initdb/01_chinook.sql.

  • Source : https://github.com/lerocha/chinook-database/releases/download/v1.4.5/Chinook_PostgreSql.sql

  • SHA-256 : e3fde5c1a5b51a2a91429a702c9ca6e69ba56e6c7f5e112724d70c3d03db695e

  • Licence : MIT, © Luis Rocha (voir docker/LICENSE-chinook.md)

Serveur MCP

Trois outils en lecture seule : list_tables, get_schema (colonnes, types, clés) et run_query (une requête de lecture, résultat plafonné à ROW_CAP lignes).

uv run text-to-sql-mcp                                   # lance le serveur sur stdio
npx @modelcontextprotocol/inspector uv run text-to-sql-mcp   # interface de test (Node requis)

Licence

MIT

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides authenticated access to PostgreSQL databases for Claude AI, enabling users to browse database tables, discover schemas, and execute custom SQL queries through natural language interaction.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables Claude to interact with PostgreSQL databases by executing SQL queries, exploring schemas, and monitoring database health. It provides tools for data manipulation and schema management via a secure SSE connection.
    216 npm
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables Claude Desktop to interact with PostgreSQL databases through natural language for schema exploration, data analysis, and query execution. Users can search schemas, describe tables, and perform read or write operations without needing to write manual SQL.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to query a PostgreSQL database through a small set of controlled, read-only tools for schema inspection, row lookup, and aggregate statistics.
    1
    MIT