Falcon Docs: bank statement extraction for agents (x402)
Server Details
Bank statement extraction for agents: transactions, ADB, NSF, MCA metrics, plus invoices. x402.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
Preview_document is clearly the free page-1 triage step, while extract_document is the generic full-document extraction and spread_bank_statement is a specialized paid bank-statement workflow with underwriting metrics. The main overlap is that extract_document and spread_bank_statement can both process bank statements, but descriptions help an agent pick the specialized path when metrics are needed.
All three names follow a consistent snake_case verb_object pattern: extract_document, preview_document, spread_bank_statement. The verb 'spread' is domain jargon for financial spreading, but the structural convention is still predictable.
Three tools is well-scoped for a focused document-extraction service: a free preview, a general paid extraction, and a specialized bank-statement underwriting tool. Each tool has a clear reason to exist, and the set avoids bloat.
The surface covers the core flow from free preview to paid full extraction and specialized bank-statement spreading, with no obvious dead ends for the stated purpose. Minor gaps remain around batch processing, job status/retrieval for large documents, and dedicated handling for non-bank document types beyond the generic extractor.
Available Tools
3 toolsextract_documentCInspect
Full extraction of all pages. Costs $0.03 USDC (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Public https URL of a PDF | |
| type | No | ||
| file_base64 | No | Base64-encoded PDF |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses that the tool processes all pages and costs $0.03 USDC via x402, which is important context beyond the schema, but it omits return format, payment/auth details, error behavior, and whether extraction is reversible or cached.
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 two short sentences with no wasted words, and the core scope is front-loaded ahead of the cost note. Its brevity is appropriate structurally, even though the content is under-specified.
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 paid document-extraction tool with no annotations and no output schema, the description is too thin. An agent still lacks the expected return type, the difference from preview_document, and practical details about the x402 payment requirement.
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 67%, and the description adds no parameter-level meaning. It does not clarify the relationship between url and file_base64, does not explain how 'type' or 'auto' affects extraction, and does not note that all parameters are optional.
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 states 'Full extraction of all pages,' which conveys a verb and scope, but it never says what is extracted (text, fields, structured data) or how it differs from sibling tools such as preview_document and spread_bank_statement. The purpose is inferable but not sharply differentiated.
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 gives no explicit guidance on when to choose this tool over preview_document or spread_bank_statement, nor does it state prerequisites or when-not-to-use conditions. The only guidance is the implied contrast between 'full extraction' and a preview tool, which is not enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_documentAInspect
Free: extract page 1 of a PDF (auto-detects invoice/receipt/PO/W-9/bank statement) with per-field confidence.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Public https URL of a PDF | |
| type | No | ||
| file_base64 | No | Base64-encoded PDF |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It usefully discloses the free preview limitation, page-1-only scope, auto-detection behavior, and per-field confidence, but it does not state whether the operation is read-only, what permissions or URL requirements apply, or what the response structure looks like.
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 wasted words. The free preview, page-1 limitation, auto-detection, and confidence output are all communicated compactly.
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 tool with no output schema and no annotations, the description provides the essential calling context but omits return-value structure and input-source handling details. It is adequate to invoke the tool but not fully complete for an agent expecting confidence fields or URL/base64 guidance.
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 67%, so the schema documents most parameters but leaves the type enum without a description. The description adds that type can be auto-detected and that the input is a PDF, but it does not clarify the url versus file_base64 alternatives or how an explicit type overrides auto-detection.
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 names a specific verb and resource: extract page 1 of a PDF. It also states scope (page 1 only), auto-detection of document types, and per-field confidence. It differentiates from extract_document implicitly through 'preview' and 'page 1', but does not explicitly name the sibling alternative.
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 word 'Free' and the page-1 limitation imply this is a preview/limited extraction tool, suggesting extract_document is for fuller extraction. However, the description never explicitly says when to use this versus extract_document or spread_bank_statement, nor does it list exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spread_bank_statementBInspect
Bank statement → every transaction + underwriting metrics (ADB, NSF, MCA/loan positions, revenue trend, DSCR inputs, tamper flags). Costs $0.40 USDC (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Public https URL of a PDF | |
| type | No | ||
| file_base64 | No | Base64-encoded PDF |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present the description carries the burden, and it does disclose a material trait beyond schema: this is a paid call requiring $0.40 USDC via x402. However, it says nothing about payment/auth flow, failure modes, latency, or whether the charge is incurred on error, which matters for a paid tool.
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 dense sentences with the core capability front-loaded and the cost appended, no filler. The metric abbreviations (MCA, DSCR) are jargon-heavy but appropriate for the domain, so the compression is earned.
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?
The description enumerates return contents, which partly substitutes for the missing output schema, but for a paid financial extraction tool it omits the payment/auth mechanics, error and retry behavior, and how the three input parameters combine. Adequate to know what it does, thin for calling it confidently.
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 only 67% and the description adds no parameter meaning at all. Critically it never clarifies the `type` enum relative to this specialized tool (must the caller pass type=bank_statement, or is it forced?), nor that url and file_base64 are alternative input modes with zero required parameters.
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 resource (bank statement) and enumerates the specific outputs (transactions, ADB, NSF, MCA/loan positions, DSCR inputs, tamper flags), which is far more specific than a generic extraction tool. It never mentions the siblings extract_document or preview_document, so an agent must infer the boundary itself.
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?
There is no statement of when to use this rather than extract_document or preview_document, and no prerequisites or exclusions. The only usage-adjacent signal is the price, which hints at a cost trade-off but gives no routing rule.
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.
3 tool updates
- First observed
extract_document - First observed
preview_document - First observed
spread_bank_statement
Related MCP Connectors
Turn bank statement PDFs, CSVs, XLSX and OFX into categorised transactions plus a summary.
Turn bank statement PDFs into categorized, balance-checked transactions and reports.
x402 agent tools: invoice/PDF extract, OCR, email risk, web to markdown, domain, FX, time
151Bank statement PDFs become CSV or JSON transactions with dates, amounts and balances.
Related MCP Servers
- AlicenseAqualityDmaintenanceConverts PDF bank statements into structured data (Markdown, JSON, CSV, JSONL) with verified transactions and balance checks, enabling agents to audit numbers.55 npmMIT

bankstatementlyofficial
AlicenseAqualityAmaintenanceParse and query bank statements — turn PDF statements into structured transactions, accounts, and balances, with balance-reconciliation checks. A deterministic financial memory for AI agents, served as a hosted streamable-HTTP endpoint (API key or OAuth).181MIT- AlicenseNot gradedqualityAmaintenanceExtracts text and tables from PDFs for AI agents via MCP, enabling structured data retrieval from invoices, reports, and statements.82 PyPI1MIT
- AlicenseAqualityDmaintenanceConvert PDFs to structured JSON. Extract invoices, bank statements, contracts, and more. Pay per call via x402 USDC.58MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.