mcpField
D
DIY Accounting Submit

DIY Accounting Submit

リモート
submit.diyaccounting.co.ukその他0今日更新
リポジトリ公式サイト

DIY Accounting Submit について

DIY Accounting Submit は、帳簿、税務データ、会社決算を扱うユーザー向けの MCP サーバーです。帳簿の読み書きや申告データの導出に加え、VAT と Companies House の処理を支援します。

主な機能

  1. 01帳簿の読み込みと保存
  2. 02ITSA申告データの導出
  3. 03VAT義務の一覧表示
  4. 04VAT申告と領収書の取得
  5. 05会社決算の生成と提出

活用シーン

  1. 01帳簿を開いてチェック結果を確認
  2. 02ITSA申告データの準備
  3. 03VAT義務を調べて申告領収書を取得
  4. 04会社決算の生成または提出

MCP 対応

帳簿、税務データ、VAT、会社決算を扱うツールをMCPクライアントに公開します。stdioまたはホスト型エンドポイントで動作します。

設定

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

エンドポイントhttps://submit.diyaccounting.co.uk/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 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

パッケージ
npm@diy-accounting-uk/diya-submit0.1.3

ツール

詳細

@diy-accounting-uk/diya-submit

DIY Accounting Submit の申告用 MCP です(../private.diyaccounting.co.uk/engineering/submit/archive/PLAN_SUBMISSION_MCP.md)。公開済みの @diy-accounting-uk/diya-gl エンジンで顧客の帳簿を開き、申告に必要な数値を導き出し、このサービスのエンドポイントを通じて VAT 申告書と小規模企業の決算書を提出します。このパッケージは骨組みです。サーバー、stdio トランスポート、2 つの帳簿ツールが含まれます。数値の導出と申告を行うツールは、計画の後続項目です。

実行

npm --prefix mcp install
node mcp/bin/diya-submit-mcp.js

引数なしで、このコマンドを MCP クライアントに指定してください。サーバーは mcp/lib/server.js です。stdio エントリーポイントはサーバーを標準入力と標準出力に接続するだけなので、ホスト型トランスポートでは同じサーバーを別のトランスポートに接続します。

ホスト型

同じサーバーがサイトの /mcp で稼働しており、URL で接続するチャットクライアントから利用できます。Claude(Web、デスクトップ、モバイル、または Cowork)でカスタムコネクターとして https://submit.diyaccounting.co.uk/mcp を追加するか、Claude Code で次のように設定します。

claude mcp add --transport http diya-submit https://submit.diyaccounting.co.uk/mcp

クライアントは /.well-known/oauth-protected-resource/mcp を通じてサインイン先を検出し、自身を登録します。その後、ユーザーは Submit アカウントでサインインします。ci 用の URL は https://ci-submit.diyaccounting.co.uk/mcp です。ホスト型ツールセットは lib/hosted-tools.js の HOSTED_TOOL_NAMES です。open_book が読み取るのは DIYA クラウドのみです。サインイン用のペア、ファイルシステムツール、引き続き HMRC トークンを必要とする会計事務所向けツール、および run_for_clients は登録されません。

HMRC の不正防止データ

HMRC は、各リクエストを送信するデバイスに関するデータを必要とします。2 つの接続方式では異なるデータを送信します。

  • stdio サーバーは DESKTOP_APP_VIA_SERVER です。HMRC のルートを呼び出すたびに、デバイス ID(~/.config/diya-submit/device-id に保存)、ローカル IP アドレス、MAC アドレス、オペレーティングシステムのユーザー、タイムゾーン、オペレーティングシステムとデバイスのモデル、および画面情報を読み取ります。ウィンドウがないため、Gov-Client-Window-Size は送信しません。
  • ホスト型エンドポイントは OTHER_VIA_SERVER です。Submit が信頼できるよう署名したうえで、/mcp に接続した呼び出し元のパブリックアドレスを渡します。AI クライアントはデバイスデータを提供しません。

ツール

ツール内容
open_bookパスから帳簿を読み込みます。book.toml と lines.jsonl を含むディレクトリ、またはエンジンが読み取る単一ファイル(ワークブック、パッケージ ZIP、diya-gl ZIP、diya-gl JSON ファイル)を指定します。プロダクト、エンティティ、期間、行数、帳簿チェックの概要を返します。
save_bookセッションの帳簿を、diya-gl-dir、diya-gl-zip、json、xlsx、zip のいずれかの形式でパスに書き込みます。最後の 2 つでは、サイトのテンプレートからプロダクトのワークブックを作成します。
derive_itsa_quarterly_update自営業者の帳簿から、HMRC の Self Employment Business API に提出する 1 期間分を作成します。課税年度内の期間自体の数値は日付付き期間サマリーとして、年度内の 4 月 6 日からの累計は累積期間サマリーとして提出されます(2025-26 年度以降)。periodEndDate で期間を指定します。quarterlyPeriodType は standard または calendar です。帳簿から取得できない項目は省略され、ゼロとして送信されることはありません。
derive_itsa_annual_submission年次申告用の年間控除額と調整額を作成します。対象は、その課税年度に HMRC が受け付ける項目(sa103-mtd-mapping.json の api.years)に限定されます。path を指定すると、サイトの年次申告ページでインポートできる JSON ファイルとしても書き出されます。
request_hmrc_authorisationこのセッション用の HMRC サインインリンクを返します。services は vat(デフォルト)と itsa、hmrcAccount は live(デフォルト)または synthetic です。url、expiresAt、scope、hmrcAccount を返します。ユーザーは HMRC のページでアクセスを許可します。Submit は HMRC のトークンを保持し、セッションの残りの期間にわたってアクセストークンを更新します。トークンがチャットに渡されることはありません。
list_vat_obligationsvrn(または clientId)の VAT 申告義務を、from、to、status で絞り込みます。セッションの HMRC 認証を使用します。hmrcAccount(デフォルトでは認証に使用したアカウント)と govTestScenario は任意です。
submit_vat_returnperiodStart から periodEnd までの期間について、確認済みの 7 つのボックス(vatDueSales、vatDueAcquisitions、vatReclaimedCurrPeriod、totalValueSalesExVAT、totalValuePurchasesExVAT、totalValueGoodsSuppliedExVAT、totalAcquisitionsExVAT)を、vatNumber または clientId の申告として提出します。セッションの HMRC 認証を使用します。receipt、periodKey、receiptId を返します。
get_vat_receiptname(<receiptId>.json)で指定した保存済みの受領証を取得します。clientId は任意です。
render_micro_entity_accounts_sandbox確認済みの数値から作成した零細企業向け iXBRL をレンダリングします。Companies House ゲートウェイには接続しません。入力項目:companyNumber、companyName、periodStart、periodEnd、balanceSheet、averageEmployees、director、statementsAccepted。
render_small_company_accounts_sandbox確認済みの数値から作成した小規模企業向け(FRS 102 section 1A)iXBRL をレンダリングします。ゲートウェイには接続しません。入力項目:companyNumber、companyName、periodStart、periodEnd、averageEmployees、director、statementsAccepted(小規模企業向けの 4 つのステートメント)、smallCompany(filleted、principalActivity、accountingPolicies、directors、balanceSheet、profitAndLoss、fixedAssetNote)。
request_companies_house_codesチャットの代わりにユーザーが Companies House のコードを入力するリンクを返します。kind は accounts、confirmation-statement(提出順の directors を指定)、または confirmation-statement-data です。entryId、url、expiresAt を返します。エントリーの有効期間は 10 分で、提出呼び出し 1 回で使用済みになります。clientIds(companyNumber は指定しない)を指定すると、ページで実務のクライアントごとに 1 つのコードを求めます。run_for_clients 経由の場合も含め、各クライアントの提出呼び出しでは、それぞれに対応するコードのみが使用されます。
submit_micro_entity_accounts_sandboxリンクでユーザーが入力したコードを使用し、同じ数値を提出します。コードは codesEntryId で指定し、submissionNumber を返します。
submit_small_company_accounts_sandboxcodesEntryId で指定したコードを使用し、companyNumber または clientId の小規模企業の数値を提出します。submissionNumber を返します。kind が accounts の poll_submission で結果を確認します。
poll_submissionsubmissionNumber で指定した Companies House への提出結果を返します。kind は accounts または confirmation-statement です。結果は PENDING、ACCEPT(receiptId を含む)、または REJECT(rejections を含む)です。
申告ツールは、MCP 独自のサインインベアラー(sign_in)を使用して、デプロイ済みの REST API を DIYA_SUBMIT_BASE_URL に呼び出し、202 応答が終端ステータスになるまでポーリングします。リクエストを送信する前に、必須の入力を検証します。

セッションごとにメモリ上で扱う帳簿は 1 冊です。open_book を実行すると、現在の帳簿が置き換えられます。2 つの ITSA ツールは lib/itsa-tools.js にあり、 registerItsaTools(server, session) を通じて登録されます。

テスト

npm --prefix mcp test
npm --prefix mcp run test:system

test:system はリポジトリのルートから npm run start:simulator を起動し、バンドルを付与して、request_hmrc_authorisation で HMRC の認可を開始し、コールバックページと同じ方法で完了します。その後、シミュレーターが返す未処理の義務を使用して、list_vat_obligations、submit_vat_return、get_vat_receipt を実行します。リポジトリのルートから実行する npm run test:mcpHmrcGrantBehaviour-simulator は、ブラウザーで HMRC の同意ページを経由して、同じ認可手続きを進めます。設計については ../../private.diyaccounting.co.uk/engineering/submit/archive/PLAN_MCP.md を参照してください。

テストでは、test/fixtures/ にある BrickWork Pro Ltd と Precision Code Ltd のサンプル帳簿(スプレッドシートリポジトリの examples/ をコピーしたもの)を開き、テンプレートを必要としない 3 つの形式それぞれで往復変換します。ITSA テストでは、BrickWork Pro の自営業者向け VAT 帳簿(examples/brickwork-pro/se-vat)を開き、課税年度ごとの四半期累計と年次項目セットを検証します。

コメント

MCP は初めてですか?

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

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