Skip to main content
Glama
kentaroajisaka

mf-full-mcp

mf-full-mcp

这是 マネーフォワード クラウド会計 的非官方MCP服务器。在提供与官方beta MCP同名的工具(mfc_ca_*)的同时,追加了以下3点。

  • 凭证的附加 — 上传收据或发票并关联到分录。截至2026年8月,官方远程MCP没有此功能

  • 同时连接多个事业者 — 持有多个法人的令牌,无需重新认证,即可按窗口/会话分别连接到不同的事业者

  • 分录的完全删除 — 官方MCP仅支持创建・更新,不支持删除

设想的是像会计事务所那样,日常在几十家公司的账簿之间来回使用的场景。

这是非官方项目。 与 株式会社マネーフォワード 没有任何关系。不属于该公司的支持范围。


为什么做这个

MF 的访问令牌与在授权画面中选择的一个事业者绑定(证据是 /api/v3/offices 返回的不是数组而是单个对象)。要处理多个法人,就需要持有相应数量的令牌。

官方远程MCP有两个端点,各自情况不同。

官方 beta

官方 alpha

本服务器

同时持有多个法人

不可(切换时需重新认证)

可以

可以

令牌寿命

长时间

约1小时

自动刷新(实测可放置1个月以上)

认证操作

自动

手动复制粘贴认证码

自动

凭证附加

不可

不可

可以

beta版认证方便,但只能持有1个事业者;alpha版虽然能持有多个,但令牌约1小时就会过期,需要手动重新认证。

**“无需被重新认证打扰、按窗口分别操作多个法人”这一状态,官方两个版本都无法实现。**本服务器通过自备OAuth填补了这一缺口。


Related MCP server: MF Invoice MCP

设计要点

1. 自备OAuth(动态客户端注册)

通过RFC 7591动态客户端注册,在每次认证时注册公共客户端(token_endpoint_auth_method: "none" + PKCE)。

因此无需事先注册应用client_secret 本身就不存在。无论在这个仓库中,还是在用户环境中,都不会放置任何秘密密钥。

2. 按事业者为令牌添加标签并保存

~/.mf-full-mcp/tokens.json(目录0700/文件0600)中,以标签为键保存多个事业者的令牌。思路是:1个令牌=1家公司,需要多少就持有多少即可。

过期时会自动刷新(在到期前60秒提前刷新+遇到401时重试1次)。实测刷新令牌的有效期超过1个月,只要认证一次就可以放置较长时间。

3. 活动事业者按“会话”独立

这是本项目的核心。

use_office 切换的只是进程内的内存,不会重写共享文件中的 active。共享文件中的值仅作为尚未进行任何切换的新进程的初始值被读取。

结果是,可以在窗口A操作甲公司、窗口B操作乙公司,并行进行。

如果在这里重写共享文件,那么一方切换事业者的瞬间,另一方就会获取到其他法人的数据。既然处理的是账簿,这是绝不允许发生的事故。“多公司同时连接”的实质,与其说是能持有多个令牌,不如说在于不共享活动状态

如果想在启动时固定,请使用环境变量 MF_FULL_OFFICE

4. 回调端口自动分配

通过 server.listen(0) 让操作系统分配空闲端口,在确定的端口上组装好 redirect_uri 之后再进行客户端注册(RFC 8252 的 loopback redirect)。

如果是固定端口,在第二个窗口中的认证会因 EADDRINUSE 而失败。“listen → 确定端口 → register → authorize”这一顺序,正是为了让第3点的设计实际发挥作用所必需的。

为了向后兼容,仅当显式指定 MF_FULL_CALLBACK_PORT 时才使用固定端口。


凭证的附加

官方远程MCP所提供的工具,截至2026年8月只到分录・报表・明细・主数据的操作,不包含处理凭证(收据・发票)的工具。要将凭证关联到分录,只能通过浏览器手动操作。

本服务器将其作为工具提供。只需传入本地文件的绝对路径,即可完成从 base64 编码、上传到附加到分录的全部操作。

mfc_ca_postVouchers(journal_id: "<仕訳ID>", file_paths: ["/path/to/receipt.pdf"])

如果要解除关联,请使用 mfc_ca_deleteVouchers

从“创建分录,再附加对应的收据”能够在同一个流程中完成,是制作本服务器的动机之一。

注意 — 如果省略 journal_id,凭证将成为不关联任何分录的孤立凭证,之后没有任何手段再关联到分录。原则上请务必指定。


环境要求

  • Node.js 20 及以上

  • マネーフォワード クラウド会計 的账户

安装

git clone https://github.com/kentaroajisaka/mf-full-mcp.git
cd mf-full-mcp
npm install
npm run build

注册到 MCP 客户端(Claude Code 的情况下为 ~/.claude.json)。

{
  "mcpServers": {
    "mf-full": {
      "type": "stdio",
      "command": "node",
      "args": ["/absolute/path/to/mf-full-mcp/dist/index.js"],
      "env": {}
    }
  }
}

使用方法

认证第1家公司

authenticate(label: "company-a")

在浏览器中打开返回的 authUrl,选择事业者并授权。完成后用 auth_status 确认。

添加第2家及以后的公司

只需用不同的标签重复同样的步骤即可。

authenticate(label: "company-b")

切换连接目标

list_offices          保存済み事業者の一覧
use_office            このセッションの接続先を切り替える
mfc_ca_currentOffice  いまどの事業者に繋がっているか確認する

use_office 不会影响其他会话。建议在获取数据前,用 mfc_ca_currentOffice 确认目标法人的做法。

工具列表

认证・事业者管理

工具

说明

authenticate

开始 OAuth 认证(可通过 extra_scopes 请求工资等附加作用域)

auth_status

确认进行中的认证流程状态

list_offices

显示已保存的事业者和当前连接目标

use_office

切换本会话的连接目标

remove_office

删除已保存的令牌

mf_full_info

显示请求作用域・回调端口等设置

官方MCP兼容(mfc_ca_*

事业者・会计期间、会计科目、辅助科目、部门、税种区分、往来单位、联动服务、分录的获取/创建/更新、试算表(BS・PL)、推移表(BS・PL)、明细的获取/创建/分录化。

官方MCP未提供的功能

工具

说明

mfc_ca_postVouchers

上传凭证并附加到分录(传入本地文件路径后自动进行 base64 编码)

mfc_ca_deleteVouchers

解除分录与凭证的关联(凭证本身会作为孤立凭证保留)

mfc_ca_deleteJournals

完全删除分录

环境变量

变量

默认值

说明

MF_FULL_OFFICE

启动时将会话的连接目标事业者固定

MF_FULL_CALLBACK_PORT

自动分配

固定 OAuth 回调端口

MF_FULL_SCOPES

会计16个作用域

覆盖请求的作用域

MF_FULL_CLIENT_NAME

mf-full-mcp

动态客户端注册时的客户端名称


已知注意事项

MF 的 API 有几个容易踩的坑。

  • ID 的编码 — MF 的 ID 源自 Base64,包含 %2F 等字符。在嵌入 URL 路径时如果不重新编码,路径会被破坏并返回 403。本服务器已采取应对措施,但返回的 ID 请原样传递,不要加工

  • putJournals 是全量替换 — 不支持部分更新。更新前请保留原始分录。

  • 写操作类工具的使用 — 分录的创建・更新、凭证的附加・解除、明细的分录化会改写账簿。从 AI 代理使用时,请务必在执行前加入人工审批的做法。

安全

令牌存放在哪里

官方远程MCP的认证在服务器侧完成。授权和令牌交换以MCP工具的形式提供,用户没有直接处理 access_token 的场景。也就是说,MF 的令牌不会存放在用户的终端上

本服务器则相反,令牌存放在自己的终端上。它以明文保存在 ~/.mf-full-mcp/tokens.json 中(目录 0700 / 文件 0600)。

这是一种权衡。之所以能够无需重新认证地持有多个法人,也能够在到期后自动更新并放置较长时间,正是因为刷新令牌就在手边。反过来,如果这个文件泄露,保存的所有事业者的账簿都会被访问。

在此基础上,前提是采取以下做法:

  • 要在磁盘已加密的个人终端上使用。不要在共用终端上使用

  • 不再需要的事业者要用 remove_office 删除

  • 保存到操作系统钥匙串是今后的课题

client_secret 不存在

通过动态客户端注册,设计为无需保管秘密密钥。这个仓库和用户环境中都不会放置 client_secret。

免责声明

本软件为非官方软件,与 株式会社マネーフォワード 没有任何关系。

本服务器要求的部分作用域,**可能会因MF侧的规格变更而在未预告的情况下无法使用。**此时,凭证相关等功能会无法运行。

鉴于会计账簿这一性质,使用请注意以下几点:

  • 对于写入操作的结果,作者不承担任何责任

  • 在用于正式账簿之前,请先通过测试事业者确认运行情况

  • 使用时请各自确认 マネーフォワード 的使用条款

以 MIT 许可证提供。详情请参阅 LICENSE

相关

Available Tools

29 tools
authenticateA

MFへのOAuth認証を開始する。返ってきたauthUrlをユーザーがブラウザで開き、事業者を選択して許可すると自動でトークンが保存される。完了確認はauth_status。

ParametersJSON Schema
NameRequiredDescriptionDefault
labelNoトークンの保存名(事業者を区別するラベル。省略時 default)
extra_scopesNo既定の会計16スコープに追加で要求するスコープ(スペース区切り。例: 'mfc/payroll/payroll.read mfc/payroll/bonus.read')

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden, and it discloses the essential non-obvious behavior: the returned authUrl must be opened by the user in a browser, the user must select and authorize, and the token is then stored automatically without a direct response containing it. This is meaningful context beyond the schema, though it omits details like timeout behavior or label-overwrite semantics.

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 two sentences with no filler: it states the action, the returned artifact, the required user step, the automatic token storage, and the completion-check path. Every sentence earns its place.

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 an OAuth-start tool with no output schema, the description adequately covers the key flow: call this, get authUrl, user authorizes in browser, token is saved, then verify with auth_status. It does not specify the exact return shape beyond containing authUrl, but that is sufficient for an agent to orchestrate the flow correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and both parameters (label and extra_scopes) are already well documented in the input schema. The tool description adds no parameter-specific meaning beyond the schema, so the baseline 3 is appropriate.

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 opens with a specific verb and resource: 'MFへのOAuth認証を開始する' (start OAuth authentication to MF), which clearly distinguishes this from the sibling tools that perform accounting operations or office management. It also clarifies the overall flow by stating an authUrl is returned and tokens are saved automatically, so the tool's purpose is unmistakable.

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 implicitly defines when to use this tool—when starting OAuth authentication for MF—and explicitly directs the completion check to auth_status ('完了確認はauth_status'). This gives the agent a clear next step and distinguishes it from the authentication-status sibling, though it does not exhaustively discuss when not to use it relative to the full sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

auth_statusA

進行中の認証フローの状態を確認する(waiting/exchanging/done/error)。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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 usefully reveals the possible returned statuses (waiting/exchanging/done/error), but it does not state whether the call is side-effect free, how it behaves when no authentication flow is ongoing, or what an error entails. This is adequate but has clear gaps.

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 a single concise sentence that front-loads the core purpose and then provides the status vocabulary in parentheses. There is no wasted wording or redundant repetition of the tool name.

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?

Given the tool's low complexity (no parameters, no output schema, no annotations), the description is largely sufficient: it names the operation, the target flow, and the status values. It could be more explicit about the exact return structure or behavior when no flow is active, but these are minor for a simple status-checking tool.

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?

The tool has zero parameters, so the empty schema already fully documents the input. The baseline for zero-parameter tools is 4, and no additional parameter details are needed because there is nothing 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 clearly states the verb (確認する/check) and the resource (status of the ongoing authentication flow), and also enumerates the possible statuses: waiting/exchanging/done/error. This unambiguously distinguishes it from the sibling authenticate tool, which starts a flow rather than checking its state.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The context of 'ongoing authentication flow' implies this tool should be used after or during authentication to poll or inspect state, but there is no explicit when-to-use/when-not-to-use guidance or mention of alternatives. The usage is reasonably inferable but not clearly specified.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_officesA

保存済みトークン(事業者)の一覧とアクティブな接続先を表示する。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral disclosure burden. It clearly indicates a display/read-only operation and what is displayed, but adds no detail about prerequisites, output format, or how 'active' connection state is determined. This is adequate but minimal.

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 a single short sentence with no filler or redundancy. It front-loads the core purpose and is immediately scannable.

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 parameterless list tool with no annotations and no output schema, the description states the essential returned content: saved tokens and the active connection destination. It doesn't specify the exact return shape or define 'active', but the tool's simplicity makes this mostly sufficient.

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?

The tool has zero parameters and schema coverage is effectively 100%, so there is no parameter semantics for the description to add. The zero-parameter baseline of 4 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb (表示する) and a clear resource (保存済みトークン(事業者)の一覧とアクティブな接続先), so an agent can tell this lists saved office tokens and the active connection. It does not explicitly contrast with siblings like use_office or remove_office, so it stops short of full differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: an agent can infer that this should be called when it needs to see saved tokens/offices or the active connection. No explicit when-to-use or when-not-to-use guidance is provided, and no alternatives such as use_office are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mfc_ca_currentOfficeB

事業者情報と会計期間を取得します。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/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 only states a read operation ('取得します'), but does not disclose authentication requirements, behavior when no current office is selected, error conditions, or the output shape. This is thin but not misleading.

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 a single, focused sentence with no filler. It front-loads the core action and resource, which is appropriate for a simple zero-parameter getter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter getter with no output schema, the description is mostly sufficient, but it misses important operational context: the notion of 'current' office is only implied by the tool name, and the description does not explain the relationship with list_offices/use_office or what happens when no office is active.

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?

The tool has zero parameters, so the empty input schema fully covers this dimension. The description has no need to explain parameters, matching the baseline of 4 for a no-parameter tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('取得します' / retrieves) and names a concrete resource ('事業者情報と会計期間' / business operator info and accounting period). It is distinguishable from sibling getters like mfc_ca_getAccounts and mfc_ca_getTaxes, though it does not explicitly say 'current office' in the text and leaves the exact scope of '事業者情報' somewhat open.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus related office-management siblings such as list_offices, use_office, or remove_office. The description does not mention prerequisites like selecting an office first or alternative tools that also return office-related data.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mfc_ca_deleteJournalsA

仕訳を完全削除します(公式MCP未提供・帳簿書き込み。要ユーザー承認)。

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations present, the description carries the full behavioral burden. It explicitly discloses that this is a destructive 'complete delete', a bookkeeping write operation, unofficial relative to the MCP, and requires user approval. This is unusually transparent for a delete tool, though it does not mention return values or 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence that states the core action first and packs all essential warnings into a compact parenthetical. Every element earns its place with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive mutation tool with no annotations and no output schema, the description covers the critical safety aspects: full deletion, write operation, and user approval. It is weakened by leaving the sole parameter undefined and not mentioning any post-deletion behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the only parameter `id` is documented only as 'string'. The description does not explain what the id refers to, its format, or how to obtain it. The agent must infer from the tool name that it is a journal identifier.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific action ('完全削除' = completely delete) and resource ('仕訳' = journals), making the tool's purpose obvious. It lacks an explicit contrast with the sibling deleteVouchers tool, but the resource noun distinguishes it from the surrounding get/post/put journal tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intended use is implied: delete a journal entry. It also adds a relevant precondition ('要ユーザー承認' = user approval required). However, it gives no explicit guidance about when this tool should be preferred over alternatives such as deleteVouchers.

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未提供・要ユーザー承認)。

ParametersJSON Schema
NameRequiredDescriptionDefault
journal_idYes
voucher_file_idYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description correctly carries the behavioral burden and does disclose an important side effect ('the voucher itself remains isolated') and a requirement ('user approval required'). However, it does not explain the effect on the journal, reversibility, return value, or error behavior, so transparency is only partial.

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 a single compact sentence followed by a tight parenthetical. Every clause earns its place: action, side effect, availability caveat, and authorization requirement. No redundant wording or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given only two simple string parameters and no output schema, the description covers the core purpose and key side effect. However, it does not mention what the caller receives on success, whether the operation is reversible, or how the 'user approval' requirement manifests in practice, which leaves meaningful gaps for a mutation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It refers to '仕訳' (journal) and '証憑' (voucher), which map to journal_id and voucher_file_id, adding conceptual meaning beyond the bare schema. Still, it does not explicitly define each parameter's format or constraints, leaving some inference required.

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 states a specific action ('unlink link between journal and voucher') and a specific resource, distinguishing it from similar deletion tools like mfc_ca_deleteJournals. It also clarifies that the voucher itself remains, preventing the misleading name 'deleteVouchers' from causing a wrong mental model.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not specify when to use this tool versus alternatives, nor does it name a sibling or exclusion condition. The parenthetical provides context about authorization and official MCP availability, but no guidance about selecting this tool over deleteJournals or other related tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mfc_ca_getAccountsC

勘定科目を取得します。

ParametersJSON Schema
NameRequiredDescriptionDefault
availableNo省略/true=有効のみ、false=全件(有効+無効)。falseは『無効のみ』ではない点に注意

TDQS

C2.9/5.0
Behavior2/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, yet it only says 'retrieves account titles.' The verb 'retrieve' faintly implies a read-only operation, but nothing is said about auth requirements, side effects, defaults, or return shape. For a data-fetching tool with zero annotation coverage, this is a substantial gap.

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?

A single short sentence that is entirely front-loaded with the core purpose. There is zero wasted wording, and the brevity is appropriate for what the tool does. Concision here is genuine and not a symptom of under-specification, as the schema handles parameter detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with one optional parameter and full schema coverage, some brevity is acceptable, but the description still fails to explain return values, differentiate from the three similarly named sibling get-* tools, or note any filtering implications beyond the schema. An agent cannot tell whether this returns master data, its format, or how it relates to sub/connected accounts, so completeness is inadequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the 'available' parameter is well documented in the schema, including the important caution that false means all records (enabled+disabled) and not 'only disabled.' The description itself adds no parameter information, but with full coverage the baseline of 3 is appropriate and no compensation is required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description '勘定科目を取得します' ('retrieves account titles') states a clear verb and resource, clarifying that 'Accounts' refers to accounting account titles in the Japanese context. It is close to a restatement of the tool name but adds domain specificity. However, it does not differentiate among close siblings like mfc_ca_getSubAccounts or mfc_ca_getConnectedAccounts, so it lacks the explicit distinguishing language 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.

Usage Guidelines2/5

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 getSubAccounts, getConnectedAccounts, or any condition that would select one account-fetching tool over another. With multiple sibling tools that sound similar, an agent gets no routing help and must infer usage entirely from names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mfc_ca_getConnectedAccountsB

連携サービス(自動連携・手動管理とも)を取得します。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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 signals a read-only operation through '取得します' and usefully states that both automatic and manual integration types are included. However, it does not describe the returned payload shape, possible empty results, error behavior, or authentication needs.

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 a single concise Japanese sentence with no filler. The action and scope are stated directly and the key qualifier is included without unnecessary wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple parameterless getter, the description is close to minimally viable, but with no output schema and no annotations, an agent is left without information about the return structure or edge cases. The meaning of '連携サービス' is also underspecified relative to the broader set of sibling tools.

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?

There are zero parameters in the input schema, so parameter semantics are vacuous. The schema already fully documents this, and the description has nothing meaningful to add about parameters. The baseline for a zero-parameter tool is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb '取得します' (retrieves) and identifies the resource as '連携サービス', adding a scope qualifier '自動連携・手動管理とも' (both automatic linkage and manual management). This makes the basic purpose clear, though it does little to distinguish it from similarly named sibling getters like mfc_ca_getAccounts, and '連携サービス' vs the tool name 'ConnectedAccounts' introduces slight ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 sibling tools such as mfc_ca_getAccounts, mfc_ca_getSubAccounts, or mfc_ca_getJournals. The appropriate context is only implied by the resource name; there are no explicit conditions, exclusions, or alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mfc_ca_getDepartmentsB

部門を取得します。

ParametersJSON Schema
NameRequiredDescriptionDefault
availableNo省略/true=有効のみ、false=全件(有効+無効)。falseは『無効のみ』ではない点に注意

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full disclosure burden, but it only says 'gets departments.' It does not explicitly state that the operation is read-only, whether authentication is required, what the return shape looks like, or how the optional availability filter behaves in practice.

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 a single, front-loaded sentence with no filler, repetition, or unnecessary detail. It is concise and immediately communicates the basic action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-optional-parameter fetcher, the minimal description plus well-documented schema is workable, but the absence of annotations and output schema leaves gaps around return format, default behavior, and authentication. The description is minimally viable rather than complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool description does not mention parameters, but the input schema fully documents the single optional 'available' boolean and explicitly clarifies that false means all records (active plus inactive), not inactive-only. Since schema description coverage is 100%, the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description '部門を取得します' ('Gets departments') states a clear action and resource, so an agent knows the tool retrieves department data. It is unambiguous and distinct from sibling tools that deal with accounts, taxes, journals, and trade partners, though it adds no qualifier about scope or filtering beyond what the name already implies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool rather than the many sibling getter tools, nor any mention of prerequisites, workflow context, or alternatives. An agent must infer the appropriate usage from the tool name alone.

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件取得します。

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes仕訳ID(URLエンコード済みのまま)

TDQS

B3.1/5.0
Behavior2/5

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 one journal entry is retrieved. It does not mention error behavior, not-found handling, response format, or any read-only guarantees, leaving important operational behavior undisclosed.

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 a single, clear sentence with no filler or repeated information. It is appropriately sized for a simple get-by-ID tool and front-loads the core action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter retrieve operation with full schema coverage, the description is minimally adequate. However, with no output schema and no annotations, it would be more complete if it acknowledged behavior such as what happens when the ID is not found or whether the response is the full journal object.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 'id' parameter as a URL-encoded journal ID, which meets the baseline of 3. The description itself adds no parameter-level meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('取得します') and resource ('仕訳' / journal entry), and the tool name adds the by-ID scope. It is distinguishable from sibling mfc_ca_getJournals by the '1件' (one item) focus, though it does not explicitly contrast itself with the list variant.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 instead of alternatives such as mfc_ca_getJournals or other journal-related tools. The intended use case is only implied by the name and the one-line description, with no exclusions or conditions provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mfc_ca_getJournalsB

仕訳一覧を取得します。start_date または end_date のいずれかが必要。

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
end_dateNo
per_pageNo最大10000
account_idNo
start_dateNo
is_realizedNo
transaction_idsNo

TDQS

B3.4/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 behavioral burden. It discloses a read-style list retrieval and an important operational prerequisite (a date filter is mandatory), but it does not describe pagination behavior, response shape (and no output schema exists), or validation/error behavior. Partial transparency that is acceptable for a simple read tool but not comprehensive.

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?

Two compact clauses: the purpose comes first, then the critical precondition. There is zero filler and every word earns its place, with the action front-loaded ahead of the constraint.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter tool with no annotations and no output schema, this definition is thin. It omits date format expectations, pagination semantics, and the meaning of filters such as is_realized and transaction_ids, and it provides no return-value guidance. An agent would need to guess or probe to invoke this tool correctly beyond the one date constraint.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema description coverage at only 14% (only per_page carries a description, '最大10000'), the description must compensate. It adds the key relational requirement for start_date and end_date that the schema omits, but it leaves account_id, is_realized, transaction_ids, page, and per_page's broader semantics unexplained, and no date format is specified.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: '仕訳一覧を取得します' (retrieves the journal list). It is clear about what the tool does, and the word '一覧' (list) hints at the distinction from mfc_ca_getJournalById, but it does not explicitly differentiate from other siblings such as mfc_ca_getTransactions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to choose this tool over alternatives like getJournalById or getTransactions. The one genuinely useful usage signal is the precondition 'start_date または end_date のいずれかが必要' (either start_date or end_date is required), which tells the agent what makes a valid call, but there are no exclusions or sibling routing cues.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mfc_ca_getReportsTransitionBalanceSheetB

貸借対照表の推移表(月別)を取得します。

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYes推移表の種類(例: monthly)
end_monthNo
fiscal_yearNo
include_taxNo
start_monthNo
with_sub_accountsNo

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description clearly presents a fetch operation (取得します) and indicates the monthly interval, so the primary read-only behavior is understandable. However, with no annotations and no output schema, it does not disclose response shape, required parameter behavior, or limitations, leaving a noticeable gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The definition is a single focused sentence with no filler, and the core object is front-loaded. It is concise and readable, though it is too minimal to carry the full burden of a six-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With six parameters, one required, low schema coverage, no output schema, and no annotations, one sentence is not enough for an agent to know all constraints. An agent would have to guess at parameter semantics and valid values for type.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 17%, with only type documented. The description's '月別' hint relates to type and possibly start_month/end_month, but it does not explain fiscal_year, include_tax, with_sub_accounts, or valid type values, so it fails to compensate for the low schema coverage.

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 verb 取得します and the resource 貸借対照表の推移表(月別) make the operation unmistakable. It clearly distinguishes itself from sibling report tools by naming both balance sheet and monthly transition, separating it from getReportsTransitionProfitLoss and getReportsTrialBalanceBalanceSheet.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to call this tool instead of the other getReports* siblings, nor are prerequisites such as fiscal year, office selection, or required report type mentioned. The only implied context is the report type in the name and description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mfc_ca_getReportsTransitionProfitLossC

損益計算書の推移表(月別)を取得します。

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYes推移表の種類(例: monthly)
end_monthNo
fiscal_yearNo
include_taxNo
start_monthNo
with_sub_accountsNo

TDQS

C2.8/5.0
Behavior2/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 only states that the tool retrieves a report; it does not mention any required parameters, default period behavior, output shape, authentication needs, or whether the operation is read-only.

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?

A single, clear Japanese sentence with no filler. The action and object are front-loaded, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With six parameters, no output schema, no annotations, and a very brief description, important context is missing. An agent cannot reliably determine valid values for type, how date parameters interact, or what the response will contain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 17%, and the tool description does not compensate. Only 'type' has a schema description; end_month, fiscal_year, include_tax, start_month, and with_sub_accounts are undocumented, and the description adds no meaningful meaning to them beyond the word 'monthly'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies a specific action and resource: retrieving (取得します) the monthly transition table for the profit and loss statement (損益計算書の推移表). This is precise enough to distinguish it from balance-sheet and trial-balance report siblings, though it does not explicitly name those alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to choose this tool over similar report tools such as mfc_ca_getReportsTrialBalanceProfitLoss or mfc_ca_getReportsTransitionBalanceSheet. There are no usage conditions, exclusions, or hints about required inputs like type.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mfc_ca_getReportsTrialBalanceBalanceSheetB

貸借対照表の試算表(累計)を取得します。

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateNo
end_monthNoカレンダー月
start_dateNo
fiscal_yearNo
include_taxNo
start_monthNoカレンダー月
journal_typesNo
with_sub_accountsNo

TDQS

B3.1/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 full burden. It states the operation is a retrieval ('取得します') and adds the cumulative ('累計') characteristic, which clarifies the data scope. However, it omits any details about permissions, side effects, or response behavior; thus it is adequate but not rich.

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?

One short sentence with no filler; the key resource and cumulative nature are front-loaded. It is as concise as possible for what it states.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 8 optional parameters, no annotations, no output schema, and four report sibling tools, the description is too thin. It identifies the report but does not explain parameter semantics, filtering behavior, or output expectations, leaving substantial ambiguity for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 25% (2 of 8 parameters), and the description does not compensate: it mentions no parameters, so end_date, start_date, fiscal_year, include_tax, journal_types, and with_sub_accounts remain unexplained. An agent cannot determine how to set the optional filters from this definition.

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 specific verb '取得します' with a clear resource: '貸借対照表の試算表(累計)' (cumulative balance-sheet trial balance). This distinguishes it from siblings such as getReportsTrialBalanceProfitLoss and getReportsTransitionBalanceSheet, so an agent can identify what report it returns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to choose this tool over the sibling report tools; it does not name alternatives or set conditions such as 'period/current accounting year' or exclusions. The only usage cue is the resource name, which is implicit rather than explicit guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mfc_ca_getReportsTrialBalanceProfitLossC

損益計算書の試算表(累計)を取得します。

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateNo
end_monthNoカレンダー月
start_dateNo
fiscal_yearNo
include_taxNo
start_monthNoカレンダー月
journal_typesNo
with_sub_accountsNo

TDQS

C2.6/5.0
Behavior2/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 hints at aggregation via '累計' (cumulative) but does not disclose the return format, whether date parameters are effectively required despite having zero required parameters, how date ranges are interpreted, or how tax/sub-account flags affect results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single Japanese sentence is efficient and front-loaded with the core purpose, with no wasted words. However, it borders on under-specification rather than deliberate concision, since critical usage and parameter details are entirely absent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 8 undocumented parameters, no output schema, and no annotations, the description is far from complete. It explains none of the parameters, date constraints, return values, or which offices/contexts it applies to, leaving an agent unable to construct a correct call with confidence.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 25%, with just start_month and end_month documented as 'calendar month.' The description adds nothing about the 8 parameters (end_date, end_month, start_date, fiscal_year, include_tax, start_month, journal_types, with_sub_accounts). With such low coverage, the description was expected to compensate but does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('取得' = retrieve) and resource ('損益計算書の試算表(累計)' = cumulative trial balance of the profit and loss statement), and the '累計' (cumulative) qualifier partially distinguishes it from the transition-oriented siblings. However, it does not explicitly differentiate from the balance-sheet or transition variants by explaining what 'trial balance' means as a report type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no guidance on when to use this tool versus the sibling report tools (mfc_ca_getReportsTrialBalanceBalanceSheet, mfc_ca_getReportsTransitionProfitLoss, etc.). There is no context about choosing trial-balance vs transition variants, no prerequisites, and no exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mfc_ca_getSubAccountsC

補助科目を取得します。

ParametersJSON Schema
NameRequiredDescriptionDefault
availableNo省略/true=有効のみ、false=全件(有効+無効)。falseは『無効のみ』ではない点に注意

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full responsibility for behavioral disclosure. It only restates the operation of fetching sub-accounts and adds no information about return format, filtering behavior (beyond what the schema parameter describes), pagination, or required permissions. This is a minimal disclosure that adds little beyond the name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence with no redundant words or filler. It is front-loaded and efficient, though it may be too sparse to be considered fully polished. It is appropriately sized for a simple getter but sacrifices informativeness for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with one optional parameter, and the schema fully covers parameter semantics, so the description does not need to explain much. However, the description lacks any usage context, behavioral details, or relationship to sibling tools. It is minimally viable but leaves gaps in an agent's ability to decide when and how to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema fully documents the only parameter 'available', including its semantics and the caution that false means 'all' rather than 'disabled only'. The tool description itself adds no parameter 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description '補助科目を取得します' states a clear verb ('取得' = retrieve) and resource ('補助科目' = sub-accounts), making the tool's purpose immediately understandable. However, it does not differentiate this tool from sibling tools such as mfc_ca_getAccounts or mfc_ca_getDepartments, so it earns a 4 rather than 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention use cases, prerequisites, or mention any sibling tools. An agent must infer usage solely from the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mfc_ca_getTaxesC

税区分を取得します。

ParametersJSON Schema
NameRequiredDescriptionDefault
availableNo省略/true=有効のみ、false=全件(有効+無効)。falseは『無効のみ』ではない点に注意

TDQS

C2.9/5.0
Behavior2/5

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, but it only states that a retrieval occurs. It omits the return format, default active/inactive handling, pagination, and any office or authentication preconditions.

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 short, front-loaded sentence with no filler. It is as concise as the stated purpose allows.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description should at least indicate what the response contains, but it does not. The one-line description is also insufficient to orient an agent among the many sibling getter tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers 100% of the single optional available parameter, including an important caveat that false does not mean 'only inactive.' The description itself adds no parameter meaning, so the coverage-based baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

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: retrieving tax classifications. It does not explicitly distinguish this from sibling tools, though the resource name is sufficiently distinct from the other getter tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to prefer this tool or how it relates to the many sibling mfc_ca_get* tools. The one-sentence description gives only the most obvious implication and offers no exclusions, prerequisites, or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mfc_ca_getTermSettingsA

会計年度設定(税込/税抜・課税方式等)を取得します。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must convey the behavioral profile. The verb '取得' clearly indicates a read-only retrieval, but the description does not mention authentication requirements, potential errors, or any other operational behavior. It is minimally adequate but lacks depth.

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 a single, focused sentence that front-loads the action and resource, then adds clarifying examples. 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.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter retrieval tool with no output schema, the description states the resource and gives representative content examples. It is slightly vague on the full return structure due to the '等' (etc.), but is otherwise complete enough for 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?

The tool has zero parameters, so the baseline is 4. There are no parameter semantics to clarify, and the description does not need to compensate for any schema gaps.

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 ('取得' / retrieve) and a specific resource ('会計年度設定' / fiscal year settings), with concrete examples of what is included. This clearly distinguishes it from sibling tools like mfc_ca_getTaxes or mfc_ca_getDepartments, which target different data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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, no prerequisites, and no exclusion criteria. An agent must infer the appropriate context from the tool name alone, especially given the large set of sibling getter tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mfc_ca_getTradePartnersC

取引先を取得します。

ParametersJSON Schema
NameRequiredDescriptionDefault
availableNo省略/true=有効のみ、false=全件(有効+無効)。falseは『無効のみ』ではない点に注意

TDQS

C2.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the burden of disclosing behavior. It only restates the tool's name/action with '取得します' and adds no context about side effects, return format, pagination, authentication, or read-only nature. The filter semantics are documented in the schema, not in the tool description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, compact sentence with no filler or redundancy. It is appropriately sized for a simple getter and presents the core purpose immediately. While it is thin, it is not verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with one optional parameter, the description and schema together let an agent make a correct invocation. However, with no output schema and no annotations, the agent is left without return-format expectations, safety confirmation, or guidance on choosing this over sibling getters. The context is minimally functional but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the available parameter is clearly explained, including the nuance that false means 'all' rather than 'disabled only'. The description itself adds no parameter detail, but because the schema already handles parameter semantics thoroughly, the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description '取引先を取得します' clearly identifies the action (retrieve) and the resource (trade partners). It is distinct from siblings like mfc_ca_postTradePartners due to the verb, and from other getters by naming a specific resource. However, it does not explicitly contrast itself with related sibling getters.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. There is also no mention of prerequisites, default behavior, or scenarios that would select this tool. The only usage-related detail lives in the parameter schema, not 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_getTransactionsB

連携サービスで収集された明細一覧を取得します(自動連携・手動とも)。

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
sideNo
orderNo
contentNo
end_dateYes
per_pageNo10〜1000
value_maxNo
value_minNo
start_dateYesYYYY-MM-DD。end_dateとの差366日以内
content_match_typeNo
connected_account_idNo
journalizing_statusesNo
connected_sub_account_idNo

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral disclosure burden. It communicates that this is a retrieval operation and identifies the data source, but it does not disclose side-effect status, pagination behavior, ordering, output shape, or any authentication/rate-limit considerations. This is too thin for a tool with no annotation safety net.

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 a single focused sentence with no filler. The core action and scope are front-loaded, and every word contributes to identifying what the tool does.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a 13-parameter tool with no output schema and no annotations. A single purpose sentence is not enough for an agent to use filters correctly, understand return values, or know how this relates to sibling journal and transaction tools. The description leaves too many operational details unspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 15%, and the description adds no parameter-level meaning. It neither explains required date semantics beyond the schema nor clarifies the many filter parameters such as side, order, content, journalizing_statuses, or pagination. It provides only general domain context for the returned transaction list.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a clear verb ('取得します') and a specific resource ('連携サービスで収集された明細一覧'), so an agent can tell this fetches transaction details collected via the integration service. It does not explicitly contrast itself with siblings like mfc_ca_getJournals, but the resource scope is reasonably specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase '連携サービスで収集された明細一覧' implies this tool is for transaction details collected through linked services, and '(自動連携・手動とも)' clarifies it covers both automatic and manual collection. However, there is no explicit when-to-use versus alternatives guidance, no exclusion, and no mention of when to choose mfc_ca_getJournals instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mfc_ca_postJournalsB

仕訳を作成します(帳簿書き込み。要ユーザー承認)。

ParametersJSON Schema
NameRequiredDescriptionDefault
journalYes仕訳オブジェクト { transaction_date, journal_type: 'journal_entry'|'adjusting_entry', branches: [{debitor?, creditor?, remark?}], tags?, memo? }。invoice_kind は自由値を許容(公式書込み3値以外は検証実験用)

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are absent, so the description carries the full burden. It does disclose that this writes to books and requires user approval, covering the mutation and authorization aspects. However, it does not mention potential side effects, validation behavior, or the experimental invoice_kind handling beyond the schema note. Adequate but minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that is front-loaded with the action and the approval constraint, with zero filler. It is appropriately sized for a simple create tool and efficient, though it could afford a bit more context without hurting clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutating tool with a complex nested parameter and no output schema, the description is sparse. It lacks examples, required-field emphasis, error behavior, or relation to the other journal endpoints (get, put, delete). The schema provides structure but not usage context, leaving an agent under-informed for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the journal object's structure and the invoice_kind note fully described in the schema. The description adds no parameter-specific guidance. Baseline 3 applies since the schema already carries the semantic load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Create journal entries (book write-in. Requires user approval)' – a clear verb and resource. The 'post' prefix and '作成' (create) make the action unambiguous relative to sibling update/delete tools. However, it does not explicitly name those alternatives, so differentiation is implied rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use guidance or alternative tools are mentioned. The approval note ('要ユーザー承認') hints at an operational constraint but does not help an agent choose between this and putJournals or deleteJournals. It relies on naming conventions for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mfc_ca_postTradePartnersB

取引先を作成します。

ParametersJSON Schema
NameRequiredDescriptionDefault
trade_partnerYes取引先オブジェクト(code, name 等)

TDQS

B3.2/5.0
Behavior2/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 only says 'creates' and does not mention idempotency, required permissions, duplicate handling, side effects, or response behavior. For a mutation tool with zero annotation coverage, 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one short, clear sentence with no filler or redundancy. It is appropriately sized for a simple create operation, though it is too terse to add much behavioral or contextual value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter operation with full schema coverage, the description is minimally sufficient for a basic call. However, there is no output schema and no annotations, and the description omits return values, error behavior, and any uniqueness or validation constraints, so it is not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents the single parameter trade_partner as an object containing code, name, etc., giving 100% schema description coverage. The description adds no parameter-specific meaning beyond what the schema provides, so the baseline 3 applies.

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 states a specific verb and resource: 'creates a trade partner' (取引先を作成します). This clearly distinguishes it from read-only siblings such as mfc_ca_getTradePartners, so an agent can infer the operation type without additional context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus alternatives, no mention of exclusions, and no prerequisites. The agent must infer from the verb 'creates' that this is for new trade partners, but the description does not explicitly contrast it with the read or update sibling tools.

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が自動補完。

ParametersJSON Schema
NameRequiredDescriptionDefault
memoNo
tagsNo
remarkNo
tax_idNo
account_idYes相手勘定科目ID
invoice_kindNo公式書込み3値以外も送信可(検証実験用)
department_idNo
sub_account_idNo
transaction_idYes明細ID(URLエンコード済みのまま)
transaction_dateNo省略時は明細の取引日
trade_partner_codeNo

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden and it delivers: '帳簿書き込み。要ユーザー承認' signals a mutating ledger write requiring user approval, and the auto-completion note explains that several fields will be populated by MF. It stops short of describing approval mechanics, reversibility, or error responses, so it is not a 5.

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 tight sentence plus two short clarifications, with the core purpose, the required input, and the auto-completion behavior all front-loaded. No filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 11-parameter, approval-gated write tool with no output schema or annotations, the description gives essential starting points but omits the approval workflow, success/failure results, and guidance against sibling journal tools. It is adequate but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is low (36%), and the description compensates partially by identifying account_id as the only user-supplied counterpart required and by grouping debit/credit direction, account-side subject, tax classification, and invoice_kind as automatically completed. It does not clarify memo, tags, remark, department_id, sub_account_id, or trade_partner_code.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action: '明細から仕訳を作成します' (creates journal entries from transaction details), with a clear resource and ledger-write scope. It does not explicitly name or differentiate from sibling tools like mfc_ca_postJournals, so it misses the highest tier.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The context is implicitly clear: use this to journalize an existing transaction by providing account_id, with user approval required. However, it never tells the agent when to choose this over siblings such as mfc_ca_postJournals or mfc_ca_postTransactions, nor when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mfc_ca_postTransactionsA

手動管理の連携サービスに明細を作成します(要ユーザー承認)。

ParametersJSON Schema
NameRequiredDescriptionDefault
transactionsYes
connected_account_idYes手動管理(is_manual: true)の連携サービスID

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description bears the behavioral burden. It discloses the important side-effect that user approval is required and implies a mutating POST, but it does not describe failure modes, reversibility, or what happens on approval denial. This is helpful but incomplete.

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?

A single compact sentence carries the core action, target constraint, and a critical behavioral note. There is no filler or repeated schema information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 2-parameter POST with a nested array and no output schema, the description gives the essential service type and approval context, and the schema supplies the structural requirements. It is adequate for constructing a call, but it leaves return-value and failure behavior unspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 50%: connected_account_id has a description, but the transactions array and its item fields (date, value, side, content, memo) have no descriptions. The tool description does not compensate by explaining transaction field meanings, date format, or value units.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific action ('明細を作成' = create line items/details) and a specific target ('手動管理の連携サービス' = manually managed connected service), and it adds the user-approval requirement. It is distinguishable from the many get/report siblings by the manual-management context, though it does not explicitly contrast it with postJournals or postVouchers.

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 expression '手動管理の連携サービスに' is a clear context restriction: this tool is for creating details in a manually managed connected account, which the connected_account_id schema description reinforces. It does not name alternatives or give when-not-to-use guidance, so it stops short of a 5.

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 省略時は孤立証憑になる(後から仕訳に紐づける手段はない)ので原則指定すること。

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathsNoローカルファイルの絶対パス(file_name/file_dataは自動生成)
journal_idNo添付先の仕訳ID
voucher_filesNobase64を直接渡す場合

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden and does substantial work: it discloses the user-approval requirement, automatic base64 conversion for file_paths, and the irreversible orphan-voucher consequence of omitting journal_id. It stops short of describing response/error behavior or what happens when journal_id is invalid.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short, dense sentences, with the main purpose front-loaded and each clause earning its place. The parenthetical "(公式MCP未提供・要ユーザー承認)" crams two facts into one bracket, which is slightly less structured than ideal but still efficient.

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 mutation tool with no annotations and no output schema, the description covers the essentials: purpose, authorization requirement, the two input modes' behavior, and the critical pitfall. The only notable gap is the absence of return-value or failure-mode information, which matters for confirming a successful attachment.

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%, establishing a baseline of 3. The description adds meaning beyond the schema: it explains that file_paths triggers automatic base64 conversion (so the agent need not pre-encode) and warns that omitting journal_id permanently orphans the voucher — a consequence not visible in the schema.

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 states a specific action and resource: "証憑をアップロードし仕訳に添付します" (uploads vouchers and attaches them to journal entries). This clearly differentiates it from sibling write tools like mfc_ca_postJournals (creates journals) and mfc_ca_deleteVouchers (deletes vouchers).

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 provides clear usage context: it notes the tool is not in the official MCP, requires user approval (要ユーザー承認), and instructs that journal_id should normally be specified. However, it does not explicitly name alternatives or state when-not-to-use it relative to sibling tools.

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・帳簿書き込み。要ユーザー承認)。

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
journalYes仕訳オブジェクト { transaction_date, journal_type: 'journal_entry'|'adjusting_entry', branches: [{debitor?, creditor?, remark?}], tags?, memo? }。invoice_kind は自由値を許容(公式書込み3値以外は検証実験用)

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of disclosing behavior. It states that this is a mutation ('帳簿書き込み' = ledger write), that it performs a full replacement (overwriting the entire journal), and that user approval is required. This goes beyond a generic 'updates' and gives the agent a realistic sense of side effects and authorization needs, though it doesn't mention failure modes or potential data loss details.

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?

One concise Japanese sentence with no filler. The core verb is front-loaded, and the key qualifiers (full replacement, ledger write, user approval) are packed efficiently. Every word earns its place, making it easy to scan and understand.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the essential behavioral aspects (update, full replacement, approval) but leaves out critical context: what 'id' means, what happens to omitted optional fields during full replacement, and what the response looks like (no output schema exists). Given the nested journal object and two required parameters, an agent would need more detail to call it correctly without guessing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 50% (journal has a description, id does not). The tool description adds no parameter guidance whatsoever—it doesn't explain that 'id' refers to the target journal's identifier or clarify the full-replacement semantics for missing journal fields. The description in the schema for 'journal' exists, but the tool itself provides zero parameter disambiguation, so it fails to compensate for the 50% coverage gap.

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 clearly states the action ('仕訳を更新します' = 'updates journals') and adds crucial detail ('全置換API' = full replacement API), which distinguishes it from creating (postJournals) or deleting (deleteJournals) operations. The verb+resource combo is unambiguous and immediately conveys the tool's role.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for updating existing journals but provides no explicit comparison to alternatives like postJournals for creation or deleteJournals for removal. It does clarify that it's a full-replacement API, hinting it's not for partial updates, but lacks any 'use this when...' or 'instead of...' guidance. The 'requires user approval' note is a constraint, not a selection guideline.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mf_full_infoB

このサーバーの設定情報(要求スコープ・コールバックポート等)を表示する。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior2/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 only says 'display' (表示), which implies a read-only operation, but it does not explicitly state side-effect safety, authentication requirements, or any other behavioral details. The description adds no information beyond the obvious action of showing configuration.

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 a single, concise sentence that front-loads the verb and resource. Every word earns its place, with concrete examples (request scope, callback port) adding clarity without verbosity.

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 simple tool with no parameters and no output schema, the description is adequate. It tells the agent exactly what information will be displayed. However, it could optionally mention that it requires no arguments or that it is the first step before authentication, but given the tool's trivial nature, this is not a significant gap.

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?

The tool has zero parameters, so there is nothing to document. The description does not need to add parameter info since the schema is empty. The baseline score of 4 is appropriate, reflecting that no parameter documentation is required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool displays server configuration information (request scope, callback port, etc.) with a specific verb ('表示する' – display) and resource. It is not a tautology and gives concrete examples. However, it does not explicitly differentiate itself from sibling tools, though none of the siblings appear to overlap in function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 only states what it does, leaving the agent to infer that it is appropriate for checking server settings. No exclusions or alternative recommendations are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remove_officeC

保存済みトークンを削除する。

ParametersJSON Schema
NameRequiredDescriptionDefault
labelYes

TDQS

C2.8/5.0
Behavior2/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 conveys that this is a deletion operation but does not mention irreversibility, side effects on the current office/session, whether authentication is required, or what happens to related state.

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 a single short sentence with no redundancy or filler. It is front-loaded around the key action and resource, making it efficient for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/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 is too sparse. It omits label semantics, expected return behavior, side effects, and any usage context, so an agent must make several assumptions before invoking it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema defines only a required 'label' string with no description and schema description coverage is 0%. The tool description never explains that 'label' identifies which saved token to delete or what values/formats are accepted; the mapping is only inferable from the phrase 'saved token.'

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The Japanese description '保存済みトークンを削除する。' ('Deletes saved token.') states a specific action and resource: deleting a saved token. It clearly identifies this as a removal operation and is distinct from read/auth sibling tools, though it does not explicitly differentiate itself from related office tools like use_office or list_offices.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus alternatives such as use_office, authenticate, or auth_status. The description only states what it does, with no context about prerequisites, exclusions, or conditions that should trigger its use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

use_officeA

このセッションのアクティブな接続先事業者を切り替える(プロセス内メモリのみ。他セッション/他ウィンドウには影響しない)。

ParametersJSON Schema
NameRequiredDescriptionDefault
labelYeslist_offices で表示される保存名

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden of behavioral disclosure. It explicitly states that changes are in-process memory only and do not affect other sessions or windows, which is a crucial behavioral caveat. It does not cover invalid-label handling or return behavior, but the most important side-effect information is present.

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 a single, focused sentence that front-loads the core action and then clarifies the scope with a short parenthetical. There is no wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter state-changing tool, the description is complete: it states what action is performed, the scope of the change, and the non-persistence behavior. The parameter is fully documented in the schema via the reference to list_offices, so nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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. The description does not add meaning beyond the schema, such as format requirements or examples, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific action: switching the active business operator for the current session. The scope is explicit (session-local), which distinguishes this from tools that manage saved offices or query current state, though it does not explicitly name a sibling as an alternative.

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 clearly communicates when the tool is used: to change the active business operator within the current session. It provides useful context about the session-scoped effect, though it does not explicitly state when-not-to-use or name alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3/5.0
Disambiguation4/5

Most tools have clear resource/action separation: journals, transactions, reports, master data, auth, and office management each have distinct targets. A few pairs like currentOffice vs list_offices or postJournals vs postTransactionJournalize have some boundary overlap, but the descriptions are precise enough to resolve most ambiguity.

Naming Consistency3/5

The dominant mfc_ca_get/post/put/delete + Resource pattern is readable and consistent within the core accounting tools. However, the server mixes styles: verbless mfc_ca_currentOffice, un-prefixed snake_case names like remove_office and list_offices, and bare verbs like authenticate.

Tool Count2/5

29 tools is a heavy surface and exceeds the 25+ threshold. Although the tools are grouped into clear subdomains such as journals, reports, master data, and auth, the high number of parallel getters and report variants creates meaningful selection overhead for agents.

Completeness3/5

Core workflows are well covered: authentication, office switching, journal CRUD, report retrieval, and master data reads are all present. Obvious gaps remain, however: trade partners have no update/delete, transactions have no update/delete, and vouchers lack list/get or an attach-orphan recovery path.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    An MCP server and Claude plugin that enables interaction with freee APIs for accounting, human resources, invoicing, and more. It provides secure OAuth 2.0 authentication and integrates detailed API reference skills to support tasks like creating invoices and managing company data through natural language.
    26,098
    496
    Apache 2.0
  • A
    license
    B
    quality
    D
    maintenance
    An MCP server that integrates with MoneyForward Cloud Invoice API v3 to automate the creation and management of quotes and invoices. It supports Japanese invoice system compliance, allowing users to handle partners, items, and billing through natural language.
    22
    3
    1
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    An unofficial MCP server that integrates with the hokan Insurance CRM API v2 to manage customer data, schedules, and tasks. It also features specialized tools for Japanese insurance law compliance, including intent confirmation and regulatory check generation.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kentaroajisaka/mf-full-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server