mcp-blueprint v0.2.0
Overview
mcp-blueprint turns a database into a set of domain-oriented MCP tools. A
server is described entirely by packs — YAML tool metadata plus SQL files —
with no Python code required. This first release ships the complete
framework: six database engines, a fail-closed security model, observability,
Docker stacks and a full documentation suite.
Framework
- Pack-driven design: a pack is just
pack.yaml+ one YAML per tool + one SQL
file per query; tools are discovered automatically. - Security: every tool is read-only by default, enforced at load time and
at runtime (fail-closed, singleSELECT/WITH...SELECT); writes are
opt-in viawrites: true. Jinja2 templates allow{% if %}control flow
but reject{{ }}interpolation — values reach the database only as bound
placeholders. - Transports: stdio and Streamable HTTP.
- Per-server pack allowlist (
server.packs) and engine-based pack
filtering (engines:inpack.yaml), with engine aliases
(postgres,mssql,sql_server). - Pack
instructionsare surfaced in every tool description and in the server
instructions, so a pack can guide the agent's tool usage. - Result caching (
cache.ttl), result formatting (format.rename,
format.hidden), row caps (server.max_rows). - KPI status convention (
kpi_name, current_value, unit, suggested_threshold, status) for diagnostic dashboards. - Observability: structured logging, audit log, per-call
trace_id,
sensitive-value redaction, optional Prometheus metrics endpoint. - Multi-engine tool sharing via
sqlmaps keyed by engine.
Engines and packs
Six reference DBA packs expose the same 13 tools across engines:
pg-dba— PostgreSQL 14+mysql-dba— MySQL 8+oracle-dba— Oracle 12c+clickhouse-dba— ClickHouse 23+sqlserver-dba— SQL Server 2016+mariadb-dba— MariaDB 10.4+
Plus the sakila domain pack (film recommendations and rental checks) as the
reference example for building domain packs.
Docker
docker-compose.yaml— PostgreSQL + thepg-dbaserver over Streamable HTTP.docker-compose.databases.yaml— one container per optional engine (Oracle,
ClickHouse, SQL Server, MariaDB) with least-privilege monitoring accounts.
Documentation
- Installation, quick start, Docker and pack-development guides.
- New: custom-server tutorial (fork vs dependency
model, upgrade strategy), best practices and a
FAQ. - New:
examples/customers— a complete CRM example
pack with schema, seed data and a KPI dashboard.
Getting started
git clone https://github.com/meob/mcp-blueprint.git
cd mcp-blueprint
uv sync --all-extras --dev
uv run blueprint list-tools --config config
uv run blueprint serve --config config --transport stdio204 tests pass (7 integration tests skipped when a local database is
unreachable).