Skip to main content
Glama
AMEOBIUS-space

mcp-sql-query

MCP SQL Query — SQLite Database Operations for AI Agents

An MCP server that gives AI agents SQLite database access: execute SQL, inspect schemas, CRUD operations, export to JSON/CSV — 13 tools, zero dependencies, pure Python stdlib.

Features

  • 13 MCP Tools: execute_sql, execute_batch, list_tables, table_schema, create_table, insert_row, insert_batch, select_rows, update_rows, delete_rows, export_json, export_csv, database_info

  • Zero dependencies — pure Python stdlib (sqlite3, json, re, os)

  • SQL injection prevention — table name validation with regex

  • Batch transactions — execute multiple statements atomically with rollback

  • Data export — JSON array or CSV string output

  • In-memory or file-based — use :memory: for ephemeral DBs or file paths for persistence

  • STDIO JSON-RPC mode — drop-in for Claude Desktop, Hermes, or any MCP client

Related MCP server: sqlite-mcp

Quick Start

python -m src.server --stdio    # STDIO mode
python -m src.server --manifest # Print manifest

Use as a library

from src.server import MCPSQLQueryServer
import json

server = MCPSQLQueryServer()

# Create a table
server.handle_tool_call("create_table", {
    "table_name": "users",
    "columns": [
        {"name": "id", "type": "INTEGER", "primary_key": True},
        {"name": "name", "type": "TEXT", "not_null": True},
        {"name": "email", "type": "TEXT", "unique": True}
    ]
})

# Insert rows
server.handle_tool_call("insert_row", {
    "table_name": "users",
    "data": {"name": "Alice", "email": "alice@example.com"}
})

# Query
result = server.handle_tool_call("select_rows", {
    "table_name": "users",
    "where": "name = 'Alice'"
})

# Export
server.handle_tool_call("export_csv", {"table_name": "users"})

MCP Tool Reference

Tool

Description

Required Params

execute_sql

Raw SQL execution

sql

execute_batch

Transactional batch

statements

list_tables

List all tables

—

table_schema

Column/types/indexes

table_name

create_table

Create with columns

table_name, columns

insert_row

Insert one row

table_name, data

insert_batch

Insert multiple

table_name, rows

select_rows

SELECT with WHERE/LIMIT

table_name

update_rows

UPDATE with WHERE

table_name, set_values, where

delete_rows

DELETE with WHERE

table_name, where

export_json

Export as JSON

table_name

export_csv

Export as CSV

table_name

database_info

DB metadata

—

Tests

python -m pytest tests/ -v  # 33 tests, all passing

License

MIT

Author

AMEOBIUS — github.com/AMEOBIUS

Related MCP Connectors

Related MCP Servers

  • 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
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server that provides SQLite database operations. Allows AI assistants to query, modify and manage SQLite databases through the Model Context Protocol.
    -