Skip to main content
Glama

KanseiLink Cockpit

cockpit-mcp MCP Server

Monorepo for @kansei-link/cockpit — an MCP server for Japanese accounting workflow automation.

Packages

Package

Description

Status

packages/cockpit-mcp

MCP server — two-stage classifier + TaxRuleEngine

npm

packages/cockpit-dashboard

Web dashboard (coming soon)

🚧

Related MCP server: financial-law-mcp

Quick Start

npm install @kansei-link/cockpit

See packages/cockpit-mcp/README.md for setup and configuration.

Data

The data/ directory contains classification rules used by the MCP server:

  • keyword-dict/ — Keyword dictionary for 19-category classification

  • exclusion-rules/ — Patterns to exclude non-classifiable transactions

  • tax-rules/ — Consumption tax rates, withholding rules, invoice system config

License

MIT — see LICENSE for details.

Copyright (c) 2026 Synapse Arrows PTE. LTD.

Available Tools

12 tools
check_duplicateA

Check if a transaction already exists in freee (= by date + amount + memo prefix). Use BEFORE register to prevent double-posting.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
memoYes
amountYes

TDQS

A3.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 bears full responsibility for behavioral disclosure. It states the tool checks for duplicates but does not specify the return type, whether it is read-only, error conditions, or case sensitivity of memo prefix matching. This lack of detail limits the agent's understanding of side effects and behavior.

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 extremely concise, with two sentences that front-load the purpose and criteria, then provide a clear usage directive. Every sentence adds value without redundancy.

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 check tool with three required parameters and no output schema, the description covers the purpose, matching criteria, and usage timing. However, it omits information about the return value (e.g., boolean or details) and does not mention potential errors or edge cases, leaving some incompleteness.

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 input schema lacks descriptions (0% coverage), but the description adds meaning by specifying that memo is matched by prefix and that the combination of date, amount, and memo is used for duplicate detection. This provides crucial semantic context beyond the raw schema 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 clearly states the tool checks for duplicate transactions by date, amount, and memo prefix, with explicit matching criteria. It distinguishes itself from siblings by focusing on duplicate detection, and the phrase 'Use BEFORE register' adds context.

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 explicit usage context: 'Use BEFORE register to prevent double-posting.' This tells the agent when to use the tool. However, it does not mention when not to use it or compare it to alternatives like check_exclusion or classify_transaction.

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

check_exclusionB

7-rule exclusion check for Japanese accounting. Returns excluded:true if transaction should NOT be auto-journalized. Rules: 内容不明デビット / 借入金返済 / 社保税金 / 給与支払い / 投資 / ATM出金 / 公共料金.

ParametersJSON Schema
NameRequiredDescriptionDefault
memoYes
amountYes
employeesNoOptional employee name list (= for salary_payment detection)
partner_nameNo

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. It mentions returning excluded:true but does not disclose whether the tool is read-only, idempotent, requires authentication, or has any side effects. The behavioral context is 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 extremely concise: two short sentences plus a list of rules. The first sentence front-loads the core purpose. Every element is meaningful and there is no redundancy.

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 fully explain the return value, which it partially does. However, it fails to explain the role of most parameters (memo, amount, partner_name) and does not cover error conditions or edge cases. The context is incomplete for an agent to use the tool reliably.

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 25% (only 'employees' has a description). The description lists rules but does not explain how memo, amount, or partner_name relate to the exclusion logic. It adds no value over the schema for these parameters.

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 tool's purpose: a 7-rule exclusion check for Japanese accounting that returns whether a transaction should not be auto-journalized. It distinguishes itself from siblings like check_duplicate and classify_transaction by focusing on exclusion rules.

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 checking exclusion from auto-journalization but does not explicitly state when to use this tool versus alternatives or when not to use it. No guidance on prerequisites or comparison with sibling tools.

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

classify_transactionA

Two-stage classifier for Japanese tax accounting. Stage 1: keyword dictionary match (14 categories × ~50 keywords). Stage 2 (= deferred to Phase 1.B): Claude API fallback. Returns 勘定科目 + 税区分 + confidence.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesISO 8601 date YYYY-MM-DD
memoYes取引摘要
amountYesTransaction amount (JPY)
partner_nameNo取引先名 (optional)

TDQS

A4.2/5.0
Behavior4/5

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

No annotations provided, but description fully discloses the two-stage process, deferred fallback, and return values. No contradictions.

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 sentences, front-loaded with purpose, no wasted words. Perfectly concise.

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?

Covers purpose, stages, output, and deferred phase. Missing confidence score range or interpretation details, but adequate for a classifier with no output schema.

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 parameters are well-documented in schema. Description adds no additional parameter details beyond the schema, but 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?

Explicitly states it is a two-stage classifier for Japanese tax accounting, specifying stages (keyword dictionary match and Claude API fallback) and outputs (勘定科目, 税区分, confidence). Clearly distinguishes from sibling tools.

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?

Describes when to use (for Japanese tax accounting classification) and the two-stage process. Doesn't explicitly state when not to use or compare to siblings like correct_classification, but the context is clear.

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

correct_classificationA

税理士修正フィードバック。誤分類を記録し、同パターンの取引が今後来たら修正後の勘定科目を自動適用。Linksee Memory caveat layer と同等(= 永続記憶、二度と同じ誤りをしない)。修正は全社共通 or 特定会社のみに適用可能。

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonYes修正理由(例: "1人利用・5,000円以下は会議費")
company_idNo特定会社のみに適用(省略 = 全社共通)
memo_patternYesこの修正が適用される摘要パターン(例: "スターバックス 渋谷")
partner_nameNo取引先名(optional — memo_pattern だけでもOK)
to_category_idYes正しい勘定科目ID
from_category_idNo誤分類だった勘定科目ID(optional)
to_category_name_jaYes正しい勘定科目名
from_category_name_jaNo誤分類だった勘定科目名(optional)

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It discloses that the tool uses '永続記憶' (persistent memory) and will '自動適用' (automatically apply) corrected categories to future similar transactions. It also explains scope options (company-wide or specific company). While it doesn't cover all behavioral details (e.g., idempotency, error handling), it provides key behavioral context beyond the schema.

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

Conciseness5/5

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

The description is three sentences long with no filler. It front-loads the core purpose ('税理士修正フィードバック'), explains the mechanism, and notes scope. Every sentence earns its place, making it highly concise and well-structured.

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 complexity (8 parameters, persistence, auto-application), the description covers the main purpose, behavior, and scope. It lacks details about return values (no output schema) and error handling, but these are not critical for understanding the tool's function. Overall, it is reasonably complete for a correction feedback 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 100%, meaning each parameter already has a description in the input schema. The tool description adds conversational context but does not provide additional parameter-level meaning beyond what the schema already conveys. Per guidelines, baseline is 3 when coverage is high.

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 explicitly states '税理士修正フィードバック' (tax accountant correction feedback) and explains the tool records misclassifications and auto-applies corrected categories to future matching transactions, with a note about persistent memory. This clearly distinguishes it from siblings like 'classify_transaction' (classification) and 'recall_memory' (memory retrieval), providing a specific verb-resource pair.

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 indicates the tool is for correction feedback and mentions scope (company-wide or per-company). It implicitly distinguishes from siblings by focusing on recording corrections rather than classifying or recalling, but does not explicitly state when NOT to use it or name alternatives. This is slightly below a 5 due to lack of explicit exclusion guidance.

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

generate_monthly_reportA

Generate a monthly review report. Takes transaction data (from freee API or CSV import), classifies all transactions, detects anomalies, and produces a structured Markdown report with category breakdown, anomaly alerts, and review items. Designed for tax accountants to present to clients.

ParametersJSON Schema
NameRequiredDescriptionDefault
monthYesTarget month YYYY-MM (e.g. "2026-05")
formatNomarkdown
use_freeeNoFetch transactions from freee API instead of providing them
company_nameNo会社名 / 顧問先名
transactionsNoArray of transactions to analyze. If omitted, fetches from freee API for the given month.
compare_labelNoComparison label (e.g. "前月", "前年同月")前月
compare_transactionsNoPrevious period transactions for comparison (optional)

TDQS

A4.2/5.0
Behavior4/5

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

Without annotations, the description carries full burden. It discloses that transactions are fetched from freee API if not provided, and that the tool classifies and detects anomalies without side effects. However, it does not mention authentication needs or rate limits.

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 concise 3 sentences, front-loaded with the core purpose. Every sentence adds value, covering inputs, process, and output, with no redundancy.

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 7 parameters and no output schema, the description covers the main workflow and output structure. It mentions the report includes category breakdown, anomaly alerts, and review items. However, it does not specify the exact return format or pagination, leaving minor gaps.

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 high (86%), so baseline is 3. The description adds context for some parameters (e.g., data sourcing), but does not elaborate on each parameter beyond the schema. It mostly paraphrases the existing descriptions.

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 tool generates a monthly review report, specifies the process (classify, detect anomalies, produce report), and distinguishes it from sibling tools like classify_transaction by focusing on the complete report generation for client presentation.

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 implies usage for tax accountants preparing client reports and mentions data sources (freee API or CSV). However, it does not explicitly state when to prefer this tool over alternatives like classify_transaction or import_csv, nor provide 'when not to use' guidance.

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

import_csvA

Import CSV from 弥生会計/freee/MoneyForward or generic format. Auto-detects source format from headers. Runs each transaction through the full classification pipeline (Stage 0 exclusion → Stage 1+2 classification → confidence routing). Returns categorized results + review queue + Markdown report. 弥生 users: export 仕訳日記帳 as UTF-8 CSV.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceNoForce source format (default: auto-detect from headers)
csv_contentYesRaw CSV text (UTF-8). Paste the full CSV content.
date_columnNoColumn name for date (generic CSV only)
memo_columnNoColumn name for memo/description (generic CSV only)
amount_columnNoColumn name for amount (generic CSV only)
partner_columnNoColumn name for partner name (generic CSV only, optional)

TDQS

A4.6/5.0
Behavior5/5

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

Without annotations, the description fully discloses the processing pipeline (Stage 0→1+2 classification, confidence routing) and return structure (categorized results, review queue, Markdown report), which is critical for an import tool.

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?

Multiple sentences but each adds value; information is front-loaded and well-organized, though slightly dense.

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?

With no output schema, the description fully explains the return format and processing steps, making it complete for agent decision-making.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds meaning by explaining source parameter force vs auto-detect, clarifying generic CSV columns, and emphasizing raw CSV paste.

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 specifies importing CSV from specific sources (弥生会計/freee/MoneyForward or generic) with auto-detection, distinguishing from sibling tools by describing the full classification pipeline and return values.

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?

Provides guidance for auto-detection and a specific tip for 弥生 users, but lacks explicit comparisons to sibling tools like classify_transaction or reconcile_cross_saas.

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

list_freee_companiesA

List all companies (事業所) accessible by the configured freee OAuth token. Returns company IDs + names. Used for multi-company batch processing.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/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 behavioral traits. It states the action is a list operation and mentions the OAuth token, but it does not explicitly confirm it is read-only or state any side effects. For a simple listing tool, this is adequate but not fully transparent.

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 consists of two concise sentences that front-load the main action and include a Japanese translation for clarity. Every sentence adds value without unnecessary detail.

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 parameterless list tool, the description fully covers what the tool does, what it returns, and a typical use case. No additional information from an output schema is needed to understand the tool's behavior.

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 the schema coverage is 100%. The description adds no parameter-specific details, which is appropriate since there are none. Per the baseline rule for 0 parameters, a score of 4 is given.

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 ('List all companies'), the resource ('companies accessible by the configured freee OAuth token'), and the output ('Returns company IDs + names'). It also provides a use case ('Used for multi-company batch processing'), distinguishing it from sibling tools that perform different operations.

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 indicates when to use the tool (to list accessible companies and obtain IDs/names for batch processing). It does not explicitly state when not to use it or list alternatives, but the context is clear and no sibling tool overlaps this functionality.

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

list_freee_dealsB

List transactions (取引) from freee API for the configured company. Useful for sync + classification dogfood.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoFilter by income or expense
limitNo
offsetNo
end_issue_dateNoYYYY-MM-DD
start_issue_dateNoYYYY-MM-DD

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 must carry the burden. It only says 'List transactions' without disclosing behavioral traits like rate limits, idempotency, or any side effects. This is insufficient for a tool with 5 parameters.

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 concise with two sentences and no redundant information. It front-loads the purpose, but could be more structured with bullet points for 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?

Given 5 parameters, no output schema, and no annotations, the description is incomplete. It does not explain pagination (limit/offset), date format specifics, or what the response contains. More context is needed for effective tool use.

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 60% (3 of 5 parameters have descriptions). The description does not add extra meaning beyond the schema, e.g., explaining how type, limit, offset, date filters work together. Baseline score due to moderate coverage but no added value.

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 lists transactions from freee API for the configured company. The verb 'List' and resource 'transactions (取引)' are specific. However, it does not differentiate from sibling tools like 'classify_transaction' or 'import_csv'.

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 mentions 'Useful for sync + classification dogfood', giving some context on when to use it, but lacks explicit guidance on when to avoid or alternatives among siblings.

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

nightly_runA

Nightly batch pipeline. Processes ALL companies accessible by the token (= multi-company batch). Pipeline per company: fetch unprocessed (status=unsettled) → Stage 0 exclusion → Stage 1+2 classify → confidence routing (high=auto, medium=auto+log, low=human_review) → aggregate summary. Currently dry-run only (write-back pending Phase 1.B).

ParametersJSON Schema
NameRequiredDescriptionDefault
dry_runNoCurrently always dry_run (= write-back pending Phase 1.B)
period_endNoYYYY-MM-DD end date filter
company_idsNoOverride: process only these company IDs (default: all accessible)
concurrencyNoMax parallel companies (default: 3, freee rate limit safe)
period_startNoYYYY-MM-DD start date filter
deals_per_companyNoMax deals fetched per company

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations provided, the description fully carries the burden of disclosing behavior. It reveals the tool is currently dry-run only, processes all companies, and details the per-company pipeline steps (fetch, exclusion, classification, confidence routing, summary). This is transparent about limitations and internal logic.

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 concise and front-loaded with the tool's purpose. It uses a single paragraph with key points (pipeline steps, dry-run status) without unnecessary words. Every sentence adds value.

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 complexity (batch pipeline with multiple stages, no output schema), the description provides a good overview of the process and current state. It covers the pipeline steps and dry-run limitation. However, it lacks details on what the tool returns or how to interpret results, which could be useful for an agent.

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 all parameters are already described in the input schema. The tool description adds minimal extra information (e.g., dry-run context) but does not significantly enhance understanding beyond the schema's parameter descriptions. Baseline score of 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 clearly states the tool is a nightly batch pipeline that processes all accessible companies. It outlines the pipeline stages (fetch, exclusion, classify, routing, summary), distinguishing it from sibling tools that handle individual operations like classify_transaction or check_duplicate.

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 explains the tool is for batch processing and notes the current dry-run limitation. It implies when to use (nightly runs) but does not explicitly exclude alternatives or provide when-not-to-use guidance. However, the pipeline context is clear.

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

recall_memoryB

過去の分類パターン・修正履歴を検索。取引の摘要/取引先から過去パターンを参照し、分類結果の根拠を確認。Memory stats(pattern hit率等)の確認にも使用。

ParametersJSON Schema
NameRequiredDescriptionDefault
memoNo取引摘要(パターン検索用)
amountNo金額(±5% 範囲でマッチ)
show_statsNoMemory 全体統計を表示
partner_nameNo取引先名(optional)
show_correctionsNo全修正履歴を表示

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. It describes the tool as a search operation, which implies it is non-destructive, but it does not explicitly state read-only behavior, required permissions, rate limits, or potential side effects. The description is insufficient for a tool that may involve multiple operations (search vs. stats).

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 concise at two sentences and front-loads the main purpose. However, it could be more structured with bullet points or clearer separation of use cases. It is appropriately sized but lacks explicit structure.

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?

The tool has no output schema, so the description should explain what the tool returns (e.g., pattern details, correction records). It mentions 'memory stats' but does not describe the format or content of the response. Given the tool's complexity (5 parameters, search and stats), the description is incomplete.

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 each parameter's purpose. The description adds limited value by grouping parameters (memo/partner for pattern search, show_stats for stats) but does not provide significant new meaning beyond what is 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 clearly identifies the tool's purpose: searching past classification patterns and correction history. It specifies the use of transaction descriptions (memo) and partner names to reference patterns and confirm classification rationale, and mentions memory stats. This clearly distinguishes it from sibling tools like classify_transaction (for actual classification) and correct_classification (for corrections).

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 when needing to reference past patterns to justify classifications or check memory stats, but it does not explicitly state when to use this tool versus alternatives or when not to use it. No exclusions or comparisons to siblings are given.

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

reconcile_cross_saasC

Cross-SaaS reconciliation (= freee ↔ MF). Currently freee-only mode (= MF connector pending Phase 1.B). Detects duplicate fingerprints within freee.

ParametersJSON Schema
NameRequiredDescriptionDefault
period_endYes
period_startYes

TDQS

C2.7/5.0
Behavior3/5

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

Without annotations, the description partially discloses behavior: it detects duplicate fingerprints within freee. However, it does not reveal side effects, data mutation, or prerequisites, leaving significant behavioral gaps.

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?

Two sentences, relatively concise. However, the use of parentheses and equals signs makes the first sentence slightly cluttered, reducing readability.

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 the tool's complexity (cross-SaaS reconciliation, duplication detection), the description lacks essential context: no return value, no error conditions, no prerequisites, and no integration status information. With no output schema or annotations, this is insufficient.

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 0%, and the description does not explain the two parameters (period_start, period_end). No format, purpose, or example is given, forcing the agent to infer from names alone.

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 it performs cross-SaaS reconciliation between freee and MF, and detects duplicate fingerprints. It distinguishes this tool from siblings by specifying its cross-SaaS scope, though the 'freee-only mode' adds some 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 explicit guidance on when to use or not use this tool. It mentions the tool is currently in freee-only mode, implying limitations, but does not provide alternatives or state clearly when to choose this over siblings like check_duplicate.

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

upsert_partnerA

取引先マスタ auto-creation in freee. Fuzzy match against existing partners; if new, create. Returns partner_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
partner_nameYes

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 cover behavior. It discloses fuzzy matching and return value, but does not specify update behavior on a match, permissions, or side effects, leaving some ambiguity.

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 short sentences that convey all essential information without redundancy, perfectly front-loaded.

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 one parameter, no output schema, and no annotations, the description covers purpose, matching logic, and return value. Minor gap: unclear update behavior on match, but otherwise 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 0%, so description must compensate. It adds that partner_name is used for fuzzy matching, but does not elaborate on format or constraints. Adequate for a single parameter but not thorough.

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 tool performs an auto-creation/upsert on a partner master in freee with fuzzy matching, and returns partner_id. It distinguishes from siblings like check_duplicate by focusing on the upsert action.

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 creating a new partner or matching existing ones via fuzzy logic, but does not explicitly state when to use alternatives like check_duplicate or any prerequisites.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 12 tool updatesv0.1.0
    • First observedcheck_duplicate
    • First observedcheck_exclusion
    • First observedclassify_transaction
    • First observedcorrect_classification
    • First observedgenerate_monthly_report
    • First observedimport_csv
    • First observedlist_freee_companies
    • First observedlist_freee_deals
    • First observednightly_run
    • First observedrecall_memory
    • First observedreconcile_cross_saas
    • First observedupsert_partner

TDQS

A3.8/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: duplicate detection, exclusion checks, classification, correction, reporting, import, listing companies and deals, batch processing, memory recall, reconciliation, and partner management. No two tools overlap in functionality.

Naming Consistency4/5

Most tools follow a verb_noun pattern (check_duplicate, classify_transaction, import_csv, etc.), but 'nightly_run' is an exception (adjective_noun) that slightly breaks consistency. Overall, the naming is clear and predictable.

Tool Count5/5

12 tools is well-scoped for an accounting automation server, covering all major steps from import to classification to reporting without being excessive or insufficient.

Completeness5/5

The tool set provides complete coverage of the intended workflow: import, duplicate detection, exclusion rules, classification, correction feedback, multi-company batch processing, report generation, memory recall, and reconciliation. No obvious gaps.

Maintenance

ActivityMaintained
ResponsivenessNo issues

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

  • F
    license
    B
    quality
    D
    maintenance
    MCP server for DACH accounting automation. Connect AI assistants to sevDesk and Lexoffice — create invoices, manage contacts, handle bookings and vouchers for German-speaking businesses.
    15
    56
    -
  • A
    license
    A
    quality
    D
    maintenance
    MCP server to fetch Japanese financial laws and regulations from the e-Gov API, preventing hallucinations in Claude's responses. Supports 9 domains including Financial Instruments and Exchange Act, Banking Act, etc.
    5
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Multi-tenant MCP server connecting accounting software to AI assistants via ~87 tools. Supports Bokio (Swedish accounting) with mock mode for development.
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server that connects AI agents to 34,500+ Australian Taxation Office documents, providing cited answers, tax deduction discovery, depreciation scheduling, BAS checklists, and audit risk assessment through 13 specialized tools.
    494,111
    8
    AGPL 3.0

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/michielinksee/bantou'

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