PlugCat
Server Details
Check if a US bank, credit union or brokerage connects to Monarch, YNAB and other finance apps
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 4 tools
The four tools mostly have distinct roles: list_apps lists apps, search_institutions finds institutions, check_institution returns likely app connectivity, and get_institution returns full per-app details. The main ambiguity is between check_institution and search_institutions, since both search institutions by name, but their descriptions clarify different workflows.
All tool names follow a consistent snake_case verb_noun pattern: check_institution, get_institution, list_apps, search_institutions. The convention is predictable and easy to parse.
With only four tools, the surface is well-scoped for a bank/app connectivity lookup service. Each tool has a clear reason to exist: search, check, detail retrieval, and app listing.
The tool set covers the core read-only workflow: find institutions, check app compatibility, get detailed app-by-app results, and list supported apps. Minor gaps remain, such as a reverse lookup from an app to all compatible institutions, but the main lookup lifecycle is covered.
Available Tools
4 toolscheck_institutionCheck an institutionARead-onlyIdempotentInspect
Find a bank, credit union or brokerage by name and say which finance apps likely connect to it. Pass app to focus on one app. If several institutions share the name, the largest is used and the others are listed; pass state or call get_institution with the right URL.
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | Optional app name or slug: rocket-money, lunch-money, monarch, copilot, ynab, simplifi, tiller, pocketguard, empower, wave, xero, quickbooks. | |
| kind | No | Only return this kind of institution. | |
| name | Yes | Institution name or brand, e.g. "Chase", "Navy Federal", "Fidelity". | |
| state | No | Two-letter US state code, e.g. "TX", to narrow common names. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description still adds real behavior: duplicate names resolve to the largest institution with the others listed, and a documented escalation path to get_institution. Return contents are described only loosely ('which finance apps likely connect').
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with the core purpose front-loaded and the disambiguation rule attached to the parameter that triggers it. No filler, though the 'call get_institution with the right URL' clause is a little compressed and the `app` sentence largely echoes the schema enum.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only lookup with four fully documented parameters and no output schema, this covers the decision points an agent needs: disambiguation, state narrowing, app focus, and where to go on ambiguity. Only the return shape and the boundary with search_institutions remain underspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does add purpose for `state` (narrow common names) and `app` (focus on one app) beyond the enum listing, but it does not explain `kind` or add syntax details the schema lacks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: find a bank, credit union or brokerage by name and report which finance apps likely connect to it. That is far more than a restatement of the name. It does not, however, contrast itself with the close sibling search_institutions, so an agent must infer which one to pick for a partial-name lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete operating guidance: pass `app` to narrow to a single app, pass `state` to disambiguate common names, and fall back to get_institution with the right URL when the name is ambiguous. Missing only an explicit statement of when this beats search_institutions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_institutionGet an institutionARead-onlyIdempotentInspect
Full app-by-app results for one institution: status and reason per app, the name to search for in the app, FAQs and identifiers. Takes a URL or path from search_institutions.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Page URL or path, e.g. "https://plugcat.com/bank/jpmorgan-chase-bank/" or "/credit-union/navy-federal-credit-union/". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds the return payload contents (per-app status, reason, search name, FAQs, identifiers), which matters because there is no output schema. It says nothing about pagination or size limits for an institution with many apps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both dense with content, with the result payload front-loaded before the input requirement. No filler or restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining returns and does so concretely for a single-parameter read tool. The only omission is any indication of result size or truncation behavior for institutions with many apps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single URL parameter already has two concrete examples, so the schema baseline applies. The description adds provenance the schema lacks: the URL should come from search_institutions, which tells the agent how to construct a valid value rather than guessing a path.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the specific resource ('one institution') and enumerates what comes back: per-app status and reason, the name to search for, FAQs, and identifiers. That distinguishes it from list_apps and check_institution, though the retrieval verb is only implied by 'Full app-by-app results' rather than stated outright.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Takes a URL or path from search_institutions' explicitly chains this tool after its sibling, so an agent knows how to obtain the required input. There is no statement of when-not to use it or when check_institution would suffice instead, which keeps it below a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_appsList finance appsARead-onlyIdempotentInspect
The finance apps PlugCat tracks: budgeting apps and accounting tools, the bank-data providers each uses, prices and whether they link investment accounts.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is a read-only, idempotent, closed-world, non-destructive operation. The description adds useful scope beyond the annotations by naming the app categories and the attributes exposed, though it does not explicitly describe the return shape or ordering.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundant or filler language. It conveys the scope of the listing efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-parameter list tool with no output schema, the description gives enough context about what is included: app categories, bank-data providers, prices, and investment-account linkage. It could say more explicitly that it returns the full tracked list, but nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so there are no parameter semantics to document. The description appropriately avoids discussing inputs and focuses on the resource being listed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource: finance apps tracked by PlugCat, including budgeting apps, accounting tools, providers, prices, and investment-account linking. The listing action is implied by the tool name rather than stated as an explicit verb, so it is clear but not fully self-contained.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool, when not to use it, or how it relates to sibling tools such as check_institution or search_institutions. The purpose is inferable, but selection guidance is absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_institutionsSearch institutionsARead-onlyIdempotentInspect
Search 8,500+ US banks, credit unions and brokerages by name (and optionally city). Returns matches with their Plaid status and page URLs, largest institutions first.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | Only return this kind of institution. | |
| limit | No | ||
| query | Yes | Name, brand or "name city", at least 2 characters. | |
| state | No | Two-letter US state code, e.g. "TX", to narrow common names. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds genuine context beyond that: dataset size (8,500+), what each match carries (Plaid status and page URLs), and the result ordering (largest first).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight clauses with the scope and ordering front-loaded and no filler. Every phrase carries information an agent can act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, but the description compensates by stating what matches contain and how they are ordered. Only the limit/truncation behavior is left implicit, which is a minor gap for a simple read-only search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75% and the query parameter is already documented as 'Name, brand or "name city"', so the description's mention of name and city largely restates the schema. It says nothing about the kind or state filters, and the limit parameter is undocumented in both places; baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb plus resource with an explicit scope: 'Search 8,500+ US banks, credit unions and brokerages by name'. It also names the return payload (Plaid status, page URLs) and the ordering (largest first), which makes it clearly distinguishable from the singular check_institution and get_institution siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'search ... by name (and optionally city)' and by mentioning that it returns a list of matches, but there is no explicit statement of when to prefer this over check_institution, get_institution or list_apps, and no exclusions or prerequisites are given.
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.
4 tool updates
- First observed
check_institution - First observed
get_institution - First observed
list_apps - First observed
search_institutions
Related MCP Connectors
Is this bank FDIC-insured, healthy and open? Bank profiles, ROA/ROE and failures from FDIC.
Read-only access to your own bank, card and brokerage accounts for Claude, ChatGPT and other AI agents: balances, transactions, spending, subscriptions, cashflow and investment holdings. It can never move money.
Connect AI agents to bank accounts, transactions, balances, and investments.
Read-only bank & investment accounts via Plaid: balances, holdings, transactions, SQL analytics.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceConnect AI agents to real bank accounts across 15,000+ financial institutions for transactions, balances, investments, and loans.2MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to access and manage personal financial data from US institutions and manual entries, including transactions, balances, liabilities, and investments.MIT
- AlicenseNot gradedqualityCmaintenanceConnects Brazilian banks (Itaú, Bradesco, Nubank, etc.) to AI agents, enabling natural language queries about expenses, statements, investments, and credit cards via regulated Open Finance.27MIT
- AlicenseBqualityDmaintenanceComprehensive Monarch Money integration with read and write support for accounts, transactions, budgets, cashflow, credit history, and more. Secure browser-based auth with tokens stored in the OS keychain. Installs in one click via .mcpb for Claude Desktop.25219 PyPI13MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.