Skip to main content
Glama
Catom8

Read-only Analytics MCP Server

by Catom8

Read-only Analytics MCP Server

A clean-room core for exposing warehouse queries as a guarded Model Context Protocol tool. It validates read-only SQL, injects a conservative row limit, requires JSON responses from the upstream API, and returns audit metadata without leaking authentication material.

This repository contains no production account locator, warehouse name, access token, table name, schema, query history, or employer configuration.

What it demonstrates

  • MCP tool design for analytics agents

  • Read-only SQL validation

  • SQL API request construction

  • Required content negotiation headers

  • Row and statement limits

  • Secret-safe error handling

  • Auditable query fingerprints

Related MCP server: FastAPI Database MCP Server

Safety model

  • Only one SELECT, SHOW, or DESCRIBE statement is accepted.

  • Mutating keywords, comments, and multiple statements are rejected.

  • SELECT queries receive a maximum row limit when one is not already present.

  • Tokens are accepted by the transport boundary but never returned or logged.

Run the tests

python -m unittest discover -s tests -v

Run the optional MCP adapter

python -m pip install -e '.[mcp]'
export ANALYTICS_SQL_API_URL='http://localhost:9000/query'
export ANALYTICS_SQL_API_TOKEN='development-placeholder'
python -m readonly_analytics_mcp.mcp_server

The example values are local placeholders. Never commit a real token or private endpoint.

Production extensions

  • Replace the lightweight keyword guard with an AST-based SQL parser.

  • Add per-tool table allowlists and policy-service authorization.

  • Add a streamable-HTTP deployment option alongside the included stdio adapter.

  • Add pagination, query cancellation, and structured observability.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Provides a read-only PostgreSQL SQL surface for LLM agents via MCP, with defense-in-depth security layers for safe database queries.
    3
    MIT
  • F
    license
    Not graded
    quality
    F
    maintenance
    Provides read-only SQL query access to Postgres and DuckDB databases via MCP tools, with extensive security hardening for public endpoints.
    1
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables running read-only SQL queries and exploring DuckDB databases through MCP tools like listing tables, describing schemas, and fetching paginated data.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides governed, read-only PostgreSQL access for AI agents via MCP. Enforces schema/table allowlists, query limits, and audit events.
    MIT