Skip to main content
Glama
new-village

money-forward-mcp-community

by new-village

money-forward-mcp-community

Unofficial, community-maintained stdio MCP server and TypeScript client for Money Forward ME.

It reads Money Forward ME's authenticated web pages with a user-provided Cookie header and exposes portfolio, liabilities, linked accounts, cashflow, household-book summaries, and manual accounts as structured MCP tools.

WARNING

This project is unofficial and is not affiliated with Money Forward, Inc. or Money Forward Home, Inc. Internal endpoints and HTML can change without notice. Treat Cookies and returned financial data as secrets. Never put them in GitHub issues, logs, npm packages, or public prompts. Review the latest Money Forward terms before use.

Capabilities

  • Portfolio total, asset-class allocation, and individual holdings

  • Liability total, class allocation, loans, and card balances

  • Flat account view across banks, securities, points, cards, and loans

  • Monthly cashflow rows with direction and calculation-target filters

  • Monthly income, expense, net balance, and category summaries

  • Custom/manual account and asset lookup

  • Browser login, trusted Cookie import, authentication checks, and rolling Cookie refresh

Data tools never modify financial records. Month-specific cashflow reads update Money Forward's selected-month session state and may persist a rotated Cookie.

Related MCP server: KSEI MCP

Quick start

Local / desktop

npx money-forward-mcp-community auth
npx money-forward-mcp-community auth --status

Complete login and multi-factor authentication in the browser. The Cookie is stored at:

~/.config/money-forward-mcp-community/config.json

Example MCP client configuration:

{
  "mcpServers": {
    "money-forward-me": {
      "command": "npx",
      "args": ["-y", "money-forward-mcp-community"]
    }
  }
}

Server / Hermes / CI

Do not automate email/password login on a remote server. Export a Cookie from a trusted authenticated browser and supply it through a secret manager or a protected config file.

MONEY_FORWARD_COOKIE='your Cookie header' \
  npx -y money-forward-mcp-community

Or mount a config file:

{
  "cookie": "your Cookie header",
  "updatedAt": "2026-07-20T00:00:00.000Z"
}
MONEY_FORWARD_MCP_COMMUNITY_CONFIG=/run/secrets/money-forward/config.json \
  npx -y money-forward-mcp-community

Tool selection for agents

Use compact summary tools before requesting large detail payloads.

User intent

Preferred tool

Notes

Net worth or balances by bank/card/account

money_forward_get_account

Flat signed balances; assets positive, liabilities negative

Total assets or allocation

money_forward_get_portfolio_summary

Compact; includes zero-balance asset classes

Individual holdings or valuation details

money_forward_get_portfolio_details

Larger response; grouped by asset class

Total debt or debt allocation

money_forward_get_liability_summary

Positive amounts owed

Individual loans or card balances

money_forward_get_liability_details

Positive amounts owed

Monthly income, spending, net, or category totals

money_forward_get_cashflow_summary

Prefer an explicit month

Individual monthly cashflow rows

money_forward_get_cashflow_details

Supports direction and calculation-target filters

Custom/manual accounts only

money_forward_list_manual_accounts

Not linked banks, cards, or securities

Assets inside one manual account

money_forward_list_manual_assets

Requires id from the previous tool

  1. If a data tool reports missing or expired authentication, call money_forward_auth_status, then money_forward_auth_check.

  2. For monthly analysis, call money_forward_get_cashflow_summary first.

  3. Call money_forward_get_cashflow_details only when individual transactions are necessary.

  4. For net worth by account, call money_forward_get_account and sum its signed balance values.

  5. For asset composition, use Portfolio tools rather than reconstructing allocation from account rows.

Structured output

Successful tools return both human-readable JSON text and MCP structured output. Programmatic consumers should read:

response.structuredContent.result;

Each tool declares an MCP outputSchema, allowing compatible agents to inspect the response contract before calling it.

Errors set isError: true and return a stable object in structuredContent.error:

{
  "code": "auth_required",
  "message": "Money Forward ME authentication is not configured.",
  "retryable": false,
  "suggestedTools": ["money_forward_auth_login", "money_forward_set_cookie"]
}

Defined error categories include authentication requirements/expiry, upstream timeouts or HTTP errors, and page-format changes.

Account model

money_forward_get_account returns a flat array. There is no institution-specific nested subAccounts model.

type MoneyForwardAccountEntry = {
  accountId: string | null;
  institution: string;
  name: string;
  kind: "asset" | "liability";
  category: string | null;
  balance: number;
  currency: "JPY";
  source: "account_detail" | "portfolio" | "liability" | "account_summary";
  registeredAt: string | null;
  lastFetchedAt: string | null;
  status: string | null;
};

Example:

[
  {
    "institution": "Example Bank",
    "name": "Savings",
    "kind": "asset",
    "category": null,
    "balance": 1500000,
    "currency": "JPY",
    "source": "account_detail"
  },
  {
    "institution": "Example Bank",
    "name": "Home loan",
    "kind": "liability",
    "category": "Mortgage",
    "balance": -12000000,
    "currency": "JPY",
    "source": "liability"
  }
]

Account sign convention

  • kind: "asset": balance is zero or positive

  • kind: "liability": balance is zero or negative

  • Sum all balance values to obtain net value

source preserves the Money Forward page used for the row:

Source

Meaning

account_detail

A sub-account from a linked institution's detail page

portfolio

A Portfolio holding such as points or stored value

liability

A Liability row such as a loan or card balance

account_summary

Institution total used when no lower-level row is available

Matching across pages is generic and based on Money Forward's institution labels. No bank or card name is hard-coded. A source label is retained so agents can explain provenance and avoid treating fallback totals as detailed holdings. Portfolio or liability rows with an institution label that does not match a registered account are retained with accountId: null rather than silently discarded.

Cashflow

Both cashflow tools accept an optional month:

{ "month": "2026-06" }

Use explicit YYYY-MM whenever reproducibility matters. If omitted, Money Forward's currently displayed month is used. Selecting a month performs Money Forward's session-level month switch before reading; it does not edit transactions or household-book records.

money_forward_get_cashflow_details also accepts:

{
  "month": "2026-06",
  "direction": "expense",
  "calculationTargetOnly": true
}
  • direction: all, income, or expense

  • calculationTargetOnly: exclude rows Money Forward does not use in household-book calculations

  • Transaction amount: income positive, expense negative

  • Summary income and expense: both positive totals

  • Summary balance: income minus expense

Portfolio and liabilities

Portfolio and Liability deliberately keep Money Forward's original concepts separate:

  • Portfolio summary/details describe assets and holdings.

  • Liability summary/details describe positive amounts owed.

  • Account entries normalize liabilities to negative signed balances for net-value calculations.

Do not add Portfolio and account asset totals together: they are different views of overlapping financial data.

Authentication tools

Tool

Behavior

money_forward_auth_status

Checks local configuration only; no network request

money_forward_auth_check

Verifies the configured Cookie against Money Forward

money_forward_auth_login

Opens a Playwright browser and stores Cookies locally

money_forward_set_cookie

Verifies and stores a trusted Cookie header

money_forward_clear_cookie

Deletes the config-file Cookie; does not change environment variables

Authentication priority:

  1. MONEY_FORWARD_COOKIE

  2. MF_ME_COOKIE (compatibility)

  3. MONEY_FORWARD_MCP_COMMUNITY_CONFIG

  4. ~/.config/money-forward-mcp-community/config.json

CLI:

money-forward-mcp-community auth
money-forward-mcp-community auth --status
money-forward-mcp-community auth --clear
money-forward-mcp-community set-cookie '<COOKIE_HEADER>'
money-forward-mcp-community serve

If Chromium is not installed:

npx -p playwright playwright install chromium

Money Forward may rotate session Cookies on authenticated responses.

  • Config-file Cookies are updated atomically after a successful authenticated response.

  • The temporary file and final config use mode 0600.

  • Environment-variable Cookies are never persisted to disk.

  • Cookie values, previews, and local config paths are not returned by MCP authentication tools.

A Cookie can still be invalidated server-side by logout, password changes, or security policy. Use money_forward_auth_check when data access fails.

TypeScript API

import { MoneyForwardClient, readCookie } from "money-forward-mcp-community";

const client = new MoneyForwardClient({ cookie: await readCookie() });

const accounts = await client.getAccounts();
const JuneSummary = await client.getHouseholdBookSummary("2026-06");
const manualAccounts = await client.listManualAccounts();

Environment

Variable

Default

Description

MONEY_FORWARD_COOKIE

none

Money Forward Cookie header

MF_ME_COOKIE

none

Compatibility Cookie environment variable

MONEY_FORWARD_MCP_COMMUNITY_CONFIG

default config path

Config JSON path

MONEY_FORWARD_REQUEST_TIMEOUT_MS

15000

Request timeout, 100–120000 ms

MONEY_FORWARD_MCP_COMMUNITY_HEADLESS

false

Browser-login headless mode

Security and limitations

  • Cookies provide access to financial data. Treat them like passwords.

  • The server uses unofficial HTML and internal web behavior, not a supported public API.

  • Money Forward can change pages, labels, or session behavior without notice.

  • lastFetchedAt is the display label provided by Money Forward and may omit the year.

  • Foreign-currency balances can be returned as Money Forward's JPY valuation.

  • Only use accounts you own or are authorized to manage.

  • Review the data-retention and model-training settings of the MCP host and AI client.

Development

npm install
npm run format
npm run check
npm test
npm run lint
npm run build
npm pack --dry-run

Release

Conventional Commits on main are processed by GitHub Actions and semantic-release to create GitHub and npm releases. Configure new-village/money-forward-mcp-community and .github/workflows/release.yml as npm Trusted Publishers. NPM_TOKEN is not required.

License

MIT

Available Tools

14 tools
money_forward_auth_checkCheck Money Forward ME authenticationA
Read-only

Contacts Money Forward and verifies that the configured cookie can access an authenticated page. Call this when a data tool reports an authentication error.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description's role is reduced. It adds that the tool contacts Money Forward to verify cookie access, which aligns with the annotations but does not elaborate on potential side effects or failure modes.

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. The first sentence explains the action, and the second provides usage guidance. No unnecessary words.

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?

Given no parameters and the presence of an output schema, the description is sufficiently complete. It covers the tool's purpose and when to use it, which is adequate for an auth check 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 and schema coverage is 100%, so the description need not add parameter details. Following the baseline rule for 0 params, a score of 4 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 contacts Money Forward and verifies cookie access to an authenticated page. It uses specific verbs ('contacts', 'verifies') and distinguishes from siblings by specifying the trigger scenario (when a data tool reports an authentication error).

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 explicitly says 'Call this when a data tool reports an authentication error', providing a clear usage condition. However, it does not mention when not to use or explicitly name alternative tools like 'money_forward_auth_status'.

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

money_forward_auth_loginLog in to Money Forward ME with a browserA

Opens a Playwright browser login flow and stores Money Forward cookies locally. Use set_cookie for remote servers.

ParametersJSON Schema
NameRequiredDescriptionDefault
headlessNoDefaults to false; headed mode is recommended for MFA

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

Discloses side effects: opens a browser (consistent with openWorldHint) and stores cookies (consistent with non-read-only annotation). Does not note any destructive actions, which is acceptable for a login tool.

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, no fluff: first explains action, second gives alternative usage. Front-loaded with core purpose.

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?

Sufficient for a single-parameter tool with an output schema (not shown but indicated). Describes the login flow and cookie storage. Could mention credentials handling, but not critical.

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 covers the only parameter (headless) with 100% description coverage. The tool description adds no extra parameter semantics beyond what the schema already provides.

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 it opens a Playwright browser login flow and stores cookies locally. It distinguishes from sibling tools like set_cookie by mentioning remote server 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?

Explicitly tells when to use set_cookie instead (for remote servers). Also implies headed mode for MFA via the headless parameter description. Could provide more guidance on when to use auth_check vs login, but overall clear.

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

money_forward_auth_statusGet Money Forward ME authentication statusA
Read-only

Checks local configuration only; it does not contact Money Forward. Use auth_check to verify that the cookie still works.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior5/5

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

Discloses that it does not contact Money Forward, which goes beyond the readOnlyHint annotation. 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?

Single sentence, front-loaded with the core purpose. No wasted words.

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 zero parameters, output schema, and annotations, the description provides all necessary context. It explains the limitation and suggests an alternative.

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?

No parameters; baseline score is 4 as per rules. Description adds no parameter info, which is unnecessary.

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?

Clearly states it checks local configuration only and does not contact Money Forward. Distinguishes itself from the sibling auth_check.

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?

Explicitly tells when to use auth_check instead, providing clear guidance. However, 'when to use' this tool is only implied.

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

money_forward_get_accountGet Money Forward ME accountsA
Read-only

Returns a flat account-entry list across bank accounts, securities, points, cards, and loans. Assets have positive balance; liabilities have negative balance, so summing balance yields net value. source explains where each row came from.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations provide readOnlyHint and openWorldHint. The description adds value by explaining the sign convention for net value and the source property, giving behavioral context beyond what annotations provide. 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?

The description is very concise with two sentences. The first sentence front-loads the main purpose, and the second adds essential behavioral detail. No wasted words.

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?

Given no parameters and the presence of an output schema (not shown but indicated), the description explains the return structure (flat list, sign convention, source column) sufficiently. No gaps.

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 has no parameters, so schema coverage is 100%. The description does not need to add parameter info, and it adds no param details, which is acceptable. Baseline 4 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 clearly states the tool returns a flat account-entry list across multiple account types, specifying the verb 'returns' and the resource 'account-entry list'. It distinguishes from siblings by emphasizing the flat list nature and including sign convention (assets positive, liabilities negative).

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 obtaining a combined view of all account types but does not explicitly state when to use this tool over siblings like portfolio_summary or liability_summary. No exclusions or alternatives are mentioned.

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

money_forward_get_cashflow_detailsGet Money Forward ME cashflow detailsA
Idempotent

Returns individual cashflow rows. Prefer cashflow_summary for totals and category questions. Pass an explicit month for reproducible results; filters reduce response size.

ParametersJSON Schema
NameRequiredDescriptionDefault
monthNoCalendar month in YYYY-MM format, for example 2026-06
directionNoFilter by cashflow directionall
calculationTargetOnlyNoReturn only rows included in Money Forward calculations

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior1/5

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

Description implies a read-only operation ('returns'), but annotations set readOnlyHint: false, indicating potential side effects. This contradiction misleads the agent about the tool's 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?

Two sentences with no filler. First sentence delivers core purpose; second sentence provides usage tips. Highly efficient and well-structured.

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 3 optional parameters, an output schema, and siblings. The description covers usage but fails to address the behavioral contradiction, leaving the agent uncertain about side effects. Missing essential behavioral context.

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%, baseline 3. The description adds value by explaining that month ensures reproducibility and filters reduce response size, going beyond the schema's basic parameter 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 explicitly states 'Returns individual cashflow rows,' using a specific verb and resource. It distinguishes from the sibling tool 'cashflow_summary' by noting that the summary is for totals and category questions.

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

Usage Guidelines5/5

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

The description provides clear guidance: 'Prefer cashflow_summary for totals and category questions' gives an alternative, and 'Pass an explicit month for reproducible results; filters reduce response size' advises on parameter usage.

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

money_forward_get_cashflow_summaryGet Money Forward ME cashflow summaryA
Idempotent

Returns monthly income, expense, net balance, and category totals. Use this first for monthly analysis; use cashflow_details only when individual rows are needed. Pass month as YYYY-MM for reproducible results.

ParametersJSON Schema
NameRequiredDescriptionDefault
monthNoCalendar month in YYYY-MM format, for example 2026-06

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already indicate idempotentHint=true and openWorldHint=true. Description adds that month should be passed as YYYY-MM for reproducible results, which is useful behavioral context beyond annotations.

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 what the tool returns, no extraneous words.

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 output schema present and 100% schema coverage, the description adequately covers the purpose, usage, and parameter format. No gaps given the tool's simplicity.

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 100% for the single parameter 'month', with pattern and example. Description reinforces the format but adds no new meaning beyond what the schema provides.

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?

Description clearly states it returns monthly income, expense, net balance, and category totals, which is a specific verb and resource. It also distinguishes itself from the sibling cashflow_details.

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

Usage Guidelines5/5

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

Explicitly advises 'Use this first for monthly analysis; use cashflow_details only when individual rows are needed.' Provides clear context on when to use this tool vs. its sibling.

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

money_forward_get_liability_detailsGet Money Forward ME liability detailsA
Read-only

Returns individual liabilities with positive amounts owed, category, description, and institution. For a signed flat account view, use money_forward_get_account instead.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already provide readOnlyHint=true and openWorldHint=true. Description adds that only positive amounts are returned, which is a behavioral filter not captured by annotations. 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 with no wasted words. First sentence states core function; second provides sibling guidance. Front-loaded and efficient.

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?

Given zero parameters, annotations, and output schema, the description is fully sufficient. It specifies the output content and gives an alternative usage context.

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?

Input schema has no parameters, so schema coverage is 100%. Baseline is 3, but description adds no parameter info (none needed). However, describing output fields is helpful despite output schema existing, so slight bonus.

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 it returns individual liabilities with specific fields (positive amounts owed, category, description, institution). It distinguishes the tool from its sibling money_forward_get_account by noting that the sibling provides a signed flat account view.

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

Usage Guidelines5/5

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

Explicitly states when to use this tool (for individual liabilities with positive amounts) and when to use an alternative (money_forward_get_account for signed flat account view). Provides direct sibling reference.

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

money_forward_get_liability_summaryGet Money Forward ME liability summaryA
Read-only

Returns total liabilities and allocation by liability class. Values are positive amounts owed. Use liability_details for individual loans or card balances.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true. Description adds that values are positive amounts owed, which is marginal. Lacks additional behavioral traits like auth needs or data freshness.

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 the primary action, no fluff. Every sentence is valuable.

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?

Output schema exists, annotations cover safety and open-world nature. Description states summary scope, making it complete for a simple end point.

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?

No parameters; baseline 4. Schema coverage 100% so description need not add parameter details.

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?

Description clearly states it returns total liabilities and allocation by liability class, with specific verb 'Returns'. Distinguishes from sibling tool via mention of 'liability_details'.

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

Usage Guidelines5/5

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

Explicitly tells when not to use this tool: 'Use liability_details for individual loans or card balances.' Provides clear context for alternative.

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

money_forward_get_portfolio_detailsGet Money Forward ME portfolio detailsA
Read-only

Returns individual holdings grouped by asset class, with values, institutions, and source-specific fields. This response is larger; use portfolio_summary when holdings are not required.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint and openWorldHint. Description adds that the response is larger, providing useful behavioral context about size/performance without contradicting annotations.

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 conveying purpose, content, and usage guidance without waste. Every sentence earns its place.

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?

Has output schema so return values need not be detailed. Description covers what data is returned (holdings, asset class, values, institutions, source-specific) and notes response size relative to sibling. Complete for a read-only detailed list 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?

No parameters exist; schema coverage is 100%. Baseline for zero parameters is 4, and description adds no parameter information as none needed.

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?

Clearly states the tool returns individual holdings grouped by asset class with values, institutions, and source-specific fields. Distinguishes from sibling money_forward_get_portfolio_summary by noting it returns more detailed data.

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

Usage Guidelines5/5

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

Explicitly advises using portfolio_summary when holdings are not required, giving clear context on when to use this tool versus its lighter-weight sibling.

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

money_forward_get_portfolio_summaryGet Money Forward ME portfolio summaryA
Read-only

Returns total assets and asset-class allocation, including zero-balance classes. Prefer this compact tool for net-worth or allocation questions; use portfolio_details only for individual holdings.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true (safe read) and openWorldHint=true (results may change). The description adds transparency by noting that zero-balance classes are included, which is useful context not in annotations. 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: first states the function, second gives usage advice. No wasted words. Information is front-loaded and direct.

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 no parameters, existing annotations, and an output schema, the description is sufficient for choosing when to use the tool. It could optionally mention output fields, but the output schema covers that.

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, so the description does not need to explain them. Baseline is 4 for no parameters. No additional parameter information is required or provided.

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 returns total assets and asset-class allocation, including zero-balance classes. It distinguishes itself from the sibling 'money_forward_get_portfolio_details' by positioning itself for net-worth/allocation questions vs. individual holdings.

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

Usage Guidelines5/5

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

Explicit guidance is provided: 'Prefer this compact tool for net-worth or allocation questions; use portfolio_details only for individual holdings.' This clearly instructs when to use this tool and when to use an alternative.

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

money_forward_list_manual_accountsList Money Forward ME manual accountsA
Read-only

Lists only custom/manual accounts. Do not use this for linked banks, cards, securities, or loans; use money_forward_get_account for those.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

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

The description adds behavioral context beyond annotations by specifying the scope (only manual accounts). Annotations already indicate readOnlyHint and openWorldHint, so the description's addition of account-type restriction is valued. 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?

The description is extremely concise: one sentence identifying the function and one sentence of guidance. No wasted words; every sentence adds value.

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?

Given the tool's simplicity (no parameters, straightforward purpose, output schema exists), the description is complete. It tells the agent what the tool does and what it does not do, and with the output schema providing return details, the agent has all needed info.

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 no parameters, and the schema coverage is 100%. The description does not need to add parameter details, but it could briefly note that no parameters are required. However, baseline for 0 parameters is 4, so this is adequate.

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 tool name and description clearly state it lists only manual accounts, distinct from linked bank accounts. The description explicitly specifies the resource (custom/manual accounts) and verb (list), and distinguishes it from the sibling money_forward_get_account.

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

Usage Guidelines5/5

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

The description explicitly states when not to use this tool ('Do not use for linked banks, cards, securities, or loans') and provides the alternative tool (money_forward_get_account). This gives the agent clear guidance on tool selection.

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

money_forward_list_manual_assetsList assets in a Money Forward ME manual accountA
Read-only

Lists assets for one custom/manual account. First call money_forward_list_manual_accounts and pass its id exactly.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdYesOpaque id returned by money_forward_list_manual_accounts

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the agent knows it's a safe read operation. The description adds no additional behavioral context (e.g., error handling, rate limits), but it is consistent with annotations.

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 sentence plus a directive, conveying all necessary information without any wasted words. It is concise and 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?

The description, combined with annotations and output schema, is mostly complete. It covers usage, parameter, and safety. Minor omission: no mention of behavior for invalid IDs or empty results, but these are likely covered by error handling.

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 100% with a description for the only parameter. The description reinforces that the ID should be passed exactly, but adds no new meaning beyond the schema's 'Opaque id returned by money_forward_list_manual_accounts'.

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 'Lists assets for one custom/manual account.' It uses the verb 'lists' with a specific resource 'assets' and scope 'for one custom/manual account', distinguishing it from siblings like 'money_forward_list_manual_accounts' which lists accounts.

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

Usage Guidelines5/5

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

The description explicitly provides a prerequisite: 'First call money_forward_list_manual_accounts and pass its id exactly.' This tells the agent exactly when and how to use the tool, offering clear sequential guidance.

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

TDQS

A4.3/5.0
Disambiguation5/5

Each tool targets a distinct action (auth operations, data retrieval for portfolios, liabilities, cashflow, accounts, manual accounts). Descriptions explicitly differentiate between summary vs details and which tool to prefer. No overlaps.

Naming Consistency4/5

All tools share the 'money_forward_' prefix and mostly follow a verb_noun pattern (e.g., get_portfolio_summary, set_cookie). Minor inconsistencies: auth_status and auth_login use a noun/verb after 'auth' rather than a clear verb, but the pattern is strong overall.

Tool Count5/5

14 tools is well-scoped for a personal finance management server. Covers authentication (5 tools) and data retrieval (9 tools) without being overwhelming or too sparse.

Completeness4/5

The tool surface covers all major read operations (portfolio, liabilities, cashflow, accounts) and authentication lifecycle. Lacks write/modify operations, but that appears intentional for a read-only or viewer-focused MCP server.

Maintenance

ActivitySlowing
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
    A
    quality
    A
    maintenance
    An unofficial MCP server for accessing KSEI (AKSes) portfolio data, including cash balances, equity holdings, mutual funds, bonds, and other investments.
    8
    2
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    Unofficial MCP server for querying and managing financial data from Despezzas.
    35
    MIT

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/new-village/money-forward-mcp-community'

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