mcpField
N
NULA.BG

NULA.BG

ローカル
github.com/encorp-io金融データ05 週間前に更新

NULA.BG について

ブルガリアの会計プラットフォーム nula.bg 向けの非公式 MCP サーバーで、企業データを扱う AI アシスタントを対象としています。請求書、仕入書類、OCR、顧客、在庫、銀行、レポートのツールを提供し、既定では読み取り専用です。

主な機能

  1. 01請求書と仕入書類の検索・管理
  2. 02OCR 処理用の書類アップロード
  3. 03顧客と在庫品目の検索
  4. 04銀行口座と取引の参照
  5. 05売掛金と期間レポートの表示
  6. 06既定で読み取り専用

活用シーン

  1. 01期限超過の売掛金の確認
  2. 02仕入書類をアップロードして認識
  3. 03銀行取引と未払い請求書の照合
  4. 04確認を経た請求書の作成や確認

MCP 対応

API キーで nula.bg REST API に接続し、MCP クライアントにツール、プロンプト、リソースを提供します。書き込み操作は既定で無効で、明示的に有効化できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
npmnulabg-mcp0.1.0
mcpbnulabg-mcp-0.1.0.mcpb0.1.0

ツール

13

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
eikstringいいえブルガリアの EIK/BULSTAT(ЕИК)
namestringいいえ会社名(ブルガリア企業は部分一致で検索できる場合があります)
vat_numberstringいいえ国コード接頭辞付き VAT 番号。例:BG123456789、DE123456789

詳細

nulabg-mcp

CI npm Node.js License: MIT

会計プラットフォーム nula.bg 向けの MCP サーバーです。nula.bg API キーを使って、Claude やその他の AI アシスタント(Claude Desktop、Claude Code、Cursor、VS Code…)から請求書、購入、OCR、顧客、在庫、銀行にアクセスできます。

非公式クライアントです。 このプロジェクトは nula.bg とは無関係です。公開されている REST API を使用します。

🇬🇧 英語版: nula.bg(ブルガリアのクラウド会計プラットフォーム)向けの MCP サーバーです。API キーを使って、請求書、OCR による請求書、顧客、在庫、銀行フィード、派生レポートにアクセスできます。デフォルトでは読み取り専用です。Claude Desktop に .mcpb バンドルをインストールするか、NULA_API_KEY を設定して npx -y nulabg-mcp を実行してください。この README の残りの部分は、プラットフォームとその書類、ユーザーがブルガリア語を使用するため、ブルガリア語で記載されています。モデルに表示されるツールの説明は英語です。どちらの言語でも、Issue やプルリクエストを歓迎します。

できること

モジュール(toolset)ツール内容
corenula_lookup_company統一識別コードまたは VAT 番号で企業を照会(商業登記簿/VIES)
invoicesnula_search_invoices, nula_create_invoice, nula_update_invoice, nula_update_invoice_metadata, nula_get_invoice_pdf, nula_email_invoice, nula_delete_last_invoice検索、発行(プレビュー付き)、編集、支払済み/送信済みへの変更、カテゴリ、添付ファイル、PDF、メール送信、最後の請求書の削除
billsnula_search_bills, nula_create_bill, nula_update_bill_categories購入(VAT 法第117条に基づく議事録を含む)
ocrnula_ocr_upload, nula_ocr_statusディスクから最大10件の書類をアップロード、認識完了の待機、クォータ
customersnula_search_customers顧客と取引先
inventorynula_search_items, nula_list_item_categories商品、価格、勘定科目、在庫
bankingnula_list_bank_accounts, nula_list_bank_transactions銀行口座と取引
insightsnula_receivables_report, nula_period_summary, nula_match_bank_transactionsエイジング付き売掛金、月次概要、銀行取引と請求書の照合候補
nra(無効)nula_nra_declarations, nula_nra_refresh_resultNRA への申告のステータス(提出なし)
noi(無効)nula_noi_documents, nula_noi_get_documentNOI 向け書類(付属書9/10/11)

変更を許可した場合は21個のツール、デフォルトの読み取り専用モードでは13個、nra と noi を有効にすると25個です。 複数の会社がある場合は、nula_list_companies も表示されます。

さらに、以下もあります。

  • プロンプト: issue-invoice、process-receipts、month-end-review、collect-overdue。
  • リソース: VAT 0%の根拠、議事録の根拠、すべての enum 値、請求書の PDF。

リクエストの例:

  • 「統一識別コード 123456789 の会社に、VAT 抜きで1時間60 €のコンサルティングを10時間分、15日以内の銀行振込で支払う請求書を発行して。」
  • 「~/Documents/Фактури/Септември 内のすべての PDF を購入としてアップロードして、認識された内容を見せて。」
  • 「30日を超えて未払いの顧客は?」
  • 「9月の銀行口座への入金と未払いの請求書を照合して。」

インストール

nula.bg アカウントから生成した nula.bg の API キーが必要です。このキーを使うと会社のデータにアクセスできるため、パスワードと同じように保管してください。

🔒 デフォルトではサーバーは読み取り専用です。 Claude は検索や読み取りはできますが、nula.bg での作成、編集、送信、削除はできません。これにより、テストや評価を安全に行えます。変更を許可するには、NULA_READ_ONLY=false を設定してください(Claude Desktop の場合は、拡張機能の設定で「読み取り専用」のチェックを外します)。

Claude Desktop (препоръчително)
  1. Свалете nulabg-mcp-<версия>.mcpb от Releases.
  2. Отворете файла с двоен клик (или Settings → Extensions → Install Extension).
  3. Въведете API ключа. Той се пази в keychain-а на системата. „Само четене“ е включено по подразбиране.

Node.js не е нужен, защото Claude Desktop го съдържа.

Claude Code
claude mcp add nulabg --scope user --env NULA_API_KEY=<вашият-ключ> -- npx -y nulabg-mcp

С право на промени (след като сте тествали):

claude mcp add nulabg --scope user --env NULA_API_KEY=<вашият-ключ> --env NULA_READ_ONLY=false -- npx -y nulabg-mcp
Cursor / Windsurf / Claude Desktop (ръчно)

~/.cursor/mcp.json или claude_desktop_config.json:

{
  "mcpServers": {
    "nulabg": {
      "command": "npx",
      "args": ["-y", "nulabg-mcp"],
      "env": { "NULA_API_KEY": "<вашият-ключ>" }
    }
  }
}
VS Code

.vscode/mcp.json. Ключът се иска при стартиране и не се записва във файла:

{
  "inputs": [{ "type": "promptString", "id": "nula-key", "description": "nula.bg API key", "password": true }],
  "servers": {
    "nulabg": {
      "command": "npx",
      "args": ["-y", "nulabg-mcp"],
      "env": { "NULA_API_KEY": "${input:nula-key}" }
    }
  }
}

Проверка на ключа от терминала:

NULA_API_KEY=<вашият-ключ> npx -y nulabg-mcp --check

Настройки

ПроменливаПо подразбиранеОписание
NULA_API_KEY—API ключ (задължителен, освен ако не ползвате NULA_PROFILES)
NULA_READ_ONLYtrueСамо четене. Промени в nula.bg се разрешават само с изрично false (0, no, off). Всяка друга стойност, вкл. грешно изписана, оставя режима само за четене
NULA_TOOLSETScore,invoices,bills,ocr,customers,inventory,banking,insightsКои модули да са активни; all включва и nra, noi
NULA_CONFIRM_WRITESelicitПотвърждение в клиента преди създаване, изпращане и изтриване (ако клиентът поддържа elicitation); never го изключва
NULA_DEFAULT_CURRENCYEURВалута за нови документи
NULA_DEFAULT_LANGUAGEbgЕзик на PDF и имейл (bg / en)
NULA_DEFAULT_INVOICE_CATEGORY—Категория за нови фактури (nula.bg изисква поне една)
NULA_DOWNLOAD_DIR~/Downloads/nulaКъде се записват PDF и XML
NULA_FILE_ROOTS~Папки, от които може да се качват файлове (разделени с :, на Windows с ;)
NULA_PROFILES—Няколко фирми: {"firma-a":"ключ1","firma-b":"ключ2"} или път до JSON файл
NULA_DEFAULT_PROFILEdefault или първиятФирма по подразбиране при NULA_PROFILES
NULA_BILL_CALLBACK_URLhttps://nula.bg/Адрес, който nula.bg уведомява след създаване на покупка (вижте „Ограничения“)
NULA_BASE_URLhttps://nula.bg
NULA_TIMEOUT_MS / NULA_MAX_CONCURRENCY / NULA_LOG_LEVEL30000 / 4 / info
Няколко фирми (за счетоводители)
NULA_PROFILES='{"alfa":"ключ-1","beta":"ключ-2"}' NULA_DEFAULT_PROFILE=alfa npx -y nulabg-mcp

Всеки tool получава параметър company, а nula_list_companies показва наличните фирми без ключовете.

Безопасност

  • Преглед преди създаване. nula_create_invoice и nula_create_bill имат preview_only. Асистентът е инструктиран първо да покаже номер, редове и суми и да изчака потвърждение.
  • Потвърждение в клиента. Създаването, редакцията, изпращането по имейл и изтриването искат изрично „да“ чрез MCP elicitation, когато клиентът го поддържа. Tools, които изпращат или трият, са маркирани като destructive, така че клиентите искат одобрение.
  • Изтриване. nula.bg трие само последната фактура. Tool-ът изисква номера ѝ (expected_number), отказва, ако последната е друга, и отказва предварително, ако фактурата е осчетоводена (виж „Ограничения“).
  • Без повторни опити при запис. Заявки, които създават, променят, изпращат или трият, никога не се повтарят автоматично. При timeout отговорът казва „статусът е неизвестен, проверете преди нов опит“.
  • Файлове. Четат се само PDF, JPG и PNG (по съдържание, не по разширение), само от NULA_FILE_ROOTS, без скрити папки, до 10 MB. URL-и се приемат само https, без локални и вътрешни адреси.
  • Ключът. Не се логва и не се връща в отговори. Логовете отиват в stderr.
  • Само четене по подразбиране. Докато не зададете изрично NULA_READ_ONLY=false, tools, които създават, променят, изпращат или трият, изобщо не се регистрират, така че Claude не може да ги извика. При грешно изписана стойност сървърът остава само за четене.
  • Без подаване към НАП и НОИ. Подаването на декларации изисква КЕП и не е достъпно през този сървър.

制限事項(v0.1)

  • 2026年9月26日に実際のアカウントで検証済みです。 13個すべての読み取りツールと書き込み操作(発行、編集、支払い済み/送信済み、PDF、メール)は、実データで動作します。応答形式はdocs/research/nula-api-analysis.md §8–§9に記載されています。動作しないのは削除だけです。詳細は以下をご覧ください。OCR、НАП、НОИは、キーにアクセス権がないためテストしていません。
  • OCR、НАП、НОИには、会社へのアクセス権を持つキーが必要です。 プロフィールで作成したキーでは、これらのエンドポイントは403「This token is not scoped to a team you can access」を返します。その他のモジュールは動作します。
  • 品目: SKUによる検索はカタログ全体の走査を通じて行われます。/open-cart/products/{sku}とgetItemDetailsは、既存の品目に対しても404を返し、searchフィルターはSKUを検索しないためです。
  • IDによる仕入れ: /ocr/bill/{id}はOCRを通過した書類でのみ動作します。それ以外の場合、サーバーは一覧から仕入れを検索します。
  • 「送信済み」請求書: nula.bgはこのステータスを返さないため、nula_update_invoice_metadataでは両方のフラグ(is_paidとis_sent)または請求書番号が必要です。
  • 請求書の削除はAPI経由ではできないことがよくあります。 DELETE /api/v1/deleteInvoiceはパラメーターなしで呼び出され、最後に発行された請求書を削除しますが、記帳済みの書類ではHTTP 403(空のメッセージ)を返します。会計モジュールのある会社では、すべての請求書がhas_accounting: trueとなるため、削除できません。書類はウェブアプリから手動で削除するか、クレジットノートで処理します。このツールは失敗するリクエストを送信する代わりに、事前に確認します。
  • 仕入れ時のコールバックURL。 createBillにはcallback_urlが必要です。デフォルトではnula.bg自体のアドレスが指定されるため、データが第三者に送信されることはありません。独自のWebhookがある場合は、NULA_BILL_CALLBACK_URLを設定してください。
  • 未対応のAPI操作。 nula.bg APIには、取引先の作成または編集(顧客は最初の請求書と同時に自動作成されます)、IDによる請求書のGET、VATおよび支払いに関する照会機能がありません。

開発

npm install
npm run build        # TypeScript → dist/
npm test             # unit + протоколни тестове (Vitest, фалшив nula.bg API)
npm run lint         # Biome
npm run inspect      # MCP Inspector срещу dist/cli.js
npm run pack:mcpb    # Claude Desktop bundle → nulabg-mcp-<версия>.mcpb
node dist/cli.js --list-tools

スタック:

  • TypeScript;
  • @modelcontextprotocol/server 2.x(MCP spec 2026-07-28に準拠。2025年のクライアントとも互換性があります);
  • zod 4;
  • Node.js ≥ 20。

アーキテクチャと設計上の決定:docs/SPEC.md。調査:docs/research/。

リリース: 手順と事前確認についてはdocs/RELEASING.mdをご覧ください。概要:package.jsonのバージョンを上げ、CHANGELOG.mdを更新して、vX.Y.Zタグを作成します。GitHub Actionsがprovenance付きでnpmに公開し、.mcpbをGitHub Releaseに添付して、MCP Registryを更新します。

貢献

Issueやプルリクエストを歓迎します。ブルガリア語または英語でお寄せください。特に役立つのは実際のAPIとの不一致(フィールド名や型。実データは含めないでください)の報告です。公式ドキュメントには、ほぼリクエストしか記載されていないためです。

ライセンス

MIT © Encorp

コメント

MCP は初めてですか?

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

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