プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Boyce

作者:boyce-ioバージョン 0.1.1i★ –iパソコンで動く
レジストリ名io.github.boyce-io/boyce

インストール

概要

作者による説明(英語の原文)

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

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: データベース・データセット

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • 自分で入力するもの: BOYCE_DB_URL, BOYCE_PROVIDER, ANTHROPIC_API_KEY

必要なもの

  • PyPIPythonのuvのインストール(uvxコマンドに必要)

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます

{
  "mcpServers": {
    "boyce": {
      "command": "uvx",
      "args": [
        "boyce"
      ],
      "env": {
        "BOYCE_DB_URL": "your-value",
        "BOYCE_PROVIDER": "your-value",
        "ANTHROPIC_API_KEY": "your-value"
      }
    }
  }
}

ターミナルでこれを実行します

claude mcp add boyce --env BOYCE_DB_URL=your-value --env BOYCE_PROVIDER=your-value --env ANTHROPIC_API_KEY=your-value -- uvx boyce

動かす前に、空欄の値を入力してください。

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "boyce": {
      "command": "uvx",
      "args": [
        "boyce"
      ],
      "env": {
        "BOYCE_DB_URL": "your-value",
        "BOYCE_PROVIDER": "your-value",
        "ANTHROPIC_API_KEY": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "boyce": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "boyce"
      ],
      "env": {
        "BOYCE_DB_URL": "your-value",
        "BOYCE_PROVIDER": "your-value",
        "ANTHROPIC_API_KEY": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

自分で入力する値

  • BOYCE_DB_URL env
    PostgreSQL or Redshift connection string. Optional — tools work without live DB; required for live profiling and EXPLAIN pre-flight.
  • BOYCE_PROVIDER env
    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 Structur…
  • ANTHROPIC_API_KEY env
    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.

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント boyce-io で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

データベース・データセットのほかのサーバーとの比較i

  • このカテゴリのほかの953件のうち0%よりスターが多い
  • このカテゴリのほかの953件のうち10%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの953件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Boyceは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(0.1.1)がレジストリに届いたのは7 か月前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。

代わりに使えるものは?

同じカテゴリには:Supabase, MongoDB MCP Server, Elasticsearch MCP Server

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Supabase

作者:supabase

MCP server for interacting with the Supabase platform

パソコンでもクラウドでも★ 2,993Apache-2.0昨日更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

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).

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:

LayerWhat it does
SQL Compilerask_boyce — NL → StructuredFilter → deterministic SQL. Zero LLM in the SQL builder. Same inputs, same SQL, byte-for-byte, every time.
Database Inspectorquery_database / profile_data — Live Postgres/Redshift adapters let your agent see real schema and real data distributions before writing a single filter.
Query VerificationPre-flight EXPLAIN loops on every generated query. Bad SQL is caught at planning time, not at 2am in your on-call rotation.

Why does this matter? → The Null Trap: Your AI Agent's SQL Is Correct. The Answer Is Still Wrong.


Install

Requires Python 3.10+

pip install boyce

With live Postgres/Redshift adapter (enables EXPLAIN pre-flight + column profiling)

pip install "boyce[postgres]"

# uv (recommended)

uv pip install boyce uv pip install "boyce[postgres]"

From source:

git clone https://github.com/boyce-io/boyce

uv pip install -e "boyce/"


Quickstart

After installing, run boyce init to configure your MCP host automatically:

boyce init

The wizard detects Claude Desktop, Cursor, Claude Code, and JetBrains (DataGrip, IntelliJ, etc.), and writes the correct config block for each.

Developing from source? The repo includes a setup script:

./quickstart.sh   # detects uv or python, installs package, writes .env template

Configure Your MCP Host

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):

{

"mcpServers": { "boyce": { "command": "boyce", "env": { "BOYCE_DB_URL": "postgresql://user:pass@host:5432/db" } } } }

Cursor (.cursor/mcp.json in project root):

{

"mcpServers": { "boyce": { "command": "boyce", "env": { "BOYCE_DB_URL": "postgresql://user:pass@host:5432/db" } } } }


Path 2 — With Boyce's Built-in NL→SQL

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:

{

"mcpServers": { "boyce": { "command": "boyce", "env": { "BOYCE_PROVIDER": "anthropic", "BOYCE_MODEL": "claude-sonnet-4-6", "ANTHROPIC_API_KEY": "sk-ant-...", "BOYCE_DB_URL": "postgresql://user:pass@host:5432/db" } } } }

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

VariableWhen neededExamplePurpose
BOYCE_PROVIDERPath 2 only (CLI/HTTP/non-MCP)anthropicLiteLLM provider name
BOYCE_MODELPath 2 only (CLI/HTTP/non-MCP)claude-sonnet-4-6Model ID passed to LiteLLM
ANTHROPIC_API_KEYWhen using Anthropicsk-ant-...Anthropic credentials
OPENAI_API_KEYWhen using OpenAIsk-...OpenAI credentials
BOYCE_DB_URLOptional (either path)postgresql://user:pass@host:5432/dbasyncpg DSN — enables EXPLAIN pre-flight + live query tools
BOYCE_HTTP_TOKENPath 2 HTTP API onlymy-secret-tokenBearer token for boyce serve --http
BOYCE_STATEMENT_TIMEOUT_MSOptional30000Per-statement timeout in ms (default: 30s)

MCP Tools

ToolDescription
ingest_sourceParse a SemanticSnapshot from dbt manifest, dbt project, LookML, DDL, SQLite, Django, SQLAlchemy, Prisma, CSV, or Parquet.
ingest_definitionStore a certified business definition — injected automatically at query time.
get_schemaReturn full schema context + StructuredFilter format docs. Used by MCP hosts so the host LLM can construct queries without a Boyce API key.
ask_boyceFull NL → SQL pipeline: query planner (LiteLLM) → deterministic kernel → NULL trap check → EXPLAIN pre-flight.
validate_sqlValidate hand-written SQL — EXPLAIN pre-flight, Redshift lint, NULL risk — without executing.
query_databaseExecute a read-only SELECT against the live database. Write operations rejected at two independent layers.
profile_dataNull %, distinct count, min/max for any column — surface data quality issues before they affect query results.
check_healthOperational health check — DB connectivity, snapshot freshness, actionable fix commands. Call when queries fail unexpectedly.

Architecture

SemanticSnapshot (JSON)

│ ▼ ingest_source ┌─────────────────────────────────────────────┐ │ SemanticGraph (NetworkX) │ ← in-memory, loaded per session │ nodes = entities (tables/views/dbt models) │ │ edges = joins (weighted by confidence) │ └─────────────────────────────────────────────┘ │ │ ▼ ask_boyce ▼ (internal) QueryPlanner Dijkstra (LiteLLM) join resolver NL → StructuredFilter │ │ │ └──────────┬────────────────┘ ▼ kernel.process_request() ← ZERO LLM HERE SQLBuilder (dialect-aware) │ ▼ EXPLAIN pre-flight ← Query Verification (PostgresAdapter) │ ▼ SQL + validation result

Dialect support: redshift, postgres, duckdb, bigquery

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

10 parsers: dbt manifest, dbt project, LookML, SQLite, DDL, CSV, Parquet, Django, SQLAlchemy, Prisma.


Verify the Install

# 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:

{

"snapshot_id": " ", "source_system": "dbt", "entities": { "entity:orders": { "id": "entity:orders", "name": "orders", "schema": "public", "fields": ["field:orders:order_id", "field:orders:revenue"] } }, "fields": { "field:orders:order_id": { "id": "field:orders:order_id", "entity_id": "entity:orders", "name": "order_id", "field_type": "ID", "data_type": "INTEGER" } }, "joins": [] }

See boyce/tests/live_fire/mock_snapshot.json for a complete field/entity example.


Project Layout

boyce/                          ← PRIMARY — headless FastMCP server + pip package

├── boyce/ │ ├── server.py ← MCP entry point (8 tools) │ ├── kernel.py ← Deterministic SQL kernel │ ├── graph.py ← SemanticGraph (NetworkX) │ ├── safety.py ← Redshift compatibility rails │ ├── types.py ← Protocol contract (Pydantic) │ ├── scan.py ← Scan CLI (boyce scan) │ ├── connections.py ← DSN persistence (ConnectionStore) │ ├── doctor.py ← Environment diagnostics (boyce doctor) │ ├── sql/ ← SQLBuilder, dialect layer, join resolver │ ├── parsers/ ← 10 parsers (dbt, lookml, ddl, sqlite, csv, etc.) │ ├── planner/ ← QueryPlanner (LiteLLM → StructuredFilter) │ └── adapters/ ← PostgresAdapter (Eyes) └── tests/ ├── verify_eyes.py ← 15-test suite, no DB required ├── test_parsers.py ← Parser tests (all 10 parsers) ├── test_scan.py ← Scan CLI tests └── live_fire/ ← Docker Compose integration tests


Status

CapabilityStatus
NL → SQL (deterministic kernel)Operational
SemanticGraph (join resolution)Operational
10 source parsersOperational
Scan CLI (boyce scan)Operational
PostgresAdapter (read-only)Operational
EXPLAIN pre-flight validationOperational
NULL Trap detectionOperational
Redshift 1.0 safety lintingOperational
Snapshot persistence across restartsOperational
Audit logging (append-only JSONL)Operational
Business definitions (ingest_definition)Operational
DSN persistence (ConnectionStore)Operational
Environment diagnostics (boyce doctor / check_health)Operational
Multi-snapshot mergePlanned

Support

  • Troubleshooting guide: docs/troubleshooting.md
  • Local LLM setup (Ollama/vLLM): docs/local-llm-setup.md
  • Bug reports: GitHub Issues
  • Setup help: GitHub Issues
  • Email: will@convergentmethods.com — for issues involving credentials or sensitive config

*Copyright 2026 Convergent Methods, LLC. MIT License.*

PopNxに聞く