mf-api-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mf-api-mcpShow me the trial balance for this fiscal year"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mf-api-mcp
マネーフォワード クラウド会計の APIキー認証版 MCPサーバー。
mf-full-mcp(OAuth版)と同じツールを提供しつつ、 2026-09-24 に MF が公開した APIキー認証を使う。
⚠️ APIキーは配らないこと
APIキー=発行者そのもの。 JWT に発行者の mfid_uid と、事業者ごとの tenant_user_uid
が入る。公式ドキュメントも「発行したユーザーに付与されている権限でAPIを実行する」と明記。
キーを渡した相手は、自分では入れない事業者にも発行者の権限で書き込める。 画面の権限制御は通らない。
しかも誰がやったか帳簿に残らない可能性が高い。 このサーバーで仕訳を1件作って MF形式CSVに落としたところ、こうなっていた:
MF仕訳タイプ : 外部連携(API)
作成者 : システムユーザー ← 発行者の名前は出ない
最終更新者 : システムユーザー1件しか確認していないので断定はしないが、そうだとすると誰が API を叩いたか
帳簿から追えない。API のレスポンスにも作成者のフィールドは無い(entered_by は
JOURNAL_TYPE_EXTERNAL / JOURNAL_TYPE_IMPORT 等の経路を表すもので、人ではない)。
各自が自分のアカウントで自分のキーを発行すること。 権限が自動で本人の範囲に絞られ、 退職時はそのキーだけ消せる。職員向けのボットに持たせる場合も同じ問題が起きる (職員がボットに頼めば発行者の権限で実行される)。
Related MCP server: kintone OAuth MCP Server on Cloudflare Workers
OAuth版(mf-full)との違い
mf-full(OAuth) | mf-api(APIキー) | |
認証 | ブラウザで事業者を選んで許可 | APIキー1本。ブラウザ不要 |
事業者の切替 |
| 呼び出しごとに |
認証情報の寿命 |
| APIキーは変わらない |
同じ人の複数環境での併用 | 不可(取り合いで | 可(キーの値が変わらないため) |
事業者の台帳 | 自前で | MF から引く。台帳不要 |
仕訳のメモ欄 | アプリ名が勝手に入る | 何も入らない |
最後の行が実務では大きい。OAuth には「アプリ」が存在する(アプリポータルで名前を付けて登録する) ので MF がその名前を記録でき、それが仕訳のメモ欄に出ていた。APIキーには「アプリ」が無い ので、書き込む名前が存在しない。メモ欄を自分の用途に使える。
APIキーの発行
アプリポータル → APIキー管理 → 「複数事業者」タブ → 新規登録
利用可能サービス: 会計 と 事業者情報
利用可能事業者: ページ送りがある。全ページ選ぶこと (全選択したつもりが1ページ分しか入っておらず、普段使っている事業者の大半が漏れていた。 気づいたのは API が「その事業者は使えない」と返したとき)
キーは一度しか表示されない。 ただし編集してもキーの値は変わらないので、 顧問先が増えたらチェックを足して保存するだけでよい。配り直しは不要。
設定
キーの置き場(優先順):
環境変数
MF_API_KEYMF_API_KEY_FILEが指すファイル~/.mf-api-key(600)
{
"mcpServers": {
"mf-api": {
"command": "node",
"args": ["/path/to/mf-api-mcp/dist/index.js"],
"env": { "MF_OFFICE_CODE": "XXXX-XXXX" }
}
}
}MF_OFFICE_CODE は既定の事業者。省略すると全ツールで office_code が必須になる。
仕組み
APIキー(期限なし) → POST https://api.biz.moneyforward.com/auth/exchange
→ JWT(ES256・1時間。1分前まで使い回す)
→ https://api-accounting.moneyforward.com/api/v3/...交換エンドポイントのレート制限は APIキーごと毎分100回。1時間に1回しか叩かないので当たらない。 429 は
Retry-After付きで返るoffice_codeは必須。無いと400 missing_required_query_parameter。 OAuth では無視されるパラメータ
ツール
mfc_ca_* は公式beta MCPと同名。すべて office_code を受け取る。
種別 | ツール |
認証・事業者 |
|
参照 |
|
仕訳 |
|
帳票 |
|
明細 |
|
証憑 |
|
太字は公式MCPのツール一覧に無いもの(公式MCP自体は試していない。 REST API 側にエンドポイントが存在するかは別問題で、実際このサーバーは REST で叩いている)。 証憑添付が要る用途では公式MCPに乗り換えられない。
実測メモ(2026-09-25・検証用の事業者で確認)
登録時の body でここを間違えて 400 を3回踏んだ。
journal_typeが必須科目は
account_item_idではなくaccount_id明細は
side/valueではなくdebitor/creditor/remarkgetTransactionsはstart_dateとend_dateが必須試算表は
from/toではなくfiscal_yearメモに文字を入れると末尾に
\nが付く。空なら空のまま
ID の %2F 問題(Base64 の ID をパスに埋めると 403 になる)は OAuth 版と同じ。
encodePathId が処理する。
ライセンス
MIT
Available Tools
26 toolsauth_statusA
APIキーの状態を確認する(キーの所在・JWTの取得可否・使える事業者数)。キーの値は表示しない。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the operation is a read-only status check and explicitly states that the key value is not displayed, which is valuable behavioral context. It stops short of describing the response shape, but for a status probe this is substantial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with no filler. The main purpose is front-loaded and the privacy-related constraint is stated briefly as a second sentence; every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema status tool, the description covers what the tool checks, what it does not reveal, and implies read-only behavior. Nothing an agent needs in order to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is no parameter meaning for the description to add. Per the rubric, a no-parameter tool gets a baseline of 4; the description correctly avoids inventing parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('確認する' / check) and a clear resource ('APIキーの状態' / API key status), then enumerates exactly what is checked: key location, JWT obtainability, and usable provider count. This clearly distinguishes it from the data-operation siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The purpose makes the usage context obvious: call this when you need to verify authentication readiness or API key status. No sibling tool appears to cover auth status, so explicit exclusions are not necessary; the guidance is clear without being wordy.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_officesA
このAPIキーで使える事業者の一覧を表示する。MF から直接取得するので自前の台帳は無い。
| Name | Required | Description | Default |
|---|---|---|---|
| accounting_only | No | 会計の権限があるものだけに絞る(既定: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the data is fetched directly from MF and that there is no local ledger, which is useful behavioral context. However, it does not mention whether this is a read-only operation, whether it can fail due to auth/network, or what the response shape is. The description is honest but incomplete for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the core purpose, and the implementation note is concise. Every word earns its place; no fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one optional parameter and no output schema, the description is mostly adequate. However, with no annotations and no output schema, it would benefit from stating that this is a read-only operation and what the response contains (e.g., office IDs and names). The missing return-value context is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the single parameter (accounting_only). The description does not add any extra meaning about the parameter beyond what the schema provides. Baseline 3 is appropriate because the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it lists the offices (事業者) available for this API key. It also adds a useful implementation detail (fetched directly from MF, no local ledger), which helps distinguish it from a cached or locally maintained list. However, it doesn't explicitly name a sibling tool to differentiate from, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it: when you need the list of offices available to the current API key. It also implies a contrast with a self-managed ledger ('自前の台帳は無い'), suggesting it is the authoritative source. However, it does not explicitly state when not to use it or mention alternatives among the siblings, so guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mf_api_infoA
このサーバーの設定情報と、OAuth版(mf-full)との違いを表示する。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. The verb 'display' implies a read-only operation and names the output subjects, which provides some transparency, but it does not explicitly state that the tool performs no mutation, requires no authentication, or how the output is structured.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single Japanese sentence states the entire purpose with no filler or redundancy. It is appropriately sized and front-loaded with the main output, then adds the secondary comparison point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter introspection tool with no output schema and no annotations, the description provides a reasonably complete picture: an agent can call it without arguments and know it will return server configuration details and differences from mf-full. It could be more explicit about the exact contents of the settings, but the tool's simplicity lowers the required detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is nothing for the description to document. The 0-parameter baseline applies, and the description does not need to add parameter-level semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('表示する' / display) and clearly identifies both the primary resource (this server's configuration information) and an additional output (differences from the OAuth version mf-full). This distinguishes it from the many data-operation siblings by framing it as an introspection/metadata tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states what the tool shows but gives no explicit guidance on when to use it versus alternatives such as auth_status or list_offices. It names no exclusions, prerequisites, or conditions that would make this tool the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mfc_ca_currentOfficeC
事業者情報と会計期間を取得します。
| Name | Required | Description | Default |
|---|---|---|---|
| office_code | No | 対象事業者の事業者番号(XXXX-XXXX)。APIキー認証では必須。MF_OFFICE_CODE を設定していれば省略可 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It indicates a read operation ('取得します') but does not mention authentication requirements, side effects, error conditions, or how the office code is resolved when omitted. The parameter schema mentions API key authentication, but the description itself adds little behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the primary action and result. There is no redundant wording or filler, though it is so brief that it leaves contextual gaps.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple tool with one optional parameter and no output schema. The description states what is returned, and the schema covers the parameter. However, given no annotations and no usage guidance, the description could still be more complete about when to use it and what the returned data looks like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the office_code parameter is documented with its format, optionality, and authentication condition. The description itself does not add parameter-level meaning, but the schema already covers it, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action ('取得します' – retrieves) and a specific resource ('事業者情報と会計期間' – business operator information and accounting period). It does not explicitly compare against siblings like list_offices or mfc_ca_getTermSettings, but the resource is specific enough to identify its purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as list_offices, auth_status, or mfc_ca_getTermSettings. It does not state exclusions, prerequisites, or typical scenarios, so an agent must infer usage from the name and minimal description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mfc_ca_deleteJournalsB
仕訳を完全削除します(公式MCP未提供・帳簿書き込み。要ユーザー承認)。
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| office_code | No | 対象事業者の事業者番号(XXXX-XXXX)。APIキー認証では必須。MF_OFFICE_CODE を設定していれば省略可 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the operation is a permanent deletion ('完全削除'), a ledger write ('帳簿書き込み'), and requires user approval. This provides key behavioral context for a destructive operation, though it could be more explicit about irreversibility or side effects, which are strongly implied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with a parenthetical clause. It is front-loaded with the primary action and includes critical caveats compactly. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive delete tool with no annotations and no output schema, the description conveys the core behavior (permanent deletion, ledger modification, approval requirement). However, it omits the meaning of the required 'id' parameter and does not specify any response or error behavior. This is adequate but leaves gaps for an agent to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 50%: only office_code has a description; id is undocumented. The tool description adds no parameter meaning—it does not clarify what 'id' refers to (likely a journal ID, but not stated). With partial schema coverage, the description should compensate, but it fails to explain any parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the action '仕訳を完全削除します' (completely delete journals) with a specific verb and resource. It is unambiguous about deleting journal entries, but it does not explicitly differentiate from sibling tools like mfc_ca_deleteVouchers, though the resource differs. The parenthetical adds context (not in official MCP, ledger write, requires approval) but doesn't name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It mentions '要ユーザー承認' (requires user approval) as a prerequisite, but there is no 'use when...' or 'use instead of...' information. Usage must be inferred entirely from the tool name and resource type.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mfc_ca_deleteVouchersA
仕訳と証憑の紐付けを解除します(証憑自体は孤立して残る。公式MCP未提供・要ユーザー承認)。
| Name | Required | Description | Default |
|---|---|---|---|
| journal_id | Yes | ||
| office_code | No | 対象事業者の事業者番号(XXXX-XXXX)。APIキー認証では必須。MF_OFFICE_CODE を設定していれば省略可 | |
| voucher_file_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full disclosure burden and adds genuine value: it discloses the side effect (証憑自体は孤立して残る — the voucher remains orphaned), the authorization requirement (要ユーザー承認), and an availability caveat (公式MCP未提供). It does not cover reversibility, error behavior, or response format, which a mutation tool would ideally disclose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with a parenthetical packs the core operation plus three key caveats with no filler. The main action is front-loaded and every clause carries information, though the dense parenthetical bundles multiple distinct concerns together.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the primary effect and the critical caveats, which is meaningful for a misleadingly named mutation tool with no output schema and no annotations. But with two undocumented required parameters and no return/result behavior described, an agent still faces gaps when invoking it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% — only office_code is documented in the schema — yet the description offers no parameter-level guidance. journal_id and voucher_file_id are undocumented in both the schema and the description, and their expected formats or identifier origins are unstated, so the description fails to compensate for the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (紐付けを解除 = unlink) and resource (the journal-voucher linkage), and clarifies that the voucher itself survives as an isolated record. This distinguishes it from sibling deletion tools like mfc_ca_deleteJournals and corrects the potentially misleading tool name 'deleteVouchers'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case (unlinking a journal-voucher association while preserving the voucher) and flags a prerequisite (要ユーザー承認). However, it names no sibling alternatives or explicit when-not-to-use conditions, leaving the agent to infer routing from the operation semantics.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mfc_ca_getAccountsC
勘定科目を取得します。
| Name | Required | Description | Default |
|---|---|---|---|
| available | No | 省略/true=有効のみ、false=全件(有効+無効)。falseは『無効のみ』ではない点に注意 | |
| office_code | No | 対象事業者の事業者番号(XXXX-XXXX)。APIキー認証では必須。MF_OFFICE_CODE を設定していれば省略可 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only restates the getter behavior implied by the name and does not mention read-only guarantees, authentication requirements, response format, or the important available=false semantics (all records, including disabled), which is left to the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence with no filler or redundant information. It is appropriately sized for a simple getter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite complete parameter documentation, the tool has no annotations, no output schema, and a description that provides no usage context, return shape, or differentiation from many similar sibling retrieval tools. This makes it insufficient for reliable tool selection among the 25 siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the parameter descriptions are informative, including the nuance that available=false returns all active+inactive records and that office_code is required for API key auth unless MF_OFFICE_CODE is set. The description does not need to repeat these details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description '勘定科目を取得します' clearly states a specific verb (取得) and resource (勘定科目), indicating it retrieves account items. However, it does not differentiate itself from siblings like mfc_ca_getSubAccounts or mfc_ca_getConnectedAccounts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no mention of prerequisites, and no exclusions. The agent must infer usage purely from the name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mfc_ca_getConnectedAccountsB
連携サービス(自動連携・手動管理とも)を取得します。
| Name | Required | Description | Default |
|---|---|---|---|
| office_code | No | 対象事業者の事業者番号(XXXX-XXXX)。APIキー認証では必須。MF_OFFICE_CODE を設定していれば省略可 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
取得します clearly signals a read-only retrieval operation with no indication of side effects, which is helpful given that no annotations are present. However, the description does not disclose additional behavioral context such as authentication expectations, response shape, or pagination, so the full burden is not completely met.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient Japanese sentence that front-loads the resource and scope. Every word contributes meaning, and there is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations, and a sparse one-sentence description, the tool definition lacks sufficient context about what a caller should expect in the response and how this tool fits among many sibling getter tools. The invocation itself is simple, but the completeness of the overall definition is limited.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter office_code is already fully described in the input schema (100% coverage), so the baseline applies. The description adds no parameter-level meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb (取得します) and names a clear resource (連携サービス), with the parenthetical clarifying it covers both automatic and manually managed connections. It does not explicitly contrast itself with siblings like mfc_ca_getAccounts, so it stops short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as mfc_ca_getAccounts or mfc_ca_getSubAccounts. It does not state exclusions, prerequisites, or conditions that would route an agent to a sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mfc_ca_getDepartmentsC
部門を取得します。
| Name | Required | Description | Default |
|---|---|---|---|
| available | No | 省略/true=有効のみ、false=全件(有効+無効)。falseは『無効のみ』ではない点に注意 | |
| office_code | No | 対象事業者の事業者番号(XXXX-XXXX)。APIキー認証では必須。MF_OFFICE_CODE を設定していれば省略可 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'retrieves departments' and does not mention whether active-only filtering is default, what happens with available=false, authentication requirements, or any return behavior. The parameter schema supplies some behavior, but the description itself adds almost nothing beyond the operation type.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short Japanese sentence with no filler or unnecessary detail. However, it is under-specified for a tool with two parameters, no annotations, and no output schema, so it is concise but not appropriately sized for the agent's needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description needed to explain return values, default filtering behavior, and when to use this tool. It only says 'gets departments,' leaving the agent to infer important context from the parameter schema and sibling tool names. The schema covers parameter semantics but not usage context or expected results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters have clear descriptions, including the nuance that available=false means all records including inactive ones and that office_code is required under API-key authentication. The description adds no parameter information, but the schema already does the heavy lifting, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: 取得します (retrieve) and 部門 (departments). It is concise and the resource is distinct from the sibling tools, which contain no other department-fetching tool. However, it does not explain what kind of departments are being retrieved or how they relate to an office, so it is clear but minimal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus other getter tools in the sibling list, nor any statement about prerequisites such as authentication or which office context applies. The schema mentions office_code but the description itself gives no usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mfc_ca_getJournalByIdB
仕訳を1件取得します。
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 仕訳ID(URLエンコード済みのまま) | |
| office_code | No | 対象事業者の事業者番号(XXXX-XXXX)。APIキー認証では必須。MF_OFFICE_CODE を設定していれば省略可 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states only the core operation and reveals nothing about return format, not-found behavior, or the authentication requirements hinted at in the office_code schema. For a get-tool with real auth nuance, this is a notable gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, grammatically complete Japanese sentence with zero filler. The verb and object are front-loaded, and every word earns its place. There is no unnecessary repetition of the tool name or schema content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity by-ID fetch with a fully documented two-parameter schema, the one-line description is nearly sufficient. However, it omits context around the office_code/auth conditional and the relationship to the getJournals list tool, and with no output schema there is no fallback for return-value expectations. A sentence of added context would make it complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters are well documented: id is explicitly a URL-encoded journal ID, and office_code covers the API-key-auth requirement and the MF_OFFICE_CODE escape hatch. The description adds no parameter detail, but the schema does the heavy lifting, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
仕訳を1件取得します names a specific verb (取得/get), a specific resource (仕訳/journal), and an explicit single-record scope (1件). This distinguishes it from the plural sibling mfc_ca_getJournals, whose list semantics are implied by contrast. It misses a 5 only because it never explicitly names the sibling or states 'by ID' in the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives. It does not mention that getJournals is the list counterpart, nor does it address the office_code/auth condition that determines whether the optional parameter is needed. An agent must infer usage context from the tool name and schema alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mfc_ca_getJournalsC
仕訳一覧を取得します。start_date または end_date のいずれかが必要。
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| end_date | No | ||
| per_page | No | 最大10000 | |
| account_id | No | ||
| start_date | No | ||
| is_realized | No | ||
| office_code | No | 対象事業者の事業者番号(XXXX-XXXX)。APIキー認証では必須。MF_OFFICE_CODE を設定していれば省略可 | |
| transaction_ids | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only mentions the date requirement but omits pagination behavior, default ordering, result limits, authorization needs, or response format. For a read operation with no safety hints, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words, front-loading the purpose before the constraint. It is efficient and to the point, but given the tool's complexity (8 parameters, no output schema), it may be too brief to be considered fully appropriate in size.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is severely incomplete for an 8-parameter tool with no annotations and no output schema. It fails to explain return structure, pagination, filtering semantics, office_code requirements, or any other essential context an agent would need to call the tool correctly. The lack of any output schema or annotation coverage makes this a major deficiency.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 25% (per_page and office_code have descriptions). The description adds the requirement that start_date or end_date is needed, which is not reflected in the schema's required array (since none are marked required). However, it does not explain the other six parameters (page, account_id, is_realized, transaction_ids, etc.) or their semantics, leaving them undocumented in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (取得する = get) and resource (仕訳一覧 = journal list). The plural 'Journals' in the tool name and '一覧' (list) differentiate it from sibling tools like mfc_ca_getJournalById. However, it doesn't explicitly mention filtering capabilities or contrast with related list tools (e.g., getAccounts), so it's clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description only states that either start_date or end_date is required, which is a parameter constraint, not usage guidance. It does not mention when to use this tool versus alternatives like mfc_ca_getJournalById or mfc_ca_postJournals, nor any exclusions or prerequisites. No guidance on pagination or other use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mfc_ca_getReportsTransitionBalanceSheetC
貸借対照表の推移表(月別)を取得します。
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | 推移表の種類(例: monthly) | |
| end_month | No | ||
| fiscal_year | No | ||
| include_tax | No | ||
| office_code | No | 対象事業者の事業者番号(XXXX-XXXX)。APIキー認証では必須。MF_OFFICE_CODE を設定していれば省略可 | |
| start_month | No | ||
| with_sub_accounts | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
アノテーションが一切ないため、説明が行動特性を伝える唯一の手段だが、「取得します」という読み取り操作であること以外の情報がない。認証要件、レスポンス形式、制約、副作用の有無などが開示されていない。
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
一文で無駄がなく、簡潔である。ただし必要情報が欠けているため「簡潔すぎる」状態だが、冗長さはなく構造自体は適切。
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
アノテーションも出力スキーマもなく、7つのパラメータのうち5つが未説明である状況で、この説明はエージェントが正しく呼び出すには不十分。月次範囲の指定方法や税込み・補助科目フラグの扱いなどが不明。
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
スキーマ説明カバレッジが29%と低く、typeとoffice_code以外のパラメータは未説明。説明文の「月別」がstart_monthやend_monthを連想させる程度で、fiscal_year、include_tax、with_sub_accountsなどの意味を補完していない。
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
「貸借対照表の推移表(月別)を取得します」という明確な動詞と対象リソースを示しており、何をするツールかは分かる。ただし、兄弟ツールであるgetReportsTrialBalanceBalanceSheetやgetReportsTransitionProfitLossとの違いは明示されていない。
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
いつ使うべきか、いつ使うべきでないか、代替ツールとの使い分けについての情報が一切ない。試算表ベースの貸借対照表や損益計算書の推移表との選択基準も説明されていない。
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mfc_ca_getReportsTransitionProfitLossC
損益計算書の推移表(月別)を取得します。
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | 推移表の種類(例: monthly) | |
| end_month | No | ||
| fiscal_year | No | ||
| include_tax | No | ||
| office_code | No | 対象事業者の事業者番号(XXXX-XXXX)。APIキー認証では必須。MF_OFFICE_CODE を設定していれば省略可 | |
| start_month | No | ||
| with_sub_accounts | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, but it only states that the tool retrieves a report. It does not mention authentication requirements, date-range behavior, default values, output format, or any side effects or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It is concise, although the brevity comes at the cost of missing important usage and parameter context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 7 parameters, no output schema, no annotations, and many closely related siblings, this description is far too minimal. An agent cannot determine correct parameter usage, return expectations, or when to select this tool over alternatives.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 29% (2 of 7 parameters described), so the description must compensate for the undocumented parameters. It does not explain type, start_month, end_month, fiscal_year, include_tax, or with_sub_accounts at all, leaving the agent with no additional semantic understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('取得します' / retrieves) and a specific resource ('損益計算書の推移表(月別)' / monthly transition table of the profit and loss statement). This clearly distinguishes it from sibling tools like getReportsTransitionBalanceSheet (balance sheet) and getReportsTrialBalanceProfitLoss (trial balance P/L).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many similar report siblings. No mention of prerequisites, alternatives, or conditions that would help an agent choose this over getReportsTransitionBalanceSheet or getReportsTrialBalanceProfitLoss.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mfc_ca_getReportsTrialBalanceBalanceSheetC
貸借対照表の試算表(累計)を取得します。
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | No | ||
| end_month | No | カレンダー月 | |
| start_date | No | ||
| fiscal_year | No | ||
| include_tax | No | ||
| office_code | No | 対象事業者の事業者番号(XXXX-XXXX)。APIキー認証では必須。MF_OFFICE_CODE を設定していれば省略可 | |
| start_month | No | カレンダー月 | |
| journal_types | No | ||
| with_sub_accounts | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of behavioral disclosure. It only says the tool retrieves a cumulative trial balance; it does not mention authentication requirements, output format, report scope, or any side effects. The 'get' verb implies read-only behavior, but little else is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no filler, but it is under-specified for a tool with nine parameters and several similar siblings. It is not verbose, yet the brevity comes at the cost of useful structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter report tool with no output schema, no annotations, and low schema description coverage, this description is severely incomplete. It does not explain required inputs, date handling, office_code requirements, return values, or how it differs from sibling report tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at only 33% and nine parameters, the description needed to compensate by explaining key parameters or usage patterns. It adds no parameter information at all, leaving the agent without guidance on required fields like office_code or how date/month parameters interact.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific operation and resource: it retrieves the balance sheet trial balance (cumulative). It is clear about what the tool does, though it does not explicitly distinguish itself from sibling report tools such as getReportsTrialBalanceProfitLoss.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. The sibling list includes multiple similar report tools, but the description gives no conditions, exclusions, or recommendations for selecting this one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mfc_ca_getReportsTrialBalanceProfitLossC
損益計算書の試算表(累計)を取得します。
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | No | ||
| end_month | No | カレンダー月 | |
| start_date | No | ||
| fiscal_year | No | ||
| include_tax | No | ||
| office_code | No | 対象事業者の事業者番号(XXXX-XXXX)。APIキー認証では必須。MF_OFFICE_CODE を設定していれば省略可 | |
| start_month | No | カレンダー月 | |
| journal_types | No | ||
| with_sub_accounts | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the verb '取得' conveys a read-only retrieval operation and '累計' adds a meaningful scoping trait. The description does not disclose response format, pagination, or auth behavior, but these are partially hinted at in the schema and are not hidden side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact Japanese sentence with no filler, and the report scope ('cumulative P&L trial balance') is front-loaded. It is under-specified for a 9-parameter tool, but as a structure it is concise and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 9 optional parameters, no output schema, and no annotations, the description is too thin: an agent cannot tell how the date/month/fiscal_year parameters interact, what filtering options do, or what the returned report contains. This leaves significant gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%, and the description does not compensate: it says nothing about start_date/end_date vs start_month/end_month, fiscal_year, include_tax, journal_types, or with_sub_accounts. The description adds almost no meaning beyond the schema, though the schema itself documents three parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description '損益計算書の試算表(累計)を取得します' states a clear action (get) and a specific resource type (cumulative P&L trial balance), which is enough to identify the report among siblings. It does not explicitly call out sibling distinctions, so it falls short of a top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus sibling report tools such as getReportsTransitionProfitLoss or getReportsTrialBalanceBalanceSheet. There is no mention of prerequisites, exclusions, or preferred conditions for choosing this report.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mfc_ca_getSubAccountsD
補助科目を取得します。
| Name | Required | Description | Default |
|---|---|---|---|
| available | No | 省略/true=有効のみ、false=全件(有効+無効)。falseは『無効のみ』ではない点に注意 | |
| office_code | No | 対象事業者の事業者番号(XXXX-XXXX)。APIキー認証では必須。MF_OFFICE_CODE を設定していれば省略可 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it reveals nothing. A getter among many similar getters gives no context about response shape, auth requirements, pagination, or how the available parameter filters results. The interesting semantic that available=false means 'all (active+inactive), not inactive-only' is left entirely to the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is efficient and front-loaded, but this is under-specification rather than conciseness. For a tool needing to distinguish itself among many sibling getters, the description is too thin to earn its place with value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the tool being relatively simple and the schema covering parameters, the description is incomplete for an agent: it doesn't differentiate sub-accounts from accounts, explain the filtering behavior of available, or set expectations for the response. Among roughly two dozen siblings, this lacks the contextual framing an agent needs to select it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters documented — the available parameter even includes a useful warning that false does not mean 'inactive only'. Since the schema does the heavy lifting and does it well, the description doesn't need to compensate, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description '補助科目を取得します。' ('Gets sub-accounts') states a verb and resource but simply restates what the tool name 'getSubAccounts' already communicates. It adds no elaboration on what a sub-account is or how it differs from the sibling getAccounts tool, so it borders on tautology rather than genuine clarification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus its many sibling getters, particularly the closely related mfc_ca_getAccounts. No when/when-not conditions, prerequisites, or alternatives are mentioned anywhere in the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mfc_ca_getTaxesC
税区分を取得します。
| Name | Required | Description | Default |
|---|---|---|---|
| available | No | 省略/true=有効のみ、false=全件(有効+無効)。falseは『無効のみ』ではない点に注意 | |
| office_code | No | 対象事業者の事業者番号(XXXX-XXXX)。APIキー認証では必須。MF_OFFICE_CODE を設定していれば省略可 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states 'retrieves tax classifications,' which implies a read operation but discloses nothing about return format, whether active/inactive entries come back by default, or any side effects. For a retrieval tool with zero annotation coverage, an agent is left without confirmation of read-only behavior or what a successful response looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence with zero wasted words. However, it borders on under-specification — one Japanese sentence that essentially translates the tool name. It's concise to the point of being thin, so while nothing needs cutting, the brevity sacrifices substantive guidance that would earn a higher score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple getter with 2 optional, well-documented parameters and no nested objects, the schema carries much of the load. The description states the tool's purpose but, with no output schema present, fails to describe the return value format — a notable gap for a retrieval tool where an agent would want to know what tax data comes back. The tool appears self-contained but leaves the agent guessing about response shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — both parameters are thoroughly documented in the schema itself. The 'available' parameter is well explained (true=active only, false=all including inactive, with an explicit caution that false is not 'only inactive'), and 'office_code' covers format (XXXX-XXXX) and auth requirements (required for API key auth, omittable with MF_OFFICE_CODE). Since the schema fully documents both parameters, the baseline of 3 applies; the description adds no parameter meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description '税区分を取得します' states a specific verb (取得/retrieve) and a distinct resource (税区分/tax classifications), which differentiates it from siblings like getAccounts, getDepartments, and getTradePartners by entity type. However, the description is essentially a Japanese restatement of the tool name itself — an agent gains little beyond a translation of 'getTaxes'. It's clear, but the value added over the name is minimal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers zero guidance on when to use this tool versus the many siblings. No when/when-not conditions, no alternative tool pointers, no context about typical usage (e.g., fetching tax categories before creating journals or transactions). The schema's parameter descriptions hint at authentication scenarios (office_code needed for API key auth), but the description itself provides no usage direction whatsoever.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mfc_ca_getTermSettingsA
会計年度設定(税込/税抜・課税方式等)を取得します。
| Name | Required | Description | Default |
|---|---|---|---|
| office_code | No | 対象事業者の事業者番号(XXXX-XXXX)。APIキー認証では必須。MF_OFFICE_CODE を設定していれば省略可 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the burden of behavioral disclosure. It indicates a read operation implicitly, but does not mention authentication requirements, fallback behavior for office_code, or any potential error conditions. The added context about the settings content is helpful, but it does not go beyond what the name implies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that front-loads the action and resource. It is appropriately brief and contains no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get operation with one parameter fully described by the schema, the description is mostly adequate. However, it lacks any usage context or notes on when to invoke it, and it does not mention the output format or any caveats. Given the absence of annotations, a bit more context would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter office_code is fully documented in the schema (100% coverage), including when it is required or optional. The description adds no additional parameter-level information, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (取得します = retrieves) and a specific resource (会計年度設定 = fiscal year settings), with examples of the content (tax-inclusive/exclusive, taxation method). This clearly distinguishes it from sibling tools like getAccounts, getTaxes, and getJournals.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of scenarios, exclusions, or relationships to sibling tools. For a read operation among many similar getters, this is a notable gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mfc_ca_getTradePartnersC
取引先を取得します。
| Name | Required | Description | Default |
|---|---|---|---|
| available | No | 省略/true=有効のみ、false=全件(有効+無効)。falseは『無効のみ』ではない点に注意 | |
| office_code | No | 対象事業者の事業者番号(XXXX-XXXX)。APIキー認証では必須。MF_OFFICE_CODE を設定していれば省略可 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'Gets trade partners' and reveals nothing about read-only behavior, potential filtering, response format, or any side effects. For an API with parameters like available and office_code, the description is silent on how these affect the call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short ('取引先を取得します。'), which is concise but severely under-specified. It has no waste, but it lacks essential information. This is under-specification rather than effective conciseness, as it does not earn its place by adding value beyond the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 2 parameters, no output schema, and no annotations, the description is incomplete. It fails to explain what the tool returns, how parameters interact, or any usage context. The parameter descriptions in the schema help, but the description does not tie them together or provide the broader context an agent needs to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (available and office_code) have descriptions in the schema itself. The description adds no extra information about these parameters, so it does not compensate beyond the schema. Baseline of 3 is appropriate because the schema already documents the parameters adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('取得します' = retrieves) and a specific resource ('取引先' = trade partners), so an agent knows it's a retrieval operation for trade partners. However, it adds no differentiation from sibling get tools (e.g., getAccounts, getDepartments) beyond the resource name, and it essentially restates the tool's name without elaborating on scope or filtering.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides zero guidance on when to use this tool versus alternatives. It does not mention that it's for retrieving trade partners (which is implied by the name), any exclusions, or how it relates to sibling tools like mfc_ca_postTradePartners. An agent gets no context on when to select this over other get tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mfc_ca_getTransactionsC
連携サービスで収集された明細一覧を取得します(自動連携・手動とも)。
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| side | No | ||
| order | No | ||
| content | No | ||
| end_date | Yes | ||
| per_page | No | 10〜1000 | |
| value_max | No | ||
| value_min | No | ||
| start_date | Yes | YYYY-MM-DD。end_dateとの差366日以内 | |
| office_code | No | 対象事業者の事業者番号(XXXX-XXXX)。APIキー認証では必須。MF_OFFICE_CODE を設定していれば省略可 | |
| content_match_type | No | ||
| connected_account_id | No | ||
| journalizing_statuses | No | ||
| connected_sub_account_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It adds the small fact that both automatic and manual linked-service data are included, but it does not disclose pagination behavior, date-range limits, authentication needs, or response format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is compact and front-loaded with the action and resource, and the parenthetical '自動連携・手動とも' adds a useful scope distinction without wasted words. While more content is needed elsewhere, the structure itself is clean and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 14-parameter API with no output schema and no annotations, one high-level sentence is not enough for reliable invocation. Missing context includes required date semantics, pagination defaults, office_code auth requirements, and what the returned transaction list actually contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 21%, and the description contributes nothing about the 14 parameters. Required date fields, filters like side/content/value_min/value_max, office_code requirements, and pagination are all left unexplained, so the description does not compensate for the sparse schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('取得') and resource ('連携サービスで収集された明細一覧'), clearly identifying a read operation over transaction line items collected via the linked service. It is distinguishable from siblings like mfc_ca_getJournals, though it does not explicitly name or contrast that sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage context is that the list includes both automatic and manual collection via the linked service. There is no guidance on when to choose this tool over alternatives such as mfc_ca_getJournals, and no exclusions or conditions such as API-key authentication requirements.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mfc_ca_postJournalsB
仕訳を作成します(帳簿書き込み。要ユーザー承認)。
| Name | Required | Description | Default |
|---|---|---|---|
| journal | Yes | 仕訳オブジェクト { transaction_date, journal_type: 'journal_entry'|'adjusting_entry', branches: [{debitor?, creditor?, remark?}], tags?, memo? }。invoice_kind は自由値を許容(公式書込み3値以外は検証実験用) | |
| office_code | No | 対象事業者の事業者番号(XXXX-XXXX)。APIキー認証では必須。MF_OFFICE_CODE を設定していれば省略可 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the transparency burden. It does disclose that this is a book-writing operation requiring user approval (帳簿書き込み。要ユーザー承認). However, it does not mention what happens on approval/denial, reversibility, errors, or response behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence that is front-loaded with the core purpose and adds a key behavioral constraint in the parenthetical. There is no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the rich schema, this is a write operation with no output schema, no annotations, and several sibling posting tools. The description omits how the approval flow works, what the tool returns, and how it differs from related posting tools, leaving important context gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% description coverage for both parameters, including a detailed nested journal object specification. The tool description itself adds no parameter semantics, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it creates journal entries (仕訳を作成します) and adds that it writes to the books. It is clear, but it does not explicitly differentiate itself from siblings like mfc_ca_putJournals or other posting tools beyond the create verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives such as mfc_ca_putJournals, mfc_ca_postTransactions, or mfc_ca_postVouchers. There are no prerequisites, exclusions, or workflow hints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mfc_ca_postTradePartnersC
取引先を作成します。
| Name | Required | Description | Default |
|---|---|---|---|
| office_code | No | 対象事業者の事業者番号(XXXX-XXXX)。APIキー認証では必須。MF_OFFICE_CODE を設定していれば省略可 | |
| trade_partner | Yes | 取引先オブジェクト(code, name 等) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states that it creates a trade partner, giving no insight into side effects, authentication requirements, error handling, idempotency, or response behavior. The agent is left without critical operational context for a write operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, succinct sentence that front-loads the core action. There is no filler or redundancy, making it highly efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool involves a nested object (trade_partner) and has no output schema, yet the description provides no guidance on how to structure the object or what to expect in return. Combined with the absence of usage guidelines and annotations, an agent would likely struggle to correctly invoke this tool without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% description coverage for both parameters (office_code and trade_partner), so the baseline is 3. The description adds no additional parameter semantics beyond what the schema already states, which is acceptable but does not elevate the score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description '取引先を作成します。' (Creates a trade partner) clearly states the verb and resource. It is distinct from sibling GET tools (e.g., mfc_ca_getTradePartners) and other POST tools like mfc_ca_postJournals. However, it does not explicitly contrast with any specific sibling, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description implies usage for creating a trade partner, but there is no mention of prerequisites, exclusions, or scenarios where another tool would be more appropriate. For a tool with many siblings, this is a notable gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mfc_ca_postTransactionJournalizeA
明細から仕訳を作成します(帳簿書き込み。要ユーザー承認)。相手科目account_idのみ必須。貸借方向・口座側科目・税区分・invoice_kindはMFが自動補完。
| Name | Required | Description | Default |
|---|---|---|---|
| memo | No | ||
| tags | No | ||
| remark | No | ||
| tax_id | No | ||
| account_id | Yes | 相手勘定科目ID | |
| office_code | No | 対象事業者の事業者番号(XXXX-XXXX)。APIキー認証では必須。MF_OFFICE_CODE を設定していれば省略可 | |
| invoice_kind | No | 公式書込み3値以外も送信可(検証実験用) | |
| department_id | No | ||
| sub_account_id | No | ||
| transaction_id | Yes | 明細ID(URLエンコード済みのまま) | |
| transaction_date | No | 省略時は明細の取引日 | |
| trade_partner_code | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and discloses genuine behavioral traits: it performs a book-writing mutation (帳簿書き込み), requires user approval (要ユーザー承認), and MF auto-completes debit/credit direction, account-side subject, tax classification, and invoice_kind. This goes well beyond a bare 'creates journals' claim.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact Japanese sentences with zero filler. The purpose is front-loaded, and every clause earns its place: the action, the approval constraint, the required parameter, and the auto-completion behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 12-parameter mutation tool with no annotations and no output schema, the description covers the essential call-time facts competently. It does not describe the response shape, the approval flow (e.g., pending status or deferred execution), or error/failure conditions, which an agent needs for a complete mental model of this multi-step operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 42%, so the description must compensate. It usefully clarifies that transaction_id and account_id are the required inputs and that tax_id, invoice_kind, and other fields are auto-completed by MF. However, it leaves memo, tags, remark, department_id, sub_account_id, and trade_partner_code unexplained, and the auto-completion statement slightly tensions with invoice_kind's schema note allowing experimental values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb-chain and resource: creating journal entries (仕訳) from transaction details (明細), which distinguishes it from siblings like postJournals and postTransactions. The source-scope ('from transactions') and the auto-completion note differentiate it behaviorally, though it never names a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage context is clear: call this when you have a transaction_id and want to generate journals from it, and only account_id must be supplied. However, it gives no explicit when-not-to-use guidance or comparison to the closely related mfc_ca_postJournals sibling, leaving tool routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mfc_ca_postTransactionsB
手動管理の連携サービスに明細を作成します(要ユーザー承認)。
| Name | Required | Description | Default |
|---|---|---|---|
| office_code | No | 対象事業者の事業者番号(XXXX-XXXX)。APIキー認証では必須。MF_OFFICE_CODE を設定していれば省略可 | |
| transactions | Yes | ||
| connected_account_id | Yes | 手動管理(is_manual: true)の連携サービスID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral context. It discloses that this is a write operation and adds the important trait that user approval is required. However, it does not explain the approval flow, possible side effects, or what happens on rejection, leaving behavioral transparency only partially covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. The parenthetical approval note is efficient, though the terseness leaves some contextual gaps.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a non-trivial transactions array, the description is too sparse. It lacks information about return values, approval behavior, error conditions, or relationship to sibling transaction/voucher tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, but the description adds no parameter-level meaning beyond the schema. The key 'transactions' array and its fields (date, value, side, content) remain unexplained, and the description does not clarify value formats or side semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('作成します' / creates) and a specific resource: transaction details (明細) in the manually managed connected service. It is distinguishable from sibling post tools like postJournals or postVouchers, though it does not explicitly name an alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: when creating transaction details in a manually managed connected service, and it warns that user approval is required. However, it gives no explicit when-not-to-use guidance or comparison with sibling post tools such as postJournals or postTransactionJournalize.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mfc_ca_postVouchersA
証憑をアップロードし仕訳に添付します(公式MCP未提供・要ユーザー承認)。file_paths を渡せばローカルファイルを自動でbase64化する。journal_id 省略時は孤立証憑になる(後から仕訳に紐づける手段はない)ので原則指定すること。
| Name | Required | Description | Default |
|---|---|---|---|
| file_paths | No | ローカルファイルの絶対パス(file_name/file_dataは自動生成) | |
| journal_id | No | 添付先の仕訳ID | |
| office_code | No | 対象事業者の事業者番号(XXXX-XXXX)。APIキー認証では必須。MF_OFFICE_CODE を設定していれば省略可 | |
| voucher_files | No | base64を直接渡す場合 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does disclose important behaviors: automatic base64 conversion, the orphan-voucher consequence of omitting journal_id, and the need for user approval. However, it omits other mutation-relevant details such as success/error response, reversibility, or whether existing journal data is modified beyond the attachment.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one dense, front-loaded sentence that starts with the core purpose and then adds only high-value caveats. No redundant restating of schema fields or padded wording is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations and no output schema, the description covers the essential invocation decisions and pitfalls: which parameter mode to use, when journal_id is mandatory, and when office_code is required. It could also state what the tool returns on success, but the input-side guidance is complete enough for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds operational meaning beyond the schema by explaining the file_paths convenience path, the orphan risk when journal_id is omitted, and the conditional office_code requirement. This extra context helps the agent decide which parameters to supply.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: '証憑をアップロードし仕訳に添付します' (upload vouchers and attach to journal entries). It clearly distinguishes this from sibling tools like getJournals, postJournals, and deleteVouchers by naming the exact operation and object.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete usage guidance: pass file_paths for local files, use voucher_files for raw base64, and set journal_id unless an orphan voucher is intentionally acceptable. It also notes that office_code is required under API-key auth. It does not explicitly contrast with sibling tools, but as the only voucher-creation sibling this is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mfc_ca_putJournalsA
仕訳を更新します(全置換API・帳簿書き込み。要ユーザー承認)。
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| journal | Yes | 仕訳オブジェクト { transaction_date, journal_type: 'journal_entry'|'adjusting_entry', branches: [{debitor?, creditor?, remark?}], tags?, memo? }。invoice_kind は自由値を許容(公式書込み3値以外は検証実験用) | |
| office_code | No | 対象事業者の事業者番号(XXXX-XXXX)。APIキー認証では必須。MF_OFFICE_CODE を設定していれば省略可 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations were provided, so the description carries the full behavioral burden. It does a good job: it flags the destructive full-replacement behavior and the ledger-write nature, plus the user-approval requirement. It omits return format and failure modes, but the critical behavioral traits for a write operation are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence with the core verb front-loaded and the two most important caveats (full replacement, approval required) packed efficiently. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write operation with no output schema and no annotations, the description covers the essentials—operation, destructive scope, and approval need. It does not explain return values or error conditions, and it lacks any pointer to sibling tools for alternative operations, leaving a moderately complete picture.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, and the journal and office_code parameters are already well documented in the schema with detailed structure and constraints. The description itself adds no parameter-level detail beyond what the schema provides, so it doesn't compensate for the undocumented id parameter, but it also doesn't need to since the schema does most of the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states a specific verb and resource: 仕訳を更新します (updates journals), and adds that it is a full-replacement API (全置換API) writing to the ledger. This is clear, though it doesn't explicitly distinguish itself from the sibling mfc_ca_postJournals (create) or mfc_ca_deleteJournals (delete), relying on 'update' and 'full replacement' to imply the difference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description discloses a usage precondition, 要ユーザー承認 (user approval required), and the destructive full-replacement nature. However, it gives no guidance on when to use this tool versus the sibling mfc_ca_postJournals for creating or mfc_ca_getJournals for reading, so an agent must infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
26 tool updates
v0.1.0- First observed
auth_status - First observed
list_offices - First observed
mf_api_info - First observed
mfc_ca_currentOffice - First observed
mfc_ca_deleteJournals - First observed
mfc_ca_deleteVouchers - First observed
mfc_ca_getAccounts - First observed
mfc_ca_getConnectedAccounts - First observed
mfc_ca_getDepartments - First observed
mfc_ca_getJournalById - First observed
mfc_ca_getJournals - First observed
mfc_ca_getReportsTransitionBalanceSheet - First observed
mfc_ca_getReportsTransitionProfitLoss - First observed
mfc_ca_getReportsTrialBalanceBalanceSheet - First observed
mfc_ca_getReportsTrialBalanceProfitLoss - First observed
mfc_ca_getSubAccounts - First observed
mfc_ca_getTaxes - First observed
mfc_ca_getTermSettings - First observed
mfc_ca_getTradePartners - First observed
mfc_ca_getTransactions - First observed
mfc_ca_postJournals - First observed
mfc_ca_postTradePartners - First observed
mfc_ca_postTransactionJournalize - First observed
mfc_ca_postTransactions - First observed
mfc_ca_postVouchers - First observed
mfc_ca_putJournals
TDQS
Scored across 26 tools
Most tools map to a distinct resource/action, and the Japanese descriptions generally clarify the boundaries between journals, transactions, reports, and master data. A few pairs could still be confused, such as `postJournals` vs `postTransactionJournalize` and `getJournals` vs `getTransactions`, and `deleteVouchers` is misleading since it only unlinks rather than deletes a voucher.
The domain tools mostly follow a readable `mfc_ca_{HTTP verb}{Resource}` camelCase pattern, but the top-level utilities use a different snake_case style (`list_offices`, `auth_status`, `mf_api_info`). There are also odd deviations like `mfc_ca_currentOffice` with no verb and awkward report names such as `getReportsTrialBalanceBalanceSheet`.
26 tools is above the 25-tool threshold and feels heavy for a flat MCP surface. While most tools are individually distinct, several read-only master-data and report endpoints could be consolidated, making tool selection harder for an agent.
Core journal workflows are well covered with create, read, list, update, and delete, plus reports and transaction journalization. However, there are notable lifecycle gaps: trade partners and other master data are mostly read-only or create-only, vouchers cannot be listed or reattached after unlinking, and `postVouchers` can create orphan vouchers with no later attachment path.
Maintenance
Related MCP Connectors
Headless API-first double-entry accounting & bookkeeping engine. 84 MCP tools over HTTP.
Fortnox accounting for one company: invoices, reports, ledger, documents. Read-only until enabled.
既存のログインにパスキー (生体認証) を後付けする API (日本製)。登録・認証・失効・復旧を tool で組み込み、利用者のデータは開発者の手元に残る。API キーは管理画面で発行
Remote MCP for Japan's EDINET DB — 3,800 listed companies' financials & filings (OAuth)
Related MCP Servers
- -licenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to access and manage accounting data through the freee accounting API, supporting operations like transaction management, financial analysis, and account item management.280 npm1-
- FlicenseNot gradedqualityDmaintenanceEnables secure interaction with kintone through OAuth authentication, supporting record operations, app configuration management, file operations, and access control without storing API keys locally.-
- AlicenseNot gradedqualityDmaintenanceEnables interaction with Qonto's Business API for banking operations. Supports all API key-accessible endpoints for managing business banking transactions and account information.3MIT
- FlicenseBqualityBmaintenanceEnables interaction with the Bokio accounting API for managing journal entries, invoices, customers, items, and more, with read-only mode by default for safety.18-