BOYCE_DB_URL — PostgreSQL or Redshift connection string. Optional — tools work without live DB; required for live profiling and EXPLAIN pre-flight.
BOYCE_PROVIDER — LLM provider for the NL→StructuredFilter planner (anthropic, openai). MCP hosts using their own model should not set this — the host's model does the reasoning and Boyce receives a pre-built StructuredFilter.
ANTHROPIC_API_KEY — Required only when BOYCE_PROVIDER=anthropic and the host does not supply its own model. MCP hosts (Claude Desktop, Cursor, Claude Code, Codex, Cline, Windsurf, JetBrains) do not need this.
Claude Code ไม่มีลิงก์ติดตั้งสำหรับคำสั่งแบบโลคัล ให้คัดลอกคำสั่งด้านล่างแล้วรันในเทอร์มินัล
Boyce: Semantic Protocol & Safety Layer for Agentic Database Workflows
The semantic safety layer for agentic database workflows.
Boyce connects LLMs to live database context with built-in safety rails.
Named for Raymond F. Boyce, co-inventor of SQL (1974) and co-author of Boyce-Codd Normal Form (BCNF).
Deterministic SQL compiler for AI agents. Your agent stops guessing SQL.
0.1.1
API key
BOYCE_DB_URL, BOYCE_PROVIDER, ANTHROPIC_API_KEY
ตรวจสอบล่าสุด
2026-11-09
ดาว
—
เครื่องมือ
—
อัปไทม์
—
AI agents querying databases without proper context generate unreliable SQL — working from incomplete schemas, inferring column names, guessing join paths. Boyce gives agents the structured database intelligence they need to generate correct, safe SQL every time — through three interconnected systems:
Layer
What it does
SQL Compiler
ask_boyce — NL → StructuredFilter → deterministic SQL. Zero LLM in the SQL builder. Same inputs, same SQL, byte-for-byte, every time.
Database Inspector
query_database / profile_data — Live Postgres/Redshift adapters let your agent see real schema and real data distributions before writing a single filter.
Query Verification
Pre-flight EXPLAIN loops on every generated query. Bad SQL is caught at planning time, not at 2am in your on-call rotation.
The fastest path is boyce init — it detects your MCP host and writes the config automatically:
boyce init
Or configure manually. There are two setup paths depending on your host:
Path 1 — MCP Hosts (No LLM key required)
If you're using Claude Desktop, Cursor, Claude Code, Codex, Cline, Windsurf, JetBrains (DataGrip,
IntelliJ), or any MCP-compatible host, you do not need to configure an LLM provider for Boyce.
The host's own model handles reasoning — Boyce supplies the schema context and deterministic SQL
compiler via get_schema and ask_boyce. Only BOYCE_DB_URL is needed (and even that is optional).
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
If you're using the CLI (boyce ask), HTTP API, or a non-MCP client (e.g., the VS Code
extension), configure Boyce's internal query planner with your LLM provider:
Boyce supports any LLM provider available through LiteLLM:
Anthropic, OpenAI, Ollama (local), vLLM (local), Azure, Bedrock, Vertex, Mistral, and more.
BOYCE_DB_URL is optional on both paths. Without it, Boyce runs in schema-only mode — SQL
generation still works; EXPLAIN pre-flight and live query tools return "status": "unchecked".
Environment Variables
Variable
When needed
Example
Purpose
BOYCE_PROVIDER
Path 2 only (CLI/HTTP/non-MCP)
anthropic
LiteLLM provider name
BOYCE_MODEL
Path 2 only (CLI/HTTP/non-MCP)
claude-sonnet-4-6
Model ID passed to LiteLLM
ANTHROPIC_API_KEY
When using Anthropic
sk-ant-...
Anthropic credentials
OPENAI_API_KEY
When using OpenAI
sk-...
OpenAI credentials
BOYCE_DB_URL
Optional (either path)
postgresql://user:pass@host:5432/db
asyncpg DSN — enables EXPLAIN pre-flight + live query tools
BOYCE_HTTP_TOKEN
Path 2 HTTP API only
my-secret-token
Bearer token for boyce serve --http
BOYCE_STATEMENT_TIMEOUT_MS
Optional
30000
Per-statement timeout in ms (default: 30s)
MCP Tools
Tool
Description
ingest_source
Parse a SemanticSnapshot from dbt manifest, dbt project, LookML, DDL, SQLite, Django, SQLAlchemy, Prisma, CSV, or Parquet.
ingest_definition
Store a certified business definition — injected automatically at query time.
get_schema
Return full schema context + StructuredFilter format docs. Used by MCP hosts so the host LLM can construct queries without a Boyce API key.
Redshift safety rails (safety.py): Automatic linting for LATERAL, JSONB, REGEXP_COUNT, lookahead regex patterns, and numeric cast rewrites for Redshift 1.0 (PG 8.0.2).
Scan CLI
# Scan a single file
boyce scan demo/magic_moment/manifest.json
# Scan a directory (auto-detects all parseable sources)
boyce scan ./my-project/ -v
# Save snapshots for MCP server use
boyce scan ./my-project/ --save
# Unit tests — no DB required, runs in ~4 seconds
python boyce/tests/verify_eyes.py
# Expected output:
# Ran 15 tests in 3.5s
# OK
# ✅ All checks passed.
SemanticSnapshot Format
The ingest_source tool accepts a SemanticSnapshot JSON dict. Minimal example: