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

BeeL

作者:beel-esバージョン 0.10.0i★ –iパソコンでもクラウドでも
レジストリ名es.beel/mcp

インストール

概要

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

Spanish e-invoicing with VeriFactu (AEAT): issue invoices, manage customers, validate NIFs.

PopNx MCPの3つの柱

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

できること

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

  • 接続方法: パソコンでもクラウドでも
  • トランスポート: stdio, Streamable HTTP
  • カテゴリ: その他
  • 入力が必要なもの:BEEL_API_KEY

インストール

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

インストールの前に

「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。

必要なもの

  • クラウドで動くインストール不要。インターネット経由でつながります
  • npmNode.jsのインストール(npxコマンドに必要)

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

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

ウェブ、デスクトップ、モバイルのClaudeで使えます:

  1. Settings → Connectors を開く
  2. Add custom connector を押す
  3. 下のアドレスを貼り付けて Add を押す
  4. サインインを求められたら、作者のサービスにサインインする
SettingsConnectors1+ Add2https://…3
https://mcp.beel.es/mcp

または、パソコンで動かす

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

{
  "mcpServers": {
    "beel": {
      "command": "npx",
      "args": [
        "-y",
        "@beel_es/mcp"
      ],
      "env": {
        "BEEL_API_KEY": "your-value",
        "BEEL_ENV": "your-value"
      }
    }
  }
}

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

claude mcp add --transport http beel https://mcp.beel.es/mcp

または、パソコンで動かす

claude mcp add beel --env BEEL_API_KEY=your-value --env BEEL_ENV=your-value -- npx -y @beel_es/mcp

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

Cursorで開く

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

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

{
  "mcpServers": {
    "beel": {
      "url": "https://mcp.beel.es/mcp"
    }
  }
}

または、パソコンで動かす

Cursorで開く

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

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

{
  "mcpServers": {
    "beel": {
      "command": "npx",
      "args": [
        "-y",
        "@beel_es/mcp"
      ],
      "env": {
        "BEEL_API_KEY": "your-value",
        "BEEL_ENV": "your-value"
      }
    }
  }
}

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

VS Codeで開く

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

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

{
  "servers": {
    "beel": {
      "type": "http",
      "url": "https://mcp.beel.es/mcp"
    }
  }
}

または、パソコンで動かす

VS Codeで開く

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

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

{
  "servers": {
    "beel": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@beel_es/mcp"
      ],
      "env": {
        "BEEL_API_KEY": "your-value",
        "BEEL_ENV": "your-value"
      }
    }
  }
}

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

ChatGPTがつなげるのは、インターネット上のサーバーだけです:

  1. ウェブ版のChatGPTを開き → Settings → Connectors (Apps)
  2. Create または Add を押す(プランによっては、先に Advanced で Developer mode をオンにする必要があります)
  3. 下のアドレスを貼り付け、名前を付けて保存する
  4. サインインを求められたら、作者のサービスにサインインする
SettingsConnectors1+ Create2https://…3
https://mcp.beel.es/mcp

メニューの名前は、プランや時期によって少し違うことがあります。

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

自分で入力する値

  • BEEL_API_KEY 秘密 必須 env
    BeeL API key. The prefix selects the environment: beel_sk_test_ for Test, beel_sk_live_ for Live. It may be omitted on a machine where the BeeL CLI has been signed in (`beel login`), whose credential…
  • BEEL_ENV env
    Which stored CLI credential to use when BEEL_API_KEY is not set: test (default) or live. Ignored when BEEL_API_KEY is set, since the key's prefix already says which environment it belongs to.

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

できること

このサーバーは、ツール一覧を表示する前にサインインを求めます。

基本チェックi

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

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名はドメイン beel.es で確認済みです(レジストリがドメインの所有を確認しています)

  • … 未チェック

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

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

  • … 未チェック

    ライセンスがある

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

  • ✓ 合格

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

    1074ミリ秒で応答(HTTP 401)

  • ✓ 合格

    OAuthでサインイン

    OAuthでのサインインに対応しているため、AIアプリがログイン画面へ案内してくれます

  • … 未チェック

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

    まだチェックしていません。エンドポイントをチェックするときにツール一覧を読み取ります

その他のほかのサーバーとの比較i

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

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

よくある質問

BeeLは安全ですか?

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

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

入力が必要なもの:BEEL_API_KEY

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

どちらでも使えます。パソコンにインストールしても、クラウド版につないでもかまいません。

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

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

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

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。URLでつながるので、リモートMCPサーバーに対応したアプリ(開発者モードのChatGPTなど)でも使えます。

代わりに使えるものは?

同じカテゴリには:Spec Driven Development, Remote Desktop Commander, sync. labs

代わりの候補

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

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

Remote Desktop Commander

作者:desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

クラウドで動く★ 211昨日更新
インストール

sync. labs

作者:synchronicity-labs

Lipsync videos, dub them into other languages, make talking videos and open sync. Studio.

パソコンでもクラウドでも今日更新
インストール

作者のREADME

READMEを開く

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

BeeL MCP server — VeriFactu e-invoicing for AI agents

Servidor MCP de facturación electrónica española con VeriFactu (AEAT): crea, emite y rectifica facturas desde Claude, ChatGPT, Cursor o VS Code .

MCP server for Spanish e-invoicing with VeriFactu compliance — issue, correct and register invoices with AEAT straight from your AI agent.

beel.es · API docs · MCP guide · npm


An MCP (Model Context Protocol) server that lets an AI agent issue legally compliant Spanish electronic invoices — VeriFactu registration with AEAT, F1/F2 invoice types, R1–R5 correctives, NIF validation against the census, and the regime keys the regulation requires. Connect it to Claude, ChatGPT, Cursor or VS Code and your agent can handle Spanish invoicing — *facturación electrónica* and *factura electrónica VeriFactu* — end to end, without you writing a single API call.

It is not a generated wrapper around an API. Three things make it usable by a model:

  • Tools are derived from the public OpenAPI contract, so each tool's input schema is the operation's real schema — enums, line items, regime keys and all. The surface cannot drift from the API.
  • A tool-inclusion policy decides what an agent should actually be given. Binary downloads, multipart uploads, webhook plumbing, operations only a browser session can authenticate, and deprecated ones are excluded by rule, not by hand.
  • Fiscal guardrails travel with the tools: the invariants a generated wrapper would miss, both as documentation the model reads and as pre-flight checks that stop a non-compliant request before it becomes a fiscal document.

One codebase, two transports: the hosted remote server at https://mcp.beel.es/mcp (Streamable HTTP + OAuth — one login per user, nothing to install), and a local stdio server built from this repository for headless use, where an API key works and a browser-based login does not.

Quick start

Add `https://mcp.beel.es/mcp` as a connector in Claude, ChatGPT, Cursor or VS Code and log in with your BeeL account. Nothing to install and no API key to handle: the server acts with your own credentials, and the OAuth flow is discovered from the URL.

# Claude Code

claude mcp add --transport http beel https://mcp.beel.es/mcp

That is the whole setup for interactive use. Read on only if you need the local server.

Running it locally

Use the local server when OAuth cannot: a scheduled job that issues invoices, a CI pipeline, or any headless process where no one is present to complete a browser login. It authenticates with an API key instead.

Requires Node ≥ 20.

// Claude Desktop / Claude Code MCP config

{ "mcpServers": { "beel": { "command": "npx", "args": ["-y", "@beel_es/mcp"], "env": { "BEEL_API_KEY": "beel_sk_test_xxx" } } } }

# Claude Code

claude mcp add beel --env BEEL_API_KEY=beel_sk_test_xxx -- npx -y @beel_es/mcp

Keys prefixed beel_sk_test_ are safe to experiment with; beel_sk_live_ issues real fiscal documents.

Releases are published from CI through npm trusted publishing, so they carry provenance: npm records the exact commit and workflow each build came from. Verify it with npm audit signatures.

Each release is also announced to the MCP Registry as `es.beel/mcp`, listing both transports, so clients that browse the registry find the server without being pointed at it. The name is authenticated by a DNS record on beel.es, so it says the server comes from us and not merely from some repository.

An earlier listing under io.github.beel-es/beel-mcp (v0.2.2) was retired when the name moved. Registry names are identities rather than labels, so a rename is a new entry rather than a redirect; both point at the same npm package and the same hosted server.

What it provides

  • 129 API tools derived from openapi/public-api.yaml — invoices, customers, products, recurring invoices, series and tax configuration, NIF validation, companies.
  • 7 synthetic tools the API has no single endpoint for: beel_docs_search, beel_docs_get, beel_docs_list over the documentation (the docs site's search endpoint and one page's Markdown at a time, or some of its sections in one call: a long page answers with its outline); beel_rules_list and beel_rules_get over the fiscal rules catalogue (by id, several ids at once, domain, keyword or error code); beel_schema_get, the fields of request and response schemas as compact TypeScript-like declarations from the bundled contract (by schema name, or by tool name for its query, body and return type); and beel_get_setup_status, which reports per NIF exactly what is missing before it can issue, the one next action to take, and the ids an integration starts from (company, default series per document type, VeriFactu status and tax defaults).
  • Guardrail resources under beel://guardrails/* — the fiscal rules, one resource per domain, the API usage guides, and beel://guardrails/errors, a catalogue of every error code with the action it calls for. The domains and guides that apply are named in the description of every tool they constrain.
  • 9 workflow prompts encoding the safe order of operations for the flows where the order is what makes them safe: issue-invoice (validate NIF → choose F1/F2 → check the VeriFactu gates → issue), fix-invoice (void vs correct), fix-rejection (act on an AEAT rejection by code family), onboard-nif, go-live-checklist, setup-representation, invite-member, connect-payments and upgrade-integration.
  • Inline invoice PDF viewer (MCP Apps): generating an invoice PDF opens it in a side panel in hosts that support it.

A generated catalogue of every tool, with the scopes each requires, lives at docs.beel.es/mcp/tools (npm run tools:catalog).

What is deliberately not a tool

Binary downloads (PDF preview, bulk ZIP, Excel/CSV export), binary uploads (Holded import, signed-PDF submission, logo), webhook infrastructure, operations that only a browser session can authenticate, and every deprecated operation. An agent cannot drive them, and each one costs context that a usable tool needs. The CSV imports of managed accounts and customers are tools: the agent passes the CSV as text and the server sends the file. The rules are in src/policy/tool-policy.ts.

The fiscal guardrails

Spanish e-invoicing has invariants an LLM will get wrong from the schema alone — voiding an invoice that should have been corrected, using R1 on a simplified invoice, editing one AEAT has already registered. The server addresses that in three layers, and the difference between them matters:

1. Advisory — two sources, kept apart on purpose:

  • The fiscal rules are the catalogue the documentation site publishes at docs.beel.es/api/rules.json: each rule has an id (COR-002), a statement, why it exists, its legal basis, the error codes that enforce it and examples. The server reads it at runtime (cached, like the other docs files) and serves it through beel_rules_list / beel_rules_get and one resource per domain (beel://guardrails/corrective, …). Nothing fiscal is re-typed here. A snapshot of the catalogue ships in the package as a fallback for when the docs host is unreachable; npm run sync:rules is its only writer, and a test fails if it was edited by hand. The former beel://guardrails/cancel-vs-rectify, invoice-types and regime-keys URIs still resolve, to the domains that replaced them.
  • The API usage guides — src/guardrails/rules/*.md — cover what is not a fiscal rule but still trips an agent: how a line states its price, how a series is configured, which company an operation acts on, how to read NIF validation and issuing readiness, and which tool performs each invoice operation. They link to rule ids rather than restating them.

The domains and guides that apply are named in the description of every tool they constrain, so the constraint travels with the call.

2. Enforced — src/guardrails/validate.ts, checked before the request is sent, so a bad payload never even consumes an idempotency key:

CheckCode
Exactly one pricing field per lineLINE_UNIT_PRICE_XOR_DECLARED_TOTAL
No discount on a declared totalLINE_DECLARED_TOTAL_FORBIDS_DISCOUNT
No IRPF withholding on a simplified (F2) invoiceSIMPLIFICADA_FORBIDS_IRPF
No nif or alternative_id on a simplified (F2) invoice's recipientSIMPLIFIED_INVOICE_FORBIDS_IDENTIFIED_RECIPIENT
Equivalence surcharge only under regime 18, and 18 only with oneSURCHARGE_REQUIRES_REGIME / REGIME_REQUIRES_SURCHARGE
Series format can tell its reset periods apartSERIES_ANNUAL_REQUIRES_YEAR / SERIES_MONTHLY_REQUIRES_MONTH_AND_YEAR
Numbering is only seeded in the call that activates the companyNUMBERING_REQUIRES_ACTIVATION
SUPLIDO lines carry their source referencechecked locally
Exemption text only under reason OTROchecked locally
Correctives go through their own operation, not type: CORRECTIVEchecked locally

3. Explained — the BeeL API already answers well: its message is written for a human in the caller's language, error.details carries the specifics, and the RFC 7807 type field links to a documentation page for that exact code. The server relays all of that untouched, and adds only the two things a response cannot carry: the remedy as a tool call — the docs address someone with the dashboard open ("create a series in settings"), an agent needs beel_set_default_series — and whether retrying can possibly help, which is what stops an agent looping on a 403 that needs an administrator. When the code is one a published rule cites, the error also names that rule (id, title, link). src/guardrails/catalog.ts holds only codes where one of those applies; anything else passes through, because a paraphrase would be worse than the original and would drift from it. The nested blockers[] of EMISSION_NOT_READY are the clearest case: they arrive as bare strings with no message and no link, and each comes back out naming the tool that clears it.

The BeeL API is the authority on all of it. Every enforced rule mirrors a rejection the contract documents, so the pre-flight

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く