Skip to content
Agentmart
Submit a tool

Boyce

Deterministic SQL compiler for AI agents.

Connector by boyce-io · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 1
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/boyce-io-boyce

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Deterministic SQL compiler for AI agents. Your agent stops guessing SQL.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
5 read · 1 write · 0 delete · 2 not yet classified
Secrets
1 (API keys, tokens or passwords)
Install scripts
Not scanned yet
Runs as
Python package

Tools by what they do 8

Read from the source code; the running server may list different tools.

Read 5 · Look things up without changing anything.

  • ask_boyce
  • check_health
  • get_schema
  • profile_data
  • validate_sql

Write 1 · Create, change, send or run things.

  • ingest_definition

Not yet classified 2 · We could not tell from the name and description.

  • ingest_source
  • query_database

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • ANTHROPIC_API_KEY

Other settings (environment variables or headers).

  • BOYCE_DB_URL
  • BOYCE_PROVIDER

Tools (8)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • ask_boyce

    Answer data questions with SQL that has been safety-checked against the actual data. Handles counts, totals, averages, rankings, comparisons, joins, filters, time series — any question about database tables. You can write SQL yourself. But you cannot know that the column you are filtering on is 30% NULL and will silently drop rows, or that the join you picked was inferred with low confidence and may produce duplicates. This tool checks your query against data reality before you run it. **Recommended flow:** Call `get_schema` first, construct a StructuredFilter from the schema, pass it here. …

  • check_health

    Check Boyce's operational health — database connectivity, snapshot freshness, and schema drift. Call this when a query fails unexpectedly, when you suspect stale data, or when Boyce suggests running a health check. Returns actionable diagnostics with specific fix commands. **Use this before debugging query failures yourself.** A failed EXPLAIN or missing table often means the snapshot is stale, not that your SQL is wrong. Args: snapshot_name: Snapshot to check health for. Defaults to "default". Returns: JSON with status ("ok" | "warnings" | "errors"), database connectivity, s…

  • get_schema

    See what the database actually contains before writing a query. Returns full schema context — every table, column, type, nullable flag, join path with confidence weight, and certified business definition. Without this, your SQL is guessing at column names, types, and relationships. Includes StructuredFilter documentation with examples so you can construct a validated query for ask_boyce. **Upstream of ask_boyce:** construct a StructuredFilter from this schema, then pass it to ask_boyce for deterministic, safety-checked SQL. Args: snapshot_name: Name of a previously ingested snapshot. De…

  • ingest_definition

    Store a certified business definition that Boyce applies automatically at query time. Business definitions encode what your data *means* — the logic that lives in analysts' heads or scattered across docs but never in the schema. Once stored, Boyce injects them into the planner whenever the term appears in a query. **Upstream of ask_boyce:** definitions are applied automatically during query planning — no extra steps needed after storing them. Examples: term="revenue", definition="Total recognized revenue — SUM of order_total for completed, non-refunded orders", sql_expression="SUM…

  • ingest_source

    Teach Boyce about a database — point it at any schema source and get a semantic snapshot. Accepts 10+ formats (DDL, dbt, LookML, SQLite, Django, SQLAlchemy, Prisma, CSV, Parquet, live PostgreSQL DSN) — auto-detected from the path. Snapshots persist across sessions. Provide exactly one of source_path or snapshot_json. **Call this first.** All other tools (ask_boyce, get_schema, validate_sql, query_database, profile_data) require a snapshot. Args: source_path: Either a file/directory path OR a live PostgreSQL DSN. File formats auto-detected: .sql DDL files, dbt manifest.json, dbt …

  • profile_data

    See how a column actually behaves — null rate, distinct count, min/max. Use this before filtering or joining on a column to know whether it will do what you expect. A column named "status" might be 40% NULL. A column named "email" might have 3 distinct values. The schema tells you types. This tells you truth. **Inspect before filtering or joining.** Complements get_schema (structure) with real data distributions. Args: table: Table name. Accepts bare name (e.g. "orders") or schema-qualified (e.g. "public.orders"). Only alphanumeric characters, underscores, and dots are a…

  • query_database

    Run SQL against the live database — read-only, with safety pre-flight. Every query is scanned for NULL traps and validated via EXPLAIN before execution. Write operations are rejected at two levels: keyword pre-check and a read-only transaction guard. **Downstream of ask_boyce:** use this to execute SQL generated by ask_boyce. For hand-written SQL, run validate_sql first to catch problems before they reach the database. Args: sql: A SELECT statement to run against the live database. INSERT, UPDATE, DELETE, DDL and other write operations are rejected at two levels: …

  • validate_sql

    Check SQL against data reality before running it. If you wrote SQL yourself — or want to verify SQL from any source — this catches three classes of problems invisible to schema inspection alone: 1. **NULL traps:** Columns in WHERE clauses that are mostly NULL. Rows silently vanish from results with no error. 2. **Broken execution plans:** SQL that parses fine but fails EXPLAIN pre-flight — the database cannot execute it as written. 3. **Dialect traps:** Redshift compatibility issues (CONCAT, STRING_AGG, RECURSIVE CTEs) that work on Postgres but fail on Redshift. Does NOT execute the…

Signals

Stars
1
Forks
0
Open issues
0
Weekly downloads
19
Last commit
Apr 28, 2026 (6 months ago)
Last release
Apr 22, 2026 (6 months ago)
Last package publish
Apr 22, 2026 (6 months ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.boyce-io/boyce
Version
0.1.1
Auth
No auth
Packages
pypi boyce
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 25, 2026
Cite this page

Boyce MCP server. Agent Mart. https://agentmart.dev/connectors/boyce-io-boyce (last updated 2026-10-25)