Skip to main content
Glama
eliaskress

FlowCheck Financial API MCP Server

by eliaskress

@flowcheck/mcp-server

MCP server for the FlowCheck API — give Claude, Cursor, or any MCP client access to your Stripe payouts and bank transactions.

Setup

Claude Code

claude mcp add flowcheck \
  --transport stdio \
  --env FLOWCHECK_API_KEY=fc_live_... \
  -- npx -y @flowcheck/mcp-server

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "flowcheck": {
      "command": "npx",
      "args": ["-y", "@flowcheck/mcp-server"],
      "env": {
        "FLOWCHECK_API_KEY": "fc_live_..."
      }
    }
  }
}

Cursor

Add to your .cursor/mcp.json:

{
  "mcpServers": {
    "flowcheck": {
      "command": "npx",
      "args": ["-y", "@flowcheck/mcp-server"],
      "env": {
        "FLOWCHECK_API_KEY": "fc_live_..."
      }
    }
  }
}

Related MCP server: aman-mcp

Environment variables

Variable

Required

Description

FLOWCHECK_API_KEY

Yes

Your FlowCheck API key (fc_live_... or fc_test_...)

FLOWCHECK_BASE_URL

No

Override the API base URL (default: https://developer.usepopup.com/api/v0)

Available tools

Tool

Parameters

Description

flowcheck_register

email

Create account (no key needed)

flowcheck_get_registration_status

token

Check registration / retrieve API key

flowcheck_get_balance

Stripe + bank balances

flowcheck_get_cashflow

window? (7d, 30d, 90d)

Revenue, expenses, net by day

flowcheck_list_payouts

status?, from?, to?, limit?, cursor?

Stripe payouts with match status

flowcheck_get_payout

id

Single payout with bank match

flowcheck_list_transactions

from?, to?, limit?, cursor?

Bank transactions from Plaid

flowcheck_list_discrepancies

status?, type?, limit?, cursor?

Missing or mismatched amounts

flowcheck_get_reconciliation_summary

30-day financial health score

flowcheck_get_reconciliation

payout_id

Per-payout reconciliation detail

flowcheck_get_position

Full financial snapshot for AI agents

flowcheck_get_alerts

Active issues and discrepancies

flowcheck_connect_stripe

restricted_key

Connect Stripe account

flowcheck_create_plaid_link_token

Start Plaid bank connection

flowcheck_exchange_plaid_token

public_token

Complete Plaid connection

flowcheck_list_webhooks

List webhook endpoints

flowcheck_create_webhook

url, events

Register webhook endpoint

flowcheck_delete_webhook

id

Remove webhook endpoint

Example prompts

After connecting the MCP server, try asking:

  • "What's my current balance across Stripe and my bank?"

  • "Show me last week's payouts and whether they all landed in my bank"

  • "Are there any missing deposits or discrepancies?"

  • "What did we make this month?"

  • "Give me a financial health summary"

Get an API key

Sign up at developer.usepopup.com to get your API key. 7-day free trial with 100 credits included.

License

MIT

Available Tools

22 tools
flowcheck_connect_shopifyConnect ShopifyA

Connect a Shopify store. Orders and payouts will sync automatically. The access token must have read access to Orders and Payouts. FlowCheck encrypts it with AES-256-GCM.

ParametersJSON Schema
NameRequiredDescriptionDefault
shopYesShopify store domain (e.g. my-store.myshopify.com)
access_tokenYesShopify access token (shpat_...)

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses key behavioral traits: automatic syncing of orders and payouts, encryption of the access token with AES-256-GCM, and the required token permissions. This covers operational aspects and security practices, though it could add more on error handling 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 concise and front-loaded, with three sentences that each add value: stating the action and outcome, specifying token requirements, and noting encryption. There is no wasted text, and it efficiently communicates essential information.

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 annotations and no output schema, the description does well by covering the tool's purpose, behavior, and prerequisites. However, it lacks details on return values (e.g., success confirmation or error responses) and could mention potential side effects or limitations, leaving minor gaps in completeness.

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 fully documents the parameters (shop domain and access token). The description adds minimal semantics beyond the schema, such as specifying the token must have 'read access to Orders and Payouts', but this is marginal. Baseline 3 is appropriate as the schema does the heavy lifting.

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 specific action ('Connect a Shopify store') and resource ('Shopify store'), and distinguishes it from siblings like 'flowcheck_connect_stripe' by specifying the platform. It includes the outcome ('Orders and payouts will sync automatically'), making the purpose explicit and distinct.

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 connecting a Shopify store, but does not explicitly state when to use this tool versus alternatives (e.g., other 'connect' tools like Stripe) or provide exclusions. It mentions prerequisites ('access token must have read access to Orders and Payouts'), which offers some context, but lacks clear comparative guidance.

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

flowcheck_connect_stripeConnect StripeB

Connect a Stripe account using a restricted API key. The key must have read access to Payouts and Balance. FlowCheck encrypts it with AES-256-GCM.

ParametersJSON Schema
NameRequiredDescriptionDefault
restricted_keyYesStripe restricted API key (rk_live_... or rk_test_...)

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It adds some context: the tool encrypts the key with AES-256-GCM, which hints at security handling, and specifies required permissions (read access to Payouts and Balance). However, it lacks details on outcomes (e.g., what happens after connection, error conditions, or side effects), which is a gap for a mutation 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?

The description is concise and front-loaded, with two sentences that directly address the tool's purpose and key details. There's no wasted text, though it could be slightly more structured by separating usage instructions from behavioral notes.

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

Completeness3/5

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

Given the tool's complexity (a mutation with security implications), no annotations, and no output schema, the description is incomplete. It covers the basic action and encryption but misses critical details like response format, error handling, and integration context, making it only minimally adequate.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents the parameter 'restricted_key' with its type and format. The description adds marginal value by reiterating the key type and required permissions, but doesn't provide additional semantics beyond what the schema specifies, such as validation rules or examples.

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 action ('Connect a Stripe account') and the method ('using a restricted API key'), which is specific and actionable. However, it doesn't explicitly differentiate this tool from sibling tools like 'flowcheck_connect_shopify' or 'flowcheck_register', which might also involve account connections or registrations.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It mentions the key requirements but doesn't specify prerequisites, context (e.g., initial setup vs. reconnection), or exclusions, leaving the agent to infer usage from the tool name alone.

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

flowcheck_create_webhookCreate WebhookA

Register a new HTTPS webhook endpoint. Returns a signing secret for HMAC-SHA256 verification. Available events: payout.matched, payout.discrepancy, payout.missing, refund.detected, balance.threshold

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesHTTPS webhook URL you own
eventsYesEvents to subscribe to

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses key behavioral traits: it returns a signing secret for HMAC-SHA256 verification and lists available events, which adds context beyond basic creation. However, it doesn't cover aspects like rate limits, error handling, or whether the operation is idempotent, leaving gaps for a mutation 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?

The description is front-loaded with the core action and return value, followed by a concise list of events. Every sentence earns its place with no wasted words, making it efficient and easy to parse.

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

Completeness3/5

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

Given no annotations and no output schema, the description is moderately complete for a creation tool. It covers the purpose and return value but lacks details on error cases, authentication requirements, or how the signing secret should be used, which are important for a webhook setup.

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 fully documents the parameters (url and events). The description adds minimal value by implying the URL must be HTTPS and owned by the user, but this is already covered in the schema's format and description. Baseline 3 is appropriate as the schema does the heavy lifting.

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 action ('Register a new HTTPS webhook endpoint') and resource ('webhook'), making the purpose evident. However, it doesn't explicitly differentiate from sibling tools like 'flowcheck_list_webhooks' or 'flowcheck_delete_webhook' beyond the verb 'create' vs 'list/delete', missing a direct comparison.

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 by listing available events, suggesting it's for subscribing to specific financial events. However, it lacks explicit guidance on when to use this tool versus alternatives (e.g., 'flowcheck_list_webhooks' for viewing existing webhooks) or prerequisites like authentication needs.

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

flowcheck_delete_webhookDelete WebhookC

Remove a registered webhook endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesWebhook endpoint ID

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. While 'Remove' implies a destructive operation, it doesn't specify whether this action is reversible, what permissions are required, what happens to associated data, or what the response looks like (success confirmation vs error).

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, efficient sentence with zero wasted words. It's front-loaded with the core action and resource, making it immediately scannable and understandable.

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

Completeness2/5

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

For a destructive operation with no annotations and no output schema, the description is inadequate. It doesn't explain what 'removing' entails, what confirmation or data is returned, error scenarios, or dependencies on other tools. Given the complexity of webhook management, more context is needed.

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

Parameters3/5

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

The schema has 100% description coverage, with the single parameter 'id' clearly documented as 'Webhook endpoint ID'. The description adds no additional parameter information beyond what's already in the schema, so it meets the baseline for high schema coverage.

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 action ('Remove') and resource ('a registered webhook endpoint'), making the tool's purpose immediately understandable. However, it doesn't differentiate itself from potential alternatives or siblings beyond the obvious 'delete' vs 'create/list' distinction.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (like needing an existing webhook ID), error conditions, or relationships with sibling tools like 'flowcheck_list_webhooks' or 'flowcheck_create_webhook'.

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

flowcheck_exchange_plaid_tokenExchange Plaid TokenA

Exchange a Plaid public token (from Link) for permanent access. Call this after the user completes Plaid Link in the browser.

ParametersJSON Schema
NameRequiredDescriptionDefault
public_tokenYesPlaid public token from the Link flow

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 carries full burden. It mentions the tool exchanges a token for 'permanent access,' hinting at a write operation with lasting effects, but lacks details on authentication requirements, error conditions, rate limits, or what 'permanent access' entails (e.g., scope, revocability). This is a significant gap for a mutation tool with zero annotation coverage.

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 concise sentences with zero waste: the first states the purpose, and the second provides usage timing. It is front-loaded with the core action and efficiently conveys essential information 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?

Given the tool's complexity (a mutation with no annotations and no output schema), the description is adequate but incomplete. It covers purpose and timing well, but lacks behavioral details (e.g., authentication, errors) and output information. For a tool that likely returns an access token or confirmation, the absence of output schema or description of return values is a notable gap.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents the single parameter ('public_token') with its description. The description adds minimal value beyond the schema by noting the token comes 'from Link,' but doesn't provide additional syntax, format, or validation details. Baseline 3 is appropriate when the schema handles parameter documentation.

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 specific action ('Exchange a Plaid public token for permanent access') and resource ('Plaid token'), distinguishing it from siblings like 'flowcheck_create_plaid_link_token' (which creates tokens) and 'flowcheck_connect_*' tools (which connect to other services). It precisely defines the tool's function without ambiguity.

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 to use this tool ('Call this after the user completes Plaid Link in the browser'), providing clear temporal context. It also implies an alternative ('flowcheck_create_plaid_link_token' for obtaining the token first), though it doesn't explicitly name it, the guidance is sufficient for correct sequencing.

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

flowcheck_get_alertsActive AlertsB

Get active alerts and discrepancies. Returns severity-categorized alerts (high/medium/low) with summaries and related payout IDs.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states what the tool returns, not how it behaves. It doesn't disclose whether this is a read-only operation, if it requires authentication, rate limits, pagination, or what happens when no alerts exist. For a tool with zero annotation coverage, this is insufficient behavioral disclosure.

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 concise sentences that efficiently convey the core functionality and return format. The description is appropriately sized for a zero-parameter tool, though it could be slightly more structured by separating purpose from output details.

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

Completeness3/5

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

Given the tool has no parameters, no annotations, and no output schema, the description provides basic purpose and output format but lacks important context. It doesn't explain the relationship between 'alerts' and 'discrepancies', how the data is sourced, or what constitutes 'active' versus historical alerts, leaving gaps for the agent.

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 0 parameters with 100% schema description coverage, so the schema fully documents the empty input. The description appropriately doesn't discuss parameters since none exist, earning a baseline 4 for not adding unnecessary information.

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's purpose: 'Get active alerts and discrepancies' with specific output details (severity-categorized alerts with summaries and payout IDs). It distinguishes itself from siblings like 'flowcheck_list_discrepancies' by focusing on active alerts rather than listing all discrepancies, but doesn't explicitly contrast with that sibling.

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 this tool versus alternatives like 'flowcheck_list_discrepancies' or 'flowcheck_get_reconciliation'. The description implies it's for retrieving current alerts, but provides no context about prerequisites, timing, 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.

flowcheck_get_balanceGet BalanceA

Get combined Stripe and bank balances in one call. Returns available/pending Stripe balance and Plaid bank balance. All amounts are in cents (USD).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries full burden and does well by disclosing key behavioral traits: it combines multiple data sources (Stripe and bank via Plaid), returns specific balance types (available/pending), and specifies currency units (cents in USD). However, it doesn't mention rate limits, authentication needs, or error conditions.

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 perfectly concise with three tightly packed sentences that each add essential information: what it retrieves, what data it returns, and currency details. Zero wasted words.

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

Completeness4/5

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

For a zero-parameter tool with no annotations and no output schema, the description provides excellent context about what data is returned and in what format. It could be more complete by mentioning authentication requirements or typical response structure, but covers the essentials well.

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 with 100% schema coverage, so the baseline is 4. The description appropriately adds no parameter information since none exist, focusing instead on what the tool returns.

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 with specific verbs ('Get combined Stripe and bank balances') and resources ('Stripe and bank balances'), distinguishing it from siblings like flowcheck_get_cashflow or flowcheck_get_position by specifying the exact balance types returned.

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 retrieving combined financial balances, but doesn't explicitly state when to use this tool versus alternatives like flowcheck_get_cashflow or flowcheck_get_position. No guidance on prerequisites or exclusions is provided.

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

flowcheck_get_cashflowGet Cash FlowC

Get daily inflow/outflow breakdown over a time window. Returns totals and per-day values. All amounts in cents.

ParametersJSON Schema
NameRequiredDescriptionDefault
windowNoTime window (default: 30d)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions that amounts are in cents, which is useful context, but lacks critical details such as whether this is a read-only operation, any authentication requirements, rate limits, or error handling. For a financial data tool, this is a significant gap in transparency.

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 and front-loaded, with three sentences that efficiently convey the core functionality, return values, and unit of measurement. There is no wasted text, and it's structured to prioritize key information, though it could be slightly more polished for readability.

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

Completeness3/5

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

Given the tool's complexity (a single parameter with full schema coverage, no output schema, and no annotations), the description is moderately complete. It covers what the tool does and the output format but lacks behavioral context and usage guidelines. Without an output schema, it should ideally explain return values more thoroughly, but it does mention 'totals and per-day values' and 'amounts in cents', which helps.

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

Parameters3/5

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

The input schema has 100% description coverage, with the 'window' parameter documented as 'Time window (default: 30d)' and an enum of options. The description adds no additional parameter semantics beyond what the schema provides, such as explaining the meaning of '7d', '30d', or '90d' in context. Since schema coverage is high, the baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the tool's purpose: 'Get daily inflow/outflow breakdown over a time window' specifies the verb ('Get') and resource ('daily inflow/outflow breakdown'), and 'Returns totals and per-day values' clarifies the output. However, it doesn't explicitly differentiate from sibling tools like 'flowcheck_get_balance' or 'flowcheck_list_transactions', which might also provide financial data.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It mentions a time window but doesn't explain why one would choose this over other tools like 'flowcheck_get_balance' for balance information or 'flowcheck_list_transactions' for transaction details. There are no explicit when/when-not instructions or named alternatives.

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

flowcheck_get_payoutGet PayoutB

Get a single payout (Stripe or Shopify) with matched bank transaction details and confidence score.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesStripe payout ID

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions the output includes 'matched bank transaction details and confidence score,' which adds some behavioral context beyond a basic 'get' operation. However, it lacks details on permissions, error handling, rate limits, or whether this is a read-only operation, leaving significant gaps for a tool that likely accesses financial data.

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, efficient sentence that front-loads the core action ('Get a single payout') and includes key details without redundancy. Every word contributes to understanding the tool's scope and output.

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

Completeness3/5

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

Given the tool's moderate complexity (financial data retrieval) and lack of annotations or output schema, the description is minimally adequate. It covers the basic purpose and output features but misses critical context like authentication needs, data sources (Stripe/Shopify specifics), and return format, which could hinder effective use by 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%, with one parameter ('id') clearly documented as a 'Stripe payout ID.' The description doesn't add any parameter-specific semantics beyond what the schema provides, such as format examples or cross-platform considerations (e.g., Shopify vs. Stripe IDs). Baseline 3 is appropriate given high schema coverage.

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's purpose: retrieving a single payout with specific details (matched bank transaction details and confidence score). It specifies the resource (payout) and the scope (single, with enhanced data), though it doesn't explicitly differentiate from sibling tools like 'flowcheck_list_payouts' beyond implying single vs. list operations.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a payout ID), contrast with 'flowcheck_list_payouts' for multiple payouts, or specify contexts where this detailed view is preferred over a summary.

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

flowcheck_get_positionFinancial PositionB

Get a 7-day financial summary designed for AI agents. Returns balances, payout counts, cash flow, health score, and open discrepancies in a single call.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It discloses the 7-day timeframe and that it returns aggregated data (summary), which are useful behavioral traits. However, it lacks details on authentication needs, rate limits, error handling, or whether it's read-only (implied by 'Get' but not explicit).

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, well-structured sentence that front-loads the core action ('Get a 7-day financial summary') and efficiently lists key outputs. Every word adds value without redundancy, making it highly concise and easy to parse.

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

Completeness3/5

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

Given the tool has no parameters, no annotations, and no output schema, the description provides a clear purpose and output scope. However, it lacks details on behavioral aspects like authentication or error handling, and doesn't fully address how it differs from sibling tools, leaving some gaps in context for an AI agent.

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 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, maintaining focus on the tool's purpose and output. A baseline of 4 is applied as it compensates for the lack of parameters by describing the output scope.

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's purpose: 'Get a 7-day financial summary' with specific outputs (balances, payout counts, etc.). It uses a specific verb ('Get') and resource ('financial summary'), but doesn't explicitly differentiate from siblings like 'flowcheck_get_balance' or 'flowcheck_get_cashflow' which appear to provide more granular data.

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

Usage Guidelines2/5

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

The description mentions the summary is 'designed for AI agents' and returns multiple data points 'in a single call', which implies efficiency benefits. However, it provides no explicit guidance on when to use this tool versus alternatives like the sibling tools that fetch individual components (e.g., 'flowcheck_get_balance'), nor any prerequisites or exclusions.

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

flowcheck_get_reconciliationReconciliation DetailB

Get detailed reconciliation for a specific payout. Shows confidence score breakdown (amount, date, description, bank ID) and the matched bank transaction.

ParametersJSON Schema
NameRequiredDescriptionDefault
payout_idYesStripe payout ID

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 full burden. It describes what the tool returns (confidence score breakdown and matched bank transaction) but doesn't disclose behavioral traits like whether this is a read-only operation, potential rate limits, authentication requirements, error conditions, or data freshness. For a tool with no annotation coverage, this leaves significant gaps in understanding how it behaves.

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 efficiently structured in a single sentence that front-loads the core purpose ('Get detailed reconciliation for a specific payout') followed by specific output details. Every word earns its place with no redundancy or unnecessary elaboration, making it easy to scan and understand quickly.

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

Completeness3/5

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

Given the tool has no annotations and no output schema, the description provides basic completeness by explaining what information is returned (confidence score breakdown and matched bank transaction). However, for a tool that presumably returns complex reconciliation data, it doesn't describe the structure of the confidence score breakdown, what 'matched bank transaction' entails, or potential error scenarios. This is adequate but has clear gaps in contextual detail.

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

Parameters3/5

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

The input schema has 100% description coverage (payout_id is clearly documented as 'Stripe payout ID'), so the baseline is 3. The description doesn't add any parameter-specific information beyond what the schema provides—it mentions 'specific payout' but doesn't elaborate on parameter format, validation, or examples. This meets the minimum viable standard when schema coverage is complete.

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's purpose: 'Get detailed reconciliation for a specific payout' specifies the verb (get) and resource (reconciliation detail). It distinguishes from sibling tools like 'flowcheck_get_reconciliation_summary' by emphasizing 'detailed' breakdown, though it doesn't explicitly name the sibling for comparison.

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 context by specifying 'for a specific payout' and mentioning confidence score breakdown components, suggesting it's used when detailed reconciliation analysis is needed. However, it doesn't provide explicit guidance on when to choose this over alternatives like 'flowcheck_get_reconciliation_summary' or 'flowcheck_list_discrepancies', nor does it mention prerequisites or exclusions.

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

flowcheck_get_reconciliation_summaryReconciliation SummaryB

Get 30-day reconciliation health score. Returns matched/unmatched counts, total amounts, and number of open discrepancies.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. While it states what data is returned, it doesn't mention important behavioral aspects like whether this is a read-only operation, authentication requirements, rate limits, or whether the data is real-time versus cached. The description is minimal and lacks behavioral context.

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 - a single sentence that efficiently communicates the tool's purpose and return values. Every word earns its place, with no wasted text or redundancy. The structure is front-loaded with the core purpose.

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

Completeness3/5

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

For a zero-parameter tool with no output schema, the description provides the essential information about what data is returned. However, without annotations and with no output schema, it lacks details about the return format, data freshness, or any limitations. Given the complexity of financial reconciliation data, more context would be helpful.

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 (schema coverage is 100%), so the description doesn't need to explain any parameters. The baseline for zero parameters is 4, as there are no parameters whose semantics need clarification beyond what the schema already provides.

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's purpose with a specific verb ('Get') and resource ('30-day reconciliation health score'), and specifies what information is returned. However, it doesn't explicitly differentiate this tool from sibling reconciliation-related tools like 'flowcheck_get_reconciliation' or 'flowcheck_list_discrepancies'.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. There are several sibling tools that appear related to reconciliation (flowcheck_get_reconciliation, flowcheck_list_discrepancies), but the description offers no comparison or context for choosing this specific summary tool over those alternatives.

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

flowcheck_get_registration_statusRegistration StatusA

Check registration status and retrieve the API key after checkout. The API key is only returned once. No API key required.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesRegistration token from flowcheck_register

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It adds valuable context: the API key is returned only once (idempotency behavior) and 'No API key required' (authentication needs). This covers key traits like idempotency and auth, though it lacks details on rate limits, error handling, or response format, which would be helpful for a tool with no output 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 appropriately sized and front-loaded, with two concise sentences that directly convey purpose and key behavioral notes. Every sentence earns its place by providing essential information without redundancy or fluff.

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

Completeness3/5

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

Given the tool's moderate complexity (1 parameter, no annotations, no output schema), the description is adequate but has gaps. It explains the purpose and some behavior but doesn't detail the response format (e.g., what fields are returned besides the API key) or error conditions. With no output schema, more completeness would be beneficial, but it meets minimum viability.

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

Parameters3/5

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

Schema description coverage is 100%, with the parameter 'token' fully documented in the schema. The description adds no additional meaning beyond the schema, such as format examples or usage notes for the token. According to the rules, with high schema coverage (>80%), the baseline is 3 even without param info in the description.

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's purpose: 'Check registration status and retrieve the API key after checkout.' It specifies the verb ('check' and 'retrieve') and resource ('registration status' and 'API key'), distinguishing it from siblings like flowcheck_register (which likely initiates registration). However, it doesn't explicitly differentiate from all siblings, such as flowcheck_get_balance or flowcheck_get_payout, which also retrieve data.

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

Usage Guidelines4/5

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

The description provides clear context for usage: 'after checkout' and 'The API key is only returned once.' This implies it should be used post-registration to confirm status and obtain the key, with a note on idempotency. However, it doesn't explicitly state when not to use it or name alternatives (e.g., flowcheck_register for initial registration), which prevents a score of 5.

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

flowcheck_list_discrepanciesList DiscrepanciesB

List open discrepancies: missing bank deposits, amount mismatches, and timing alerts. Filter by status and type.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by discrepancy status
typeNoFilter by discrepancy type
limitNoResults per page (default 50, max 100)
cursorNoPagination cursor from previous response

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'List open discrepancies' and filtering, but doesn't cover critical aspects like whether this is a read-only operation, pagination behavior (implied by cursor but not explained), rate limits, authentication needs, or what the response format looks like. It provides basic action but lacks operational details.

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

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the core purpose ('List open discrepancies') and includes key details (examples and filtering). Every word contributes value with zero waste, making it appropriately sized and well-structured.

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

Completeness3/5

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

Given no annotations and no output schema, the description is incomplete for a tool with four parameters and list functionality. It covers the basic purpose and filtering but omits behavioral context (e.g., pagination, response format) and usage guidelines versus siblings. It's minimally adequate but has clear gaps in operational transparency.

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 fully documents all four parameters. The description adds minimal value beyond the schema by mentioning 'Filter by status and type,' which aligns with the schema's enum descriptions. No additional parameter semantics are provided, meeting the baseline for high schema coverage.

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's purpose: 'List open discrepancies' with specific examples (missing bank deposits, amount mismatches, timing alerts). It distinguishes itself from siblings like flowcheck_get_alerts or flowcheck_get_reconciliation by focusing specifically on discrepancies, though it doesn't explicitly contrast with those tools.

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

Usage Guidelines3/5

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

The description implies usage context through 'Filter by status and type,' suggesting when to apply parameters. However, it lacks explicit guidance on when to use this tool versus alternatives like flowcheck_get_alerts or flowcheck_get_reconciliation, and doesn't mention prerequisites or exclusions.

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

flowcheck_list_payoutsList PayoutsA

List Stripe and Shopify payouts with reconciliation status. Filter by source, status, and date range. Returns paginated results with match confidence scores. Amounts in cents.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceNoFilter by payout source
statusNoFilter by payout status
fromNoStart date filter (YYYY-MM-DD)
toNoEnd date filter (YYYY-MM-DD)
limitNoResults per page (default 50, max 100)
cursorNoPagination cursor from previous response

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries full burden and does well by disclosing key behaviors: pagination, match confidence scores, and amount formatting ('Amounts in cents'). It doesn't mention rate limits, authentication requirements, or error conditions, but provides substantial operational context.

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?

Three concise sentences with zero waste: first states purpose and scope, second covers filtering capabilities, third discloses return format and units. Every sentence adds essential information.

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 list tool with 6 parameters, 100% schema coverage, and no output schema, the description provides good context about return format (paginated, confidence scores, amount units). It could mention typical use cases or relationship to other reconciliation tools, but covers the essential operational aspects well.

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 all parameters thoroughly. The description adds marginal value by mentioning filtering by source, status, and date range, but doesn't provide additional semantic context beyond what's in the schema. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action ('List'), resources ('Stripe and Shopify payouts'), and includes specific scope ('with reconciliation status'). It distinguishes from sibling tools like flowcheck_get_payout (singular) and flowcheck_list_transactions (different resource).

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 through filter parameters (source, status, date range) but doesn't explicitly state when to use this tool versus alternatives like flowcheck_get_payout or flowcheck_list_transactions. No guidance on prerequisites or exclusions is provided.

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

flowcheck_list_transactionsList TransactionsA

List bank transactions from Plaid. Deposits appear as negative amounts. Filter by date range. Paginated.

ParametersJSON Schema
NameRequiredDescriptionDefault
fromNoStart date filter (YYYY-MM-DD)
toNoEnd date filter (YYYY-MM-DD)
limitNoResults per page (default 50, max 100)
cursorNoPagination cursor from previous response

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It adds useful context: deposits appear as negative amounts, filtering by date range is supported, and results are paginated. However, it doesn't cover critical aspects like authentication requirements, rate limits, error conditions, or what the paginated response structure looks like, leaving gaps for a tool with no annotation coverage.

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 and front-loaded, consisting of three short sentences that efficiently convey key information: what it does, a critical data quirk (negative deposits), and two behavioral traits (filtering, pagination). Every sentence earns its place with no wasted words.

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

Completeness3/5

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

Given no annotations and no output schema, the description is incomplete for a tool with behavioral complexity. It covers basic functionality and some data semantics (negative deposits), but lacks details on authentication, error handling, response format, or pagination mechanics. For a list tool with pagination and no structured output, more context would be helpful.

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 fully documents all four parameters (from, to, limit, cursor). The description adds no additional parameter semantics beyond what's in the schema—it mentions filtering by date range and pagination, which are already covered by the schema's parameter descriptions. Baseline 3 is appropriate when the schema does the heavy lifting.

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's purpose: listing bank transactions from Plaid. It specifies the resource (bank transactions) and source (Plaid), distinguishing it from siblings like flowcheck_get_balance or flowcheck_list_payouts. However, it doesn't explicitly differentiate from flowcheck_get_cashflow or flowcheck_list_discrepancies, which might also involve transaction data, leaving 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 Guidelines3/5

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

The description implies usage for listing transactions with date filtering and pagination, but provides no explicit guidance on when to use this tool versus alternatives like flowcheck_get_cashflow or flowcheck_list_discrepancies. It mentions filtering by date range, which suggests context, but lacks clear when/when-not instructions or named alternatives.

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

flowcheck_list_webhooksList WebhooksB

List all registered webhook endpoints with their events and status.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/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 full burden. It states the tool lists webhooks but doesn't disclose behavioral traits like whether it requires authentication, returns paginated results, or includes error handling. This is a significant gap for a tool with no annotation coverage.

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, efficient sentence that front-loads the core purpose ('List all registered webhook endpoints') and adds useful detail ('with their events and status') without any wasted words, making it easy for an agent to parse quickly.

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

Completeness2/5

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

Given no annotations and no output schema, the description is incomplete. It lacks information on return values (e.g., format of listed webhooks), error conditions, or operational constraints, which are critical for an agent to use this tool effectively in a real-world 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?

The input schema has 0 parameters with 100% coverage, so no parameter information is needed. The description appropriately adds no parameter details, avoiding redundancy. Baseline is 4 for 0 parameters, as it doesn't need to compensate for any schema gaps.

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

Purpose5/5

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

The description clearly states the specific action ('List all registered webhook endpoints') and the resources involved ('with their events and status'), distinguishing it from siblings like flowcheck_create_webhook or flowcheck_delete_webhook by focusing on retrieval rather than creation or deletion.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites, such as needing registered webhooks first, or contrast with other listing tools like flowcheck_list_payouts or flowcheck_list_transactions, leaving the agent to infer usage context.

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

flowcheck_registerRegister AccountA

Create a new FlowCheck account. Returns a registration token and checkout URL. No API key required.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesEmail address for the new account

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes the action ('Create'), outcome ('Returns a registration token and checkout URL'), and a key constraint ('No API key required'), which are useful. However, it lacks details on permissions, rate limits, error handling, or whether the action is idempotent, leaving gaps for a mutation 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?

The description is extremely concise and front-loaded, with two sentences that efficiently convey the action, outcome, and a key constraint. Every word earns its place, and there is no redundant or verbose language, making it easy to parse quickly.

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 (a simple account creation with one parameter) and the lack of annotations and output schema, the description is reasonably complete. It covers the purpose, outcome, and a constraint, but could benefit from more behavioral details (e.g., response format or error cases) to fully compensate for the missing structured data.

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

Parameters3/5

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

Schema description coverage is 100%, with the single parameter 'email' fully documented in the schema. The description does not add any parameter-specific information beyond what the schema provides (e.g., format or validation rules), so it meets the baseline for high schema coverage without compensating with extra insights.

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 specific action ('Create a new FlowCheck account') and resource ('account'), distinguishing it from siblings like 'flowcheck_get_registration_status' (which checks status) and 'flowcheck_connect_shopify' (which connects services). It explicitly mentions the outcome ('Returns a registration token and checkout URL'), making the purpose unambiguous.

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

Usage Guidelines4/5

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

The description provides clear context for when to use this tool ('Create a new FlowCheck account') and includes a helpful prerequisite ('No API key required'), which guides usage. However, it does not explicitly state when not to use it or name alternatives (e.g., 'flowcheck_get_registration_status' for checking existing accounts), missing full differentiation.

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

flowcheck_syncSync IntegrationsA

Trigger a full sync of all connected integrations (Stripe, Shopify, Plaid) and run reconciliation. Returns which sources were synced, how many records were processed, and reconciliation results. Rate limited to 1 sync per 5 minutes.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key traits: it triggers an action ('Trigger a full sync'), specifies rate limits ('Rate limited to 1 sync per 5 minutes'), and outlines the outcome ('Returns which sources were synced, how many records were processed, and reconciliation results'). This covers operational constraints and expected behavior well.

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 front-loaded with the core action and scope, followed by return details and rate limits in a single, efficient sentence. Every part adds value without waste, making it easy to parse and understand quickly.

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 (triggering syncs and reconciliation) and lack of annotations or output schema, the description does a good job explaining what the tool does, its constraints, and what it returns. However, it could be more complete by detailing error conditions or prerequisites (e.g., requiring connected integrations), but it covers the essentials adequately.

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 0 parameters, and schema description coverage is 100%, so no parameter information is needed. The description appropriately focuses on the tool's action and output without redundant parameter details, meeting the baseline for a parameterless tool.

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 specific action ('Trigger a full sync of all connected integrations') and resources involved ('Stripe, Shopify, Plaid'), distinguishing it from sibling tools that handle individual connections or other operations. It goes beyond just restating the name/title by specifying the scope and purpose.

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 context by mentioning 'all connected integrations' and 'run reconciliation', suggesting this tool is for batch synchronization rather than individual operations. However, it does not explicitly state when to use it versus alternatives like syncing individual sources or checking sync status, nor does it provide exclusions or prerequisites.

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

flowcheck_topupTop Up CreditsA

Buy 100 API credits for $5.00 using the payment method on file. Returns the new credit balance. Requires an active Stripe subscription.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key traits: it's a purchase action (implying mutation and payment), specifies the payment method ('using the payment method on file'), mentions the return value ('Returns the new credit balance'), and states a prerequisite ('Requires an active Stripe subscription'). However, it doesn't cover potential errors, rate limits, or idempotency, leaving some gaps.

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

Conciseness5/5

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

The description is front-loaded with the core action in the first sentence, followed by return value and prerequisite in subsequent sentences. Every sentence adds essential information without waste, making it highly efficient and well-structured for quick understanding.

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 (a purchase operation with financial implications), no annotations, no output schema, and 0 parameters, the description does well by covering purpose, usage, behavior, and prerequisites. However, it lacks details on error cases or confirmation steps, which could be important for a transactional tool, leaving minor gaps in completeness.

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 0 parameters with 100% coverage, so the baseline is 4. The description adds no parameter-specific information (as there are none), but it does imply context about the transaction (e.g., fixed amount of credits and price), which aligns with the lack of parameters. No compensation is needed, and it maintains clarity.

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 specific action ('Buy 100 API credits for $5.00') and resource ('credits'), distinguishing it from siblings like 'flowcheck_get_balance' (which reads balance) or 'flowcheck_upgrade' (which likely changes subscription tier). It precisely defines what the tool does without being vague or tautological.

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 to use this tool ('Buy 100 API credits for $5.00') and includes prerequisites ('Requires an active Stripe subscription'), guiding the agent on necessary conditions. It implicitly distinguishes from alternatives like 'flowcheck_get_balance' (for checking) or 'flowcheck_upgrade' (for subscription changes), though it doesn't name them directly, 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.

flowcheck_upgradeUpgrade PlanA

Create a Stripe Checkout session to upgrade your plan. Returns a checkout URL the user must visit to complete payment. Plans: starter ($4.99/mo, 1,000 credits), growth ($19/mo, 5,000 credits), pro ($49/mo, 15,000 credits).

ParametersJSON Schema
NameRequiredDescriptionDefault
planYesTarget plan to upgrade to

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses key behaviors: it creates a Stripe Checkout session (implying a mutation that initiates payment), returns a checkout URL (output format), and requires user action to complete payment. However, it doesn't mention authentication needs, rate limits, error conditions, or what happens if the user cancels.

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 front-loaded with the core action and output, followed by essential plan details. Both sentences earn their place: the first explains what the tool does and returns, the second provides critical pricing information. There is zero waste or 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 no annotations and no output schema, the description does well by explaining the tool's purpose, output (checkout URL), and parameter semantics. However, for a mutation tool involving payment, it could better cover behavioral aspects like error handling, idempotency, or security requirements. It's mostly complete but has minor 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 100% description coverage, so the baseline is 3. The description adds significant value by listing the plan options with pricing and credit details (starter: $4.99/mo, 1,000 credits; growth: $19/mo, 5,000 credits; pro: $49/mo, 15,000 credits), which clarifies the meaning of the 'plan' parameter beyond the enum values 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 states the specific action ('Create a Stripe Checkout session') and resource ('to upgrade your plan'), distinguishing it from sibling tools like flowcheck_topup (which likely adds credits) or flowcheck_register (which handles initial signup). It explicitly mentions payment and plan upgrades, making the purpose unambiguous.

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 context by specifying it's for plan upgrades and listing available plans with pricing, but it doesn't explicitly state when to use this versus alternatives like flowcheck_topup or flowcheck_register. It provides clear prerequisites (user must have a plan to upgrade) but lacks explicit exclusions or named alternatives.

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. 22 tool updatesv0.2.4
    • First observedflowcheck_connect_shopify
    • First observedflowcheck_connect_stripe
    • First observedflowcheck_create_plaid_link_token
    • First observedflowcheck_create_webhook
    • First observedflowcheck_delete_webhook
    • First observedflowcheck_exchange_plaid_token
    • First observedflowcheck_get_alerts
    • First observedflowcheck_get_balance
    • First observedflowcheck_get_cashflow
    • First observedflowcheck_get_payout
    • First observedflowcheck_get_position
    • First observedflowcheck_get_reconciliation
    • First observedflowcheck_get_reconciliation_summary
    • First observedflowcheck_get_registration_status
    • First observedflowcheck_list_discrepancies
    • First observedflowcheck_list_payouts
    • First observedflowcheck_list_transactions
    • First observedflowcheck_list_webhooks
    • First observedflowcheck_register
    • First observedflowcheck_sync
    • First observedflowcheck_topup
    • First observedflowcheck_upgrade

TDQS

A3.6/5.0
Disambiguation4/5

Most tools have distinct purposes, such as connecting integrations (Shopify, Stripe, Plaid), managing webhooks, retrieving financial data (balance, cashflow, payouts), and handling registration. However, some overlap exists between flowcheck_get_reconciliation and flowcheck_get_reconciliation_summary, as both relate to reconciliation health, which could cause minor confusion in selection.

Naming Consistency5/5

All tool names follow a consistent 'flowcheck_' prefix with snake_case and clear verb_noun patterns, such as flowcheck_connect_shopify, flowcheck_get_balance, and flowcheck_list_payouts. This uniformity makes the set predictable and easy to navigate.

Tool Count3/5

With 22 tools, the count is on the higher side for a financial API server, bordering on heavy. While it covers a broad range of operations from integrations to data retrieval, it may feel overwhelming compared to more focused servers, though it's not extreme.

Completeness5/5

The tool set provides comprehensive coverage for financial reconciliation and monitoring, including integration setup (Shopify, Stripe, Plaid), data retrieval (balances, cashflow, payouts, alerts), webhook management, and administrative functions (registration, syncing, upgrades). No obvious gaps are present for the stated domain.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Debug, build, and manage Microsoft Power Automate cloud flows with AI agents. Get action-level error details, build flows from natural language, trigger and resubmit runs, and operate across multiple tenants. Requires a Flow Studio MCP subscription — get an API key at https://mcp.flowstudio.app
    32
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server that lets AI agents execute structured business processes by exposing process steps as tools with a sequenced event bus to prevent skipping steps.
    1
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to integrate with IBM Business Automation Workflow by exposing workflow REST services as MCP tools, allowing natural language interaction with business automation capabilities.
    10
    Apache 2.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/eliaskress/flowcheck-mcp-server'

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