Skip to main content
Glama
kentaroajisaka

mf-api-mcp

mfc_ca_postVouchers

Upload and attach vouchers to journal entries in Money Forward Cloud Accounting. Provide local file paths or base64 data; specify journal ID to link the voucher.

Instructions

証憑をアップロードし仕訳に添付します(公式MCP未提供・要ユーザー承認)。file_paths を渡せばローカルファイルを自動でbase64化する。journal_id 省略時は孤立証憑になる(後から仕訳に紐づける手段はない)ので原則指定すること。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
file_pathsNoローカルファイルの絶対パス(file_name/file_dataは自動生成)
journal_idNo添付先の仕訳ID
office_codeNo対象事業者の事業者番号(XXXX-XXXX)。APIキー認証では必須。MF_OFFICE_CODE を設定していれば省略可
voucher_filesNobase64を直接渡す場合

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.