mcpField
S
Stackin

Stackin

リモート
docs.stackin.io金融データ07 週間前に更新
リポジトリ公式サイト

Stackin について

Stackinは、ブラジルのNF-eとNFS-eを扱う事業者向けのホスト型MCPサーバーです。AIクライアントから税務書類を発行・管理でき、コード検索や却下理由の診断にも対応します。

主な機能

  1. 01NF-eとNFS-eの発行・照会・取消
  2. 02税務当局の却下コード診断
  3. 03NF-eの訂正書提出
  4. 04受領した請求書の確認と応答
  5. 05未使用のNF-e番号範囲の無効化
  6. 06税務コードと納税者の検索

活用シーン

  1. 01AIクライアントから請求書を発行
  2. 02却下されたNF-eを調べて対応方法を選択
  3. 03他社が発行した請求書を確認
  4. 04NCM、CFOP、CEST、CNPJの情報確認

MCP 対応

ホスト型サーバーはstreamable HTTP経由で、税務書類と検索のツールをMCPクライアントに提供します。OAuth 2.1または静的Bearerキーに対応しています。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://mcp.stackin.io/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

16
パラメーター型必須説明
itemsarrayはい
numberanyいいえ
seriesanyいいえ
tax_idstringはい
client_namestringはい
document_typeenumはいnfse | nfe
idempotency_keyanyいいえ
recipient_addressanyいいえ

詳細

Stackin — MCP を介したブラジルの税務書類

Stackin MCP プラグイン — ChatGPT、Claude Code、Codex、Cursor 向け NF-e と NFS-e

Model Context Protocol に対応するあらゆる AI クライアントから、ブラジルの電子請求書(nota fiscal eletrônica)を発行、照会、訂正、キャンセルできます。

MIT license MCP server Documentation Get an API key


自然な言葉で質問するだけです――「このサービスの NFS-e を発行して」、「前回の NF-e が却下された理由は?」、 「請求書 1042 をキャンセルして、理由コードを教えて」――するとモデルが Stackin を通じて、 SEFAZ および自治体の NFS-e ウェブサービスに対して処理します。

16 個のツール、9 個のスキル、ホステッドサーバー 1 台。 SDK のインストールも、XML への署名も、クライアントでの証明書管理も不要です。

  • 🧾 NF-e(商品)と NFS-e(サービス)— 発行、照会、キャンセル
  • 🔎 税務当局独自のコードから却下の原因を診断し、再発行と訂正のどちらにするか選択
  • ✉️ 認可済み NF-e の訂正通知書(CC-e)
  • 📥 受領した請求書 — 他社が自社宛てに発行した書類を読み取り、申告
  • 🔢 予約済みで未使用の NF-e 範囲の番号無効化
  • 📄 会話から直接 DANFE / DANFSe PDF を取得
  • 🔎 税務コードの検索 — 推測せずに NCM、CFOP、CEST を特定し、CNPJ の帰属先を確認

目次

Claude Code へのインストール

このリポジトリ自体がマーケットプレイスなので、GitHub から直接インストールできます。

claude plugin marketplace add stackin-io/stackin-mcp-plugin
claude plugin install stackin@stackin

このプラグインには 9 個のスキルが含まれ、Claude Code の接続先として https://mcp.stackin.io/mcp が設定されています。 設定は一切不要です:最初のツール呼び出しで WWW-Authenticate を含む 401 が返され、Claude Code がその認証フローを進めます。セッション内で /mcp を実行し、開いたブラウザーで認証すると、トークンが保存されます。クライアントは /oauth/register を通じて自身を登録するため、誰かから client_id を発行してもらう必要はありません。

固定キーを使いたい場合は、プラグインをインストールせずにヘッダーを指定してサーバーを手動で追加してください。詳しくは認証を参照してください。

ChatGPT と Codex へのインストール

同じサーバーが Developer Mode 経由で ChatGPT アプリとして公開されています。開発者モードを有効にし、https://mcp.stackin.io/mcp をコネクターとして登録して認証します。動画を含む詳しい手順はdocs.stackin.io/mcpをご覧ください。

Cursor または任意の MCP クライアントから接続する

任意の MCP クライアントから、このプラグインを使わずにサーバーを直接利用できます。Cursor は、プロジェクト内の .cursor/mcp.json または ~/.cursor/mcp.json を読み込みます。変数の展開構文は Claude Code のものとは異なります。Cursor では ${env:VAR} を使用します。

{
  "mcpServers": {
    "stackin": {
      "url": "https://mcp.stackin.io/mcp",
      "headers": { "Authorization": "Bearer ${env:STACKIN_API_KEY}" }
    }
  }
}

Claude Code で手動設定する場合 — ${VAR} は環境変数から展開されます。

claude mcp add --transport http stackin https://mcp.stackin.io/mcp \
  --header "Authorization: Bearer ${STACKIN_API_KEY}"
プロパティ値
エンドポイントhttps://mcp.stackin.io/mcp
トランスポートstreamable-http
認証PKCE と動的クライアント登録による OAuth 2.1、または静的 Bearer キー
環境検証環境と本番環境。キーまたは認可済みの接続に固定されます

認証:OAuth または API キー

接続方法は 2 つあり、それぞれ挙動が異なります。

API キーを使う場合。 app.stackin.io で生成します。キーには環境がすでに設定されているため、クライアント側で選択する必要はありません。Authorization: Bearer <key> として送信します。

キーを使わず OAuth を利用する場合。 ヘッダーを省略します。ツール呼び出しに対して WWW-Authenticate を含む 401 が返され、/.well-known/oauth-protected-resource を示します。これにより、/mcp を実行したときに Claude Code でログインが促されます。サーバーは動的クライアント登録(/oauth/register)に対応しているため、自動登録するクライアントには、誰の操作も必要なく client_id が付与されます。Cursor では、動的に登録せず、auth キーの下に静的なクライアント認証情報を設定することもできます。

2026-09-09 にブラウザーまで動作確認済みです。ヘッダーなしでサーバーに接続でき、ツール呼び出しに対して resource_metadata チャレンジを含む 401 が返され、保護リソースのドキュメントが解決され、/oauth/register は 201 を返し、/oauth/authorize は同意画面にリダイレクトされます。Claude Code または Cursor からブラウザーを介したフロー自体は、まだ最後まで確認していません — ChatGPT では実際に同意まで完了しましたが、これら 2 つでは未確認です。途中で止まった場合は、使用されている redirect_uri を確認してください。/oauth/authorize が受け付けるのは、クライアントが登録した URI のみです。

スキル

スキルは、ツールの説明だけでは伝えられない操作の順序や税務ルールがある場合にのみ用意されています。

スキル内容
issue-invoice状況に応じて必要な書類と、発行前の検証
consult-invoice書類の検索方法と、各操作で使用する識別子
cancel-invoice取り消せない操作の前の確認と、代わりに訂正書が適切な場合
diagnose-invoice税務当局独自の却下コードの読み方と、再発行と訂正のどちらを選ぶか
correct-invoice認可済み NF-e に対する訂正書の提出と、CC-e で変更できない内容
invalidate-numbering予約済みで未使用の NF-e 番号範囲を無効として申告する方法
received-invoices他社がこの事業者宛てに発行した書類の確認と、それらへの回答
fiscal-lookup推測で選ぶのではなく、発行前に NCM、CFOP、CEST を特定する方法
taxpayer-lookup納税者番号の名義人の確認と、404 が CNPJ 無効を意味しない理由

このリポジトリの内容

このリポジトリは配布レイヤーです。マニフェスト、スキル、アセットが含まれます。 サーバー本体は https://mcp.stackin.io/mcp にあり、Model Context Protocol を使用します。

パス内容
.codex-plugin/plugin.jsonプラグインの識別情報、バージョン、カテゴリ、法的情報へのリンク
.app.jsonプラグインを登録済みの MCP 接続に対応付けます
.agents/plugins/marketplace.json公開前のインストールに使用するローカルマーケットプレイス
.claude-plugin/plugin.jsonClaude Code 用のプラグイン識別情報
.claude-plugin/marketplace.jsonClaude Code が追加できる、このリポジトリのマーケットプレイス
.mcp.jsonClaude Code 用のホスト型 MCP サーバー
server.jsonMCP Registry のエントリー
skills/ツールの説明だけでは不十分な 9 つのワークフロー
assets/アイコンとロゴ

1 つのプラグイン、3 つのクライアント

リポジトリに 3 つのマニフェストがあるのは、3 つのエコシステムで参照先が異なり、ファイルが見つからない場合はいずれもエラーを表示せずに失敗するためです。

クライアント参照先読み込む内容
ChatGPT / Codex.codex-plugin/plugin.json + .app.jsonアプリ ID とホストされた MCP
Codex marketplace.agents/plugins/marketplace.jsonソースとしてのこのリポジトリ
Claude Code.claude-plugin/marketplace.json、.claude-plugin/plugin.json、.mcp.jsonスキルと https://mcp.stackin.io/mcp

Claude Code にフォルダーを追加すると、3 行目が存在するまでは "No marketplace manifest found … (expected .cursor-plugin/marketplace.json or .claude-plugin/marketplace.json)" というエラーが発生していました。スキルは共通です。3 つのクライアントすべてが skills/ を参照するため、スキルを一度作成すれば、どのクライアントからも読み込まれます。

MCP Registry

server.json は、official MCP Registry 向けにホストされたサーバーをリモートエントリとして記述します。io.github.stackin-io/stackin、streamable-http で、インストールするパッケージはありません。

公開は自動化されています。v* タグをプッシュすると .github/workflows/publish-mcp.yml が実行され、タグからバージョンを設定し、GitHub OIDC で認証して公開します。保存されたトークンは不要です。io.github.stackin-io/* 名前空間の使用を許可するのは、ワークフロー自体の ID です。

git tag v1.0.0 && git push origin v1.0.0

Registry に掲載されるのは 公開 リポジトリであるため、エントリはサーバーのソースコードの隣ではなく、ここにあります。

よくある質問

クライアントにデジタル証明書(A1/A3)が必要ですか? いいえ。app.stackin.io に証明書を一度アップロードすれば、サーバー側に保持されます。

本番環境でも使えますか? それとも検証環境のみですか? どちらでも使えます。環境は API キー、または OAuth で認証した接続によって固定されるため、呼び出しごとに選択する必要はありません。

NFS-e はどの自治体に対応していますか? Stackin が対応している自治体です。docs.stackin.io をご確認ください。NF-e は SEFAZ を通じて全国に対応しています。

このプラグインなしでサーバーを使えますか? はい。これは通常の MCP サーバーです。プラグインはスキルを追加し、手動設定の手間を省くだけです。

無料ですか? 発行には Stackin アカウントのクレジットを消費します。照会とキャンセルは消費しません。

コード検索で 403 が返されていましたが、今は返されません。何が変わったのですか? 2026-09-10 までは、この 4 つのルートに OAuth スコープがなかったため、認証済みアプリでも付与された権限にかかわらず拒否されていました。現在は invoice:read が必要です。どの接続にもすでに付与されているため、その日より前に作成した接続も、再作成せずに使えます。

有効だと分かっている CNPJ を lookup_taxpayer で検索すると 404 が返されます。問題がありますか? おそらくありません。このレジストリは Receita Federal のデータをもとに毎月更新されるため、ここ数週間に登録された会社はまだ含まれていない可能性があります。有効性を確認するものではないため、これを理由に請求書をブロックするべきではありません。

メンテナーノート

.app.json の app_id は、mcp.stackin.io が OpenAI Developer Mode に登録され、実際のコネクターで OAuth 認証が完了した 2026-09-06 に入力されました。それまでは意図的に空欄のままでした。これは事前に準備できない唯一の値だからです。

古いツール一覧は、再スキャンではなく新しいアプリを作成して修正しました。 最初のアプリ(asdk_app_6a9d458d…)は NFS-e の制限前にスキャンされており、以前のツール構成を公開し続けていました。.app.json には現在、2つ目のアプリが記載されています。3つ目を作成する場合は、このファイルを更新してください。値が誤っていても警告は表示されません。

NF-e は 2026-09-07 に 2段階で復活しました。 まず、既存の8つのツールで document_type が nfe も受け入れるように拡張されました。これはツール数からは分からない変更でした。その後、NF-e 専用の4つの操作、correct_invoice、invalidate_numbering、list_received_invoices、manifest_received_invoice が復活しました。これでツールは12個、スキルは7個です。

4つの検索ツールは 2026-09-10 に追加されました。lookup_fiscal_code、search_fiscal_codes、list_fiscal_kinds、lookup_taxpayer と、fiscal-lookup、taxpayer-lookup の各スキルです。現在、ツールは16個、スキルは9個です。 これらはすべての OAuth トークンを拒否する状態でリリースされました。各ルートにスコープがまったく設定されていなかったためです。同日、invoice:read が付与されたので、再接続は不要です。

コネクターは、スキャンした時点のツール一覧をキャッシュします。 アプリは 2026-09-06 10:48 に認可され、NFS-e の制限は 12:00 に有効になったため、ChatGPT はサーバーに存在しない3つを含む11個のツールを引き続き公開していました。ツール一覧を更新するには、新しいプラグインバージョンを公開して Scan Tools を実行します。修正が必要なのはサーバー側ではありません。サーバーはすでに正しい状態でした。テストする前にツール数を確認してください。正しい情報はサーバーにあり、scripts/check_skills.py はサーバーをリアルタイムで読み取ります。

識別子は URL ではなく、コネクターページから取得してください。 アドレスは chatgpt.com/plugins/plugin_asdk_app_… で、ここでの plugin_ はルートの一部であり、ID の一部ではありません。ここに設定する値は、ページ上の「App ID」フィールドに表示される値、つまり asdk_app_… です。誤っていてもすぐには分かりません。送信に失敗するまで検証されないためです。

mcp.authentication は、サーバーが OAuth に対応する前に bearer に設定されていました。コネクターページには現在、Authorization used: OAuth と表示されているので、oauth としています。このフィールドの列挙値は OpenAI の公開ドキュメントに記載されていません。developers.openai.com/codex/plugins/apps.md は 404 にリダイレクトされるため、これは検証済みの値ではなく、実態に即した説明です。送信時に拒否された場合は、まずここを確認してください。

ライセンス

MIT — LICENSE を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。