Skip to main content
Glama

@bigapi/mcp

npm version bigapi-mcp MCP server

MCP server for bigapi.dev – the output layer for AI agents.

Your agent produced something. bigapi turns it into a finished file – and reads files back in. Merge, redact, OCR, convert, sign, validate: the operations an LLM cannot do itself, over plain HTTPS, with one key, nothing to install server-side.

$0.01 per operation. 100 free. Free operations and balance never expire. Failed calls are free. Servers in Germany, GDPR, files deleted after delivery. Every operation ships with a published proof that it does what it promises.

Also listed in the official MCP Registry as dev.bigapi/mcp.

Lean by default

The server starts lean: it lists five tools, so your context stays free.

Tool

What it does

find_tool

Describe your task in plain words, get the matching operation with a ready-to-run example. Free, no key.

run_operation

Run any bigapi operation by name, including ones added after your client started.

enable_tools

Load dedicated tools on demand, e.g. ["pdf_redact","ocr"] or ["all"].

get_access / get_balance

Get a free key, check credit.

All 40+ operations are available from the first second through run_operation; the dedicated tools are a convenience, not a requirement. Want the full list right away? Set BIGAPI_TOOLS=all in the server environment.

Why: every tool definition costs context in your client, and a model choosing between five descriptions picks better than one scanning forty-six.

Related MCP server: Filesystem MCP Server

What you can run

All 40+ operations go through run_operation (or their own tool after enable_tools). Ask find_tool in plain words instead of memorising this list:

  • PDF basics — merge, split, rotate, compress, page info, outline, compare, linearize

  • PDF content — to Markdown, to images, extract tables, extract attachments (ZUGFeRD / Factur-X invoice XML)

  • PDF safety — redact (rasterise and rebuild, text provably gone), sanitize (JavaScript, actions, embedded files), password on/off, verify signature

  • PDF archival — PDF/A-2b with embedded fonts and an output intent, checked with veraPDF

  • Documents — Office and e-books to PDF or Markdown (DOCX, XLSX, PPTX, ODT, EPUB), Markdown to Word, .eml to PDF

  • Web and rendering — HTML/Markdown/URL to PDF or PNG, full-page screenshots with device presets, HTML or URL to clean Markdown, Handlebars templates, charts, QR codes

  • Images — resize, crop, convert (WebP/AVIF/…), compress, strip metadata, watermark, image info

  • AI transparency — C2PA Content Credentials sign and verify, visible "AI-generated" label with EXIF marking (EU AI Act Art. 50)

  • Text for RAG — token-based chunking, heading-aware, with overlap

  • Account — free key, balance, usage, monthly cap, pricing

Install

Requires Node 18+. No API key needed up front – the agent can call get_access itself.

Claude Desktop

claude_desktop_config.json (Settings → Developer → Edit Config):

{
  "mcpServers": {
    "bigapi": {
      "command": "npx",
      "args": ["-y", "@bigapi/mcp"]
    }
  }
}

Restart Claude Desktop. Then: "Get bigapi access and render this text as a PDF on my Desktop."

Cursor / Windsurf / Cline

Same block in the respective MCP settings (.cursor/mcp.json, ~/.codeium/windsurf/mcp_config.json, Cline → MCP Servers → Configure).

With an existing key

"bigapi": { "command": "npx", "args": ["-y", "@bigapi/mcp"], "env": { "BIGAPI_KEY": "bigapi_..." } }

How files work

Inputs are local paths (/Users/me/report.pdf, C:\Users\me\scan.pdf). Outputs are written to output_path if given, otherwise to a temp folder (BIGAPI_OUTPUT_DIR to change). Every result includes the cost, what it was charged from, and the remaining balance.

Pricing

Flat $0.01 per operation – every operation, no exceptions (per page for ocr, office_to_pdf, pdf_to_markdown, pdf_extract_tables, pdf_compare and pdf_redact). Prepaid from $5 – no subscription, no signup, balance never expires, failed calls are free. Machine-readable: get_pricing or GET /v1/pricing.

Environment

Variable

Default

Purpose

BIGAPI_KEY

–

Use this key instead of the stored one

BIGAPI_CONFIG_DIR

~/.bigapi

Where get_access stores the key (config.json, mode 600)

BIGAPI_OUTPUT_DIR

OS temp dir

Default output folder

BIGAPI_URL

https://api.bigapi.dev

API base (for self-hosting / testing)

Without MCP

Plain HTTP works everywhere (n8n, Make, Zapier, LangChain, your code):

curl -X POST https://api.bigapi.dev/v1/keys                       # → key
curl -o out.pdf https://api.bigapi.dev/v1/render \
  -H "Authorization: Bearer $KEY" -H "content-type: application/json" \
  -d '{"markdown":"# Hello from an agent"}'

OpenAPI: https://api.bigapi.dev/openapi.json · Docs: https://api.bigapi.dev/docs · Guides: https://bigapi.dev/guides/ · llms.txt: https://api.bigapi.dev/llms.txt

License

MIT

Available Tools

5 tools
enable_toolsA

Add the dedicated tools for specific operations to this session, e.g. ["pdf_redact","ocr"], or ["all"] for every operation. bigapi starts lean – only find_tool, run_operation, get_access and get_balance are listed – so your context stays free. You rarely need this: every operation already runs through run_operation. Reach for it when you will call the same operation many times and want its parameters spelled out in your tool list. Names come from find_tool; unknown names are reported back and skipped while the rest are still enabled. The effect lasts for this session, adds to what is already enabled, and cannot be undone from here – restart the server for the lean list again.

ParametersJSON Schema
NameRequiredDescriptionDefault
namesYesTool names as find_tool reports them, e.g. ["pdf_redact","ocr"], or ["all"] for the full list

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does so thoroughly. It discloses session-scoped persistence, that enabling is additive, that unknown names are skipped while others are enabled, and that the change cannot be undone except by restarting the server.

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 front-loaded with the core action and then gives necessary context. It is a bit long but every sentence contributes useful information about usage, behavior, and limitations. There is no redundant fluff.

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

Completeness5/5

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

For a single-parameter tool with no output schema, the description is complete: what it does, when to use it, how to name tools, what happens with invalid names, session scope, and how to revert. An agent has everything needed to invoke it correctly and predict its behavior.

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 schema already covers the parameter well, including the ['all'] special value and find_tool as the name source. The description adds useful behavioral nuance beyond the schema: unknown names are reported and skipped, the rest are enabled, and the session-scoped effect. This goes beyond the baseline but the schema does most of the semantic work.

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 states a clear, specific action: adding dedicated operation tools to the current session, with examples. It also distinguishes itself from the lean default tool set and from run_operation, making the tool's function unambiguous even without opening the schema.

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 gives explicit when-to-use guidance: use it only when calling the same operation many times and wanting parameters spelled out. It also says 'you rarely need this' and clarifies that run_operation already handles operations, which prevents overuse. It further tells the agent to get names from find_tool.

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

find_toolA

Find the right bigapi operation for a task. Describe what you need in plain words, English or German – "convert a png to webp", "remove customer names from a contract", "extract the ZUGFeRD invoice XML" – and get the matching operations with their parameters, a ready-to-run example, the price and a guide link. It recommends only: it never touches your files and never spends credit; run what it names with run_operation. Free and no API key needed, so it is also the cheapest way to see what bigapi covers. Start here whenever you are unsure which operation fits, and skip it when you already know the operation name. If nothing fits, the answer says so plainly instead of guessing.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many candidates to return
queryYesThe task in plain words, e.g. "convert a png to webp"

TDQS

A4.9/5.0
Behavior5/5

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

With no annotations to lean on, the description fully discloses behavior: it only recommends, never touches files, never spends credit, requires no API key, and reports no-match honestly instead of guessing. This gives an agent a complete safety and expectation profile.

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 purpose and each subsequent sentence adds a distinct fact: output contents, safety/credit behavior, cost/auth, when to use, and failure mode. There is no filler or repetition.

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

Completeness5/5

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

For a simple two-parameter discovery tool with no output schema, the description is complete: what it returns, how to phrase input, safety, cost/auth, alternatives, and no-match behavior are all covered. Nothing an agent needs to safely invoke it is left to guesswork.

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 schema already documents both parameters with 100% coverage, so the baseline is 3. The description adds value by expanding query semantics: plain-language tasks, English or German, multiple examples, and the kind of intent that fits this tool rather than run_operation.

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?

States a specific action ('Find the right bigapi operation') with a clear resource and task scope, and grounds it with concrete examples. It also distinguishes itself from sibling run_operation by making clear it is a recommender, not an executor.

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 says when to use it ('Start here whenever you are unsure which operation fits') and when to skip it ('skip it when you already know the operation name'). It also names the alternative execution path via run_operation and notes it is free, easing trial use.

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

get_accessA

Get a bigapi API key for this machine. Call this once when no key is configured; other bigapi tools fail with "no API key" until you do. Creates a NEW free key (no signup, no credit card) and stores it in the local config file, where every bigapi tool picks it up. Calling it again creates an additional key rather than returning the existing one – use get_balance to check the key you already have. The new key includes 100 free operations, then $0.01 per operation from a prepaid balance; neither expires. Needs network access to api.bigapi.dev.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoLabel stored with the key so you can tell keys apart later, e.g. "claude-desktop". Cosmetic only.

TDQS

A4.8/5.0
Behavior5/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, and it does so thoroughly. It discloses that the tool creates a NEW key each time, stores it in a local config file, requires network access, and that the key includes 100 free operations then $0.01 per operation. It also warns that calling it again creates an additional key rather than returning the existing one, which is a critical behavioral trait.

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 dense but every sentence earns its place: it covers when to call, what it does, side effects, pricing, and the alternative. It is front-loaded with the core purpose. It could be slightly more concise, but the density is justified given the lack of annotations.

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

Completeness5/5

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

For a tool with one optional parameter, no output schema, and no annotations, the description is remarkably complete. It explains the failure mode, the side effect, the pricing model, the network requirement, and the sibling tool to use instead. An agent has everything it needs to decide whether and how to call this tool.

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

Parameters4/5

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

Schema coverage is 100%, so the schema already documents the 'name' parameter. The description adds value by explaining the parameter is cosmetic only and giving an example ('claude-desktop'), which helps the agent decide whether to pass it. This goes beyond the schema's description.

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 states a specific verb ('Get'), a specific resource ('bigapi API key'), and a clear scope ('for this machine'). It also distinguishes itself from get_balance by explicitly noting that calling it again creates a new key rather than returning the existing one, which prevents confusion with the sibling tool.

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 says when to call it ('once when no key is configured'), what happens if you don't ('other bigapi tools fail'), and what to use instead if you need to check an existing key ('use get_balance'). This is clear, actionable guidance with an explicit alternative.

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

get_balanceA

Check the bigapi key that is currently configured: remaining credit, free operations left, monthly cap and spend so far this month. Read-only, free, and a snapshot of this moment – the numbers move as operations run. Use it to confirm a key works, before a large batch, or when an operation reports a low balance. It does not create keys (that is get_access) and does not list past operations.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.9/5.0
Behavior5/5

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

With no annotations provided, the description carries the full behavioral disclosure burden and does well: it labels the call as 'Read-only, free' and warns that values are 'a snapshot of this moment – the numbers move as operations run.' This conveys no side effects and the non-deterministic nature of the result, which is critical for an agent deciding whether to call it again. No contradiction with any annotations.

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

Conciseness5/5

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

The description is three sentences with no filler. The first sentence front-loads the core purpose, the second provides usage context and the snapshot caveat, and the third handles sibling differentiation. Every sentence earns its place, making it compact yet information-dense.

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

Completeness5/5

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

Despite having no output schema or annotations, the description covers purpose, when to use it, behavioral caveats, and the specific data points returned. The tool is a zero-parameter read operation, so nothing needed is missing. The listed fields (remaining credit, free operations left, monthly cap, spend) are sufficient for agent decision-making.

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 is empty (0 parameters), so the baseline is 4. The description adds context by specifying that the tool checks the 'currently configured' bigapi key, clarifying the implicit subject without requiring a parameter. Since there are no parameters, the description cannot add much more, but the existing added meaning is valuable.

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 opens with 'Check the bigapi key that is currently configured' and enumerates exactly what is read: remaining credit, free operations left, monthly cap, and spend. It explicitly differentiates from sibling get_access by stating it does not create keys, and from list-like tools by noting it does not list past operations. This is a precise verb+resource definition with clear sibling differentiation.

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 gives explicit intended triggers: 'Use it to confirm a key works, before a large batch, or when an operation reports a low balance.' It also tells the agent when not to use it by stating it does not create keys or list operations, effectively routing those needs to siblings like get_access. This is strong practical guidance beyond generic 'use this for balance.'

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

run_operationA

Run any bigapi operation on real files: merge or redact a PDF, OCR a scan, convert an image, chunk text for embeddings, read a ZUGFeRD invoice, sign an image as AI-generated. Take the operation name from find_tool (e.g. "pdf/merge", "ocr", "text/chunk"). Uploads are local file paths. A file result is written to output_path, or to a temporary file when you omit it, and the path comes back with size and content type; a data result comes back as JSON. $0.01 per operation flat, no subscription, and failed calls cost nothing. This one executor covers every operation, including ones added after your client started – enable_tools only adds convenience wrappers around it. Files are processed in Germany, deleted right after delivery, and every operation ships with a published proof that it does what it promises.

ParametersJSON Schema
NameRequiredDescriptionDefault
opYesOperation name or path, e.g. "pdf/merge" or "/v1/pdf/merge"
filesNoLocal file paths to upload, in order
paramsNoParameters of the operation, exactly as described by find_tool
file_fieldNoForm field for the uploads; defaults to "files[]" for pdf/merge and "file" otherwise
output_pathNoWhere to write the result

TDQS

A4.8/5.0
Behavior5/5

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

With zero annotations, the description carries the full burden and delivers: return behavior (file result written to output_path or temp file, returned with size and content type; data result as JSON), cost model ($0.01 flat, failed calls free), data handling (processed in Germany, deleted after delivery), and a verification claim. This is unusually rich behavioral disclosure for a tool with no annotation support.

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?

About 150 words for a generic dispatcher with 5 params, no annotations, and no output schema — every sentence earns its place by covering purpose, op sourcing, file handling, output behavior, cost, sibling relationship, and data residency. Front-loaded with purpose and examples. Slightly long, and the closing 'published proof' sentence is marginally promotional, but nothing is wasted.

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

Completeness5/5

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

For a high-complexity generic executor with no output schema and no annotations, this description is remarkably complete: it explains what the tool does, how to source the op name, how uploads are referenced, what happens when output_path is omitted, what the return payloads look like for both file and data results, cost/failure policy, and the relationship to sibling tools. The only unaddressed area is explicit auth prerequisites, which the get_access sibling implies.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds meaning beyond the schema: 'Uploads are local file paths' clarifies the files parameter, 'written to output_path, or to a temporary file when you omit it' explains output_path's optional behavior, and the examples ('pdf/merge', 'ocr', 'text/chunk') illustrate the op naming convention. Slightly above baseline, but it doesn't exhaustively define params semantics.

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?

States a specific verb+resource ('Run any bigapi operation on real files') backed by concrete examples (merge/redact PDF, OCR, convert image, chunk text, read ZUGFeRD invoice). It distinguishes itself from siblings explicitly: 'This one executor covers every operation... enable_tools only adds convenience wrappers around it,' and routes op-name sourcing to find_tool. An agent cannot confuse this with the discovery or wrapper siblings.

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?

Gives explicit workflow guidance: 'Take the operation name from find_tool' tells the agent where the op parameter comes from, and 'enable_tools only adds convenience wrappers around it' is an explicit when-not-to-use-alternative statement establishing run_operation as the universal executor. Pricing and failure-cost statements further clarify when calls are safe to make. No decision is left to inference.

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.

  1. 2 tool updatesv0.8.2
    • Changedenable_tools1 field changed
      • changedInput schema / properties / names / description
        Previous value: -"Tool names to enable, or [\"all\"]"New value: +"Tool names as find_tool reports them, e.g. [\"pdf_redact\",\"ocr\"], or [\"all\"] for the full list"
    • Changedget_access1 field changed
      • changedInput schema / properties / name / description
        Previous value: -"Optional label for the key, e.g. \"claude-desktop\""New value: +"Label stored with the key so you can tell keys apart later, e.g. \"claude-desktop\". Cosmetic only."
  2. 45 tool updatesv0.8.0
    • Removedchart_render
    • Removeddocx_to_markdown
    • Removedemail_to_pdf
    • Addedenable_tools
    • Removedepub_to_markdown
    • Removedget_pricing
    • Removedget_usage
    • Removedhtml_to_markdown
    • Removedimage_ai_label
    • Removedimage_c2pa_sign
    • Removedimage_c2pa_verify
    • Removedimage_info
    • Removedimage_process
    • Removedimage_to_pdf
    • Removedmd_to_docx
    • Removedocr
    • Removedoffice_to_pdf
    • Removedpdf_attachments
    • Removedpdf_compare
    • Removedpdf_compress
    • Removedpdf_extract_tables
    • Removedpdf_info
    • Removedpdf_linearize
    • Removedpdf_merge
    • Removedpdf_outline
    • Removedpdf_protect
    • Removedpdf_redact
    • Removedpdf_rotate
    • Removedpdf_sanitize
    • Removedpdf_split
    • Removedpdf_to_images
    • Removedpdf_to_markdown
    • Removedpdf_to_pdfa
    • Removedpdf_unlock
    • Removedpdf_verify_signature
    • Removedpptx_to_markdown
    • Removedqr_code
    • Removedrender
    • Addedrun_operation
    • Removedscreenshot
    • Removedset_monthly_cap
    • Removedtemplate_render
    • Removedtext_chunk
    • Removedurl_to_markdown
    • Removedxlsx_to_markdown
  3. 4 tool updatesv0.7.0
    • Addedhtml_to_markdown
    • Addedpdf_attachments
    • Addedpdf_linearize
    • Addedpdf_sanitize
  4. 20 tool updatesv0.6.0
    • Addedchart_render
    • Addeddocx_to_markdown
    • Addedemail_to_pdf
    • Addedepub_to_markdown
    • Addedfind_tool
    • Addedimage_ai_label
    • Addedimage_c2pa_sign
    • Addedimage_c2pa_verify
    • Addedimage_to_pdf
    • Addedpdf_compare
    • Addedpdf_outline
    • Addedpdf_protect
    • Addedpdf_redact
    • Addedpdf_unlock
    • Addedpdf_verify_signature
    • Addedpptx_to_markdown
    • Addedqr_code
    • Addedtemplate_render
    • Addedtext_chunk
    • Addedxlsx_to_markdown
  5. 9 tool updatesv0.4.0
    • Addedmd_to_docx
    • Addedocr
    • Addedoffice_to_pdf
    • Addedpdf_extract_tables
    • Addedpdf_info
    • Addedpdf_to_markdown
    • Addedpdf_to_pdfa
    • Addedscreenshot
    • Addedurl_to_markdown
  6. 13 tool updatesv0.1.0
    • First observedget_access
    • First observedget_balance
    • First observedget_pricing
    • First observedget_usage
    • First observedimage_info
    • First observedimage_process
    • First observedpdf_compress
    • First observedpdf_merge
    • First observedpdf_rotate
    • First observedpdf_split
    • First observedpdf_to_images
    • First observedrender
    • First observedset_monthly_cap

TDQS

A4.9/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a distinct lifecycle role: discovery (find_tool), execution (run_operation), session convenience (enable_tools), key creation (get_access), and balance checking (get_balance). The descriptions explicitly cross-reference each other and state what they do not do, so there is little risk of an agent picking the wrong one.

Naming Consistency5/5

All five names follow a consistent snake_case verb_noun pattern (find_tool, run_operation, enable_tools, get_access, get_balance). The verbs are specific and match the action, and no style mixing or vague generic names appear.

Tool Count5/5

Five tools is well-scoped for a server that intentionally stays lean and dynamically exposes operations through find_tool/run_operation. Each tool covers a necessary concern: discovery, execution, optional tool enabling, access, and balance.

Completeness5/5

The core workflow is fully covered: obtain a key, find an operation, run it, and check credit/usage. The dynamic design means new operations don't require new server tools, so there are no obvious dead ends or missing lifecycle steps.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers