bigapi
@bigapi/mcp
Servidor MCP para bigapi.dev – la capa de salida para agentes de IA.
Proporciona a Claude Desktop, Cursor, Cline, Windsurf y a cualquier agente compatible con MCP las operaciones de archivos que un LLM no puede hacer por sí mismo:
Tool | What it does |
| HTML / Markdown / URL → PDF o PNG (informes, facturas, ofertas, capturas de pantalla) |
| Operaciones básicas de PDF |
| Páginas de PDF → JPEG/PNG, p. ej. para examinar un documento con un modelo de visión |
| Redimensionar, recortar, rotar, convertir (webp/avif/…), comprimir, eliminar EXIF, marca de agua – en una sola llamada |
| Formato, dimensiones, espacio de color, presencia de EXIF/ICC |
| Clave API gratuita, al instante, sin registro – 100 operaciones gratuitas |
| Cuenta |
1 céntimo por operación. 100 gratuitas. El saldo no caduca nunca. Las llamadas fallidas son gratuitas. Servidores en Alemania, archivos eliminados tras la entrega.
Instalación
Requiere Node 18+. No se necesita clave API por adelantado – el agente puede llamar a get_access por sí mismo.
Claude Desktop
claude_desktop_config.json (Configuración → Desarrollador → Editar configuración):
{
"mcpServers": {
"bigapi": {
"command": "npx",
"args": ["-y", "@bigapi/mcp"]
}
}
}Reinicia Claude Desktop. Luego: "Obtén acceso a bigapi y renderiza este texto como PDF en mi escritorio."
Cursor / Windsurf / Cline
El mismo bloque en la configuración de MCP correspondiente (.cursor/mcp.json, ~/.codeium/windsurf/mcp_config.json, Cline → Servidores MCP → Configurar).
Con una clave existente
"bigapi": { "command": "npx", "args": ["-y", "@bigapi/mcp"], "env": { "BIGAPI_KEY": "bigapi_..." } }Related MCP server: Filesystem MCP Server
Cómo funcionan los archivos
Las entradas son rutas locales (/Users/me/report.pdf, C:\Users\me\scan.pdf). Las salidas se escriben en output_path si se proporciona; de lo contrario, en una carpeta temporal (BIGAPI_OUTPUT_DIR para cambiarla). Cada resultado incluye el coste, de qué se cargó y el saldo restante.
Entorno
Variable | Default | Purpose |
| – | Usa esta clave en lugar de la almacenada |
|
| Dónde |
| Directorio temporal del SO | Carpeta de salida por defecto |
|
| Base de la API (para autohospedaje / pruebas) |
Sin MCP
HTTP simple funciona en todas partes (n8n, Make, Zapier, LangChain, tu código):
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 · Documentación: https://api.bigapi.dev/docs · llms.txt: https://api.bigapi.dev/llms.txt
Licencia
MIT
Available Tools
5 toolsenable_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.
| Name | Required | Description | Default |
|---|---|---|---|
| names | Yes | Tool names as find_tool reports them, e.g. ["pdf_redact","ocr"], or ["all"] for the full list |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many candidates to return | |
| query | Yes | The task in plain words, e.g. "convert a png to webp" |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Label stored with the key so you can tell keys apart later, e.g. "claude-desktop". Cosmetic only. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| op | Yes | Operation name or path, e.g. "pdf/merge" or "/v1/pdf/merge" | |
| files | No | Local file paths to upload, in order | |
| params | No | Parameters of the operation, exactly as described by find_tool | |
| file_field | No | Form field for the uploads; defaults to "files[]" for pdf/merge and "file" otherwise | |
| output_path | No | Where to write the result |
TDQS
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.
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.
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.
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.
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.
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.
2 tool updates
v0.8.2- Changed
enable_tools1 field changed- changed
Input schema / properties / names / descriptionPrevious 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"
- Changed
get_access1 field changed- changed
Input schema / properties / name / descriptionPrevious 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."
45 tool updates
v0.8.0- Removed
chart_render - Removed
docx_to_markdown - Removed
email_to_pdf - Added
enable_tools - Removed
epub_to_markdown - Removed
get_pricing - Removed
get_usage - Removed
html_to_markdown - Removed
image_ai_label - Removed
image_c2pa_sign - Removed
image_c2pa_verify - Removed
image_info - Removed
image_process - Removed
image_to_pdf - Removed
md_to_docx - Removed
ocr - Removed
office_to_pdf - Removed
pdf_attachments - Removed
pdf_compare - Removed
pdf_compress - Removed
pdf_extract_tables - Removed
pdf_info - Removed
pdf_linearize - Removed
pdf_merge - Removed
pdf_outline - Removed
pdf_protect - Removed
pdf_redact - Removed
pdf_rotate - Removed
pdf_sanitize - Removed
pdf_split - Removed
pdf_to_images - Removed
pdf_to_markdown - Removed
pdf_to_pdfa - Removed
pdf_unlock - Removed
pdf_verify_signature - Removed
pptx_to_markdown - Removed
qr_code - Removed
render - Added
run_operation - Removed
screenshot - Removed
set_monthly_cap - Removed
template_render - Removed
text_chunk - Removed
url_to_markdown - Removed
xlsx_to_markdown
4 tool updates
v0.7.0- Added
html_to_markdown - Added
pdf_attachments - Added
pdf_linearize - Added
pdf_sanitize
20 tool updates
v0.6.0- Added
chart_render - Added
docx_to_markdown - Added
email_to_pdf - Added
epub_to_markdown - Added
find_tool - Added
image_ai_label - Added
image_c2pa_sign - Added
image_c2pa_verify - Added
image_to_pdf - Added
pdf_compare - Added
pdf_outline - Added
pdf_protect - Added
pdf_redact - Added
pdf_unlock - Added
pdf_verify_signature - Added
pptx_to_markdown - Added
qr_code - Added
template_render - Added
text_chunk - Added
xlsx_to_markdown
9 tool updates
v0.4.0- Added
md_to_docx - Added
ocr - Added
office_to_pdf - Added
pdf_extract_tables - Added
pdf_info - Added
pdf_to_markdown - Added
pdf_to_pdfa - Added
screenshot - Added
url_to_markdown
13 tool updates
v0.1.0- First observed
get_access - First observed
get_balance - First observed
get_pricing - First observed
get_usage - First observed
image_info - First observed
image_process - First observed
pdf_compress - First observed
pdf_merge - First observed
pdf_rotate - First observed
pdf_split - First observed
pdf_to_images - First observed
render - First observed
set_monthly_cap
TDQS
Scored across 5 tools
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.
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.
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.
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
Related MCP Connectors
MCP tools for AI agents: render URLs to image/PDF, check link health, convert HTML/CSV/JSON.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Generate images, GIFs, videos, and PDFs from HTML, URLs, or templates — from your AI agent.
Htmlpdf Transform Mcp connects AI agents to real public APIs via MCP. Tools include
Related MCP Servers
AlicenseBqualityDmaintenanceThis repository is an example of how to create a MCP server for Qdrant, a vector search engine.21,542Apache 2.0- AlicenseAqualityAmaintenanceNode.js server implementing Model Context Protocol (MCP) for filesystem operations.1414523,434 npm91,067-

Chroma MCP Serverofficial
AlicenseAqualityDmaintenanceA server that provides data retrieval capabilities powered by Chroma embedding database, enabling AI models to create collections over generated data and user inputs, and retrieve that data using vector search, full text search, and metadata filtering.1343,156 PyPI598Apache 2.0
@rendershot/mcp-serverofficial
AlicenseAqualityDmaintenanceEnables AI agents to capture screenshots and generate PDFs from URLs or HTML via the Rendershot API.49 npm3MIT