Skip to main content
Glama
remotenodelabs

CapyParse MCP Server

CapyParse MCP Server

Convert PDF bank statements into verified, structured data (Markdown, JSON, CSV, JSONL) from any MCP-compatible AI agent. Every transaction comes with source citations (page/line of the original statement) and balance-verification checks, so agents can audit the numbers they use.

Get an API key at capyparse.com/dashboard/settings/api-keys. Conversions cost 1 credit per page (new accounts include free credits).

Two ways to connect

Hosted (no install) — streamable HTTP:

URL:    https://capyparse.com/mcp
Header: Authorization: Bearer cpk_live_...

Local (this package) — runs on your machine, so agents can convert local files by path:

CAPYPARSE_API_KEY=cpk_live_... npx -y capyparse-mcp

Related MCP server: pdf-inspector-mcp

Install

Claude Code

claude mcp add capyparse -e CAPYPARSE_API_KEY=cpk_live_... -- npx -y capyparse-mcp
# or hosted:
claude mcp add --transport http capyparse https://capyparse.com/mcp \
  --header "Authorization: Bearer cpk_live_..."

Claude Desktop / Cursor / Windsurf

{
  "mcpServers": {
    "capyparse": {
      "command": "npx",
      "args": ["-y", "capyparse-mcp"],
      "env": { "CAPYPARSE_API_KEY": "cpk_live_..." }
    }
  }
}

Tools

tool

description

convert_bank_statement

Start a conversion from a local file_path or a file_url

get_conversion

Poll status; completed conversions include per-account verification

get_conversion_result

Fetch transactions as markdown / json / csv / jsonl, with optional source citations (provenance)

list_conversions

Recent conversions for your team

get_credits

Remaining page credits

Example

"Convert ~/Downloads/chase-january.pdf and give me the transactions as CSV."

The agent calls convert_bank_statement(file_path=...), polls get_conversion, then get_conversion_result(format="csv").

Docs: capyparse.com/developers

Releasing (maintainers)

Future releases: bump with npm version patch (or minor), then npm publish.

Available Tools

5 tools
convert_bank_statementA

Convert a PDF bank statement with CapyParse. Pass a local file_path or a downloadable file_url. Costs 1 credit per page. Returns a conversion id — poll get_conversion until status is 'completed' (typically 1-3 minutes, wait ~30s between polls), then call get_conversion_result.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_urlNoDownloadable http(s) URL of the statement
file_pathNoPath to a local PDF/PNG/JPG file

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description discloses cost per page, async behavior, and polling details. However, it does not cover potential errors, file size limits, or what happens if the file is invalid.

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, no unnecessary words, front-loaded with the core action. Every sentence adds value.

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

Completeness4/5

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

Given no output schema, the description explains the return value (conversion id) and the follow-up actions. It lacks details on error handling or file limitations, but covers the key workflow adequately for a low-complexity tool.

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

Parameters3/5

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

The input schema already describes both parameters with 100% coverage. The description adds context about 'downloadable' and cost per page, but the cost is more of a behavioral note than parameter semantics. Minimal added value beyond 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 it converts a PDF bank statement with CapyParse, specifying the input options (file_path or file_url). It distinguishes from sibling tools by outlining the asynchronous workflow with polling and result retrieval.

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

Usage Guidelines5/5

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

Explicitly instructs to pass a local file_path or downloadable file_url, mentions cost (1 credit per page), and provides a step-by-step process: returns conversion id, poll get_conversion until completed, then call get_conversion_result. The typical polling time and wait interval are given.

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

get_conversionC

Check a conversion's status (queued | processing | completed | failed). When completed, includes a per-account summary with verification status.

ParametersJSON Schema
NameRequiredDescriptionDefault
conversion_idYes

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description must fully disclose behavioral traits. It indicates a read-like operation (checking status) but does not explicitly state it is non-destructive, lacks side effects, or requires any permissions. The description is minimal and does not cover idempotency or potential errors.

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

Conciseness4/5

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

The description is concise with a single sentence that front-loads the status values. However, it could be structured to include parameter guidance or usage notes without adding length.

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

Completeness3/5

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

For a simple status-check tool with one parameter and no output schema, the description is adequate but incomplete. It misses guidance on the relationship to get_conversion_result and does not explain the parameter. The lack of annotations and schema descriptions increases the burden on the description, which it only partially meets.

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

Parameters2/5

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

The only parameter, conversion_id, is listed in the schema but not described in the tool description, and the schema has no description. The description adds no meaning beyond the parameter name, leaving the agent to infer its format or source (e.g., from list_conversions).

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 checks a conversion's status and lists the possible statuses (queued, processing, completed, failed). It also mentions the additional per-account summary when completed. However, it does not explicitly differentiate from sibling tools like get_conversion_result, which may have overlapping functionality.

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 like get_conversion_result or list_conversions. There is no mention of prerequisites, context, or exclusions, leaving the agent without decision support for tool selection.

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

get_conversion_resultA

Fetch the converted transactions for a completed conversion. format: markdown (default, ready-to-read tables), json (signed amounts: deposits positive / withdrawals negative), csv, or jsonl. provenance: none | summary (default — page/line citations, verbatim source text, verification status per row) | full (adds per-field sources).

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNomarkdown
accountNoAccount index for multi-account statements
provenanceNosummary
conversion_idYes

TDQS

A3.7/5.0
Behavior3/5

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

No annotations provided; description adds context on format and provenance options, but does not disclose read-only nature, authentication needs, or response structure (e.g., list/object, size 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?

Two concise sentences front-loading the main purpose, followed by details on format and provenance. No 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?

With no output schema and 4 parameters (only 1 described in schema), the description adds format and provenance details but lacks information on return structure, pagination, or error handling.

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

Parameters3/5

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

Schema coverage is only 25% (account described). Description explains format and provenance enum values with specific details, adding value beyond schema. However, conversion_id lacks description, and account minimum is not explained.

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 verb 'Fetch' and the resource 'converted transactions for a completed conversion'. It distinguishes from sibling tools like get_conversion (likely metadata) and convert_bank_statement (initiation).

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 after conversion completion but does not explicitly state when or compare to alternatives. No exclusion criteria or prerequisites are mentioned.

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

get_creditsA

Check remaining CapyParse credits (1 credit = 1 statement page). Call before converting large documents or after an insufficient-credits error.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior3/5

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

No annotations provided, so the description must disclose behavioral traits. It adds the credit definition and usage hints but does not state that the tool is read-only or non-mutating. For a simple parameterless tool, the description is adequate but minimally transparent.

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

Conciseness5/5

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

Two sentences, zero waste. The purpose is front-loaded, and the usage hint is appended succinctly. Every word earns its place.

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

Completeness4/5

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

Given no parameters and no output schema, the description is fairly complete. It tells the agent what the tool does and when to use it. Lacks details about the return format, but that is likely straightforward.

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

Parameters4/5

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

No parameters exist, so baseline is 4. The description adds value beyond the schema by explaining the credit unit, which relates to the tool's output rather than input parameters.

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

Purpose5/5

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

Clearly states 'Check remaining CapyParse credits' with a specific verb and resource. Explains the credit unit (1 credit = 1 statement page), distinguishing it from sibling conversion tools.

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?

Provides explicit usage scenarios: 'Call before converting large documents or after an insufficient-credits error.' This gives clear context for when to invoke the tool, effectively guiding the agent.

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

list_conversionsA

List the team's recent conversions (newest first), including ones started from the CapyParse dashboard. Use this to find a conversion id.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the full burden of behavioral disclosure. It clarifies ordering and scope but does not mention read-only nature, pagination, or error cases. The description is adequate but leaves 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 brief, front-loaded, and every sentence adds value. It efficiently communicates the tool's purpose and usage.

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?

The description covers the basic purpose and usage but lacks details on the output format or pagination. Given the absence of an output schema, the description should provide more context on what is returned.

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

Parameters2/5

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

The input schema has one parameter (limit) with constraints but no description. The tool description does not mention this parameter or explain its purpose. The description fails to add value beyond the schema itself.

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 lists the team's recent conversions, sorted newest first, and specifies its use for finding a conversion ID. It effectively distinguishes from sibling tools that perform different operations.

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

Usage Guidelines4/5

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

The description states the tool's purpose (finding a conversion id) which implies its usage context. However, it does not explicitly mention when not to use it or compare with sibling tools like get_conversion or get_conversion_result.

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. 5 tool updatesv0.1.0
    • First observedconvert_bank_statement
    • First observedget_conversion
    • First observedget_conversion_result
    • First observedget_credits
    • First observedlist_conversions

TDQS

A3.9/5.0
Disambiguation5/5

Each tool serves a unique purpose: starting a conversion, checking status, retrieving results, checking credits, and listing conversions. There is no overlap or ambiguity in their functions.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern in snake_case, such as 'convert_bank_statement' and 'get_conversion', making the set predictable and easy to navigate.

Tool Count5/5

With 5 tools, the server is well-scoped for its purpose of parsing bank statements. Each tool is essential for the workflow, and the count is neither too small nor too large.

Completeness5/5

The tool set covers the complete lifecycle: initiating a conversion, monitoring progress, retrieving results in multiple formats, managing credits, and reviewing past conversions. No obvious gaps exist for the stated domain.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

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/remotenodelabs/capyparse-mcp'

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