AllPDFMagic
Server Details
PDF tools + invoice extraction, bank statement parsing, GST reconciliation & GSTIN validation.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 3.9/5 across 6 of 7 tools scored.
Each tool has a clearly distinct purpose: compression, fraud detection, data extraction, parsing, conversion, reconciliation, and validation. Even overlapping domains like invoices are treated differently (batch screening vs. single extraction). No ambiguity.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., compress_pdf, validate_gstin). No mixing of conventions or vague verbs.
Seven tools is well-scoped for a PDF-focused server. It covers compression, data extraction, conversion, validation, and document reconciliation without being excessive or too sparse.
The tool set is comprehensive for financial document processing (invoices, bank statements, GST) but lacks common PDF utilities like merging, splitting, or OCR. Minor gap given the server's name implies broader PDF magic.
Available Tools
7 toolscompress_pdfBInspect
Compress a PDF file to reduce its size. Returns a download URL for the compressed file. Free tier: 500 calls/month.
| Name | Required | Description | Default |
|---|---|---|---|
| file_url | No | HTTPS URL of the file to process (the server downloads it) | |
| filename | Yes | Filename with extension, e.g. invoice.pdf | |
| file_base64 | No | Base64-encoded file content (alternative to file_url; max 15MB decoded) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden. It discloses the output (download URL) and monthly limit, but fails to detail compression behavior (e.g., lossy/lossless, quality impact, file 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences, front-loading the purpose and adding a constraint on usage. Every sentence earns its place with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description should provide more details on compression behavior, limitations, and output format. It only mentions a download URL and monthly limit, leaving significant gaps.
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 has 100% description coverage, so the baseline is 3. The description does not add extra meaning beyond what the schema already specifies for file_url, filename, and file_base64.
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 clearly states the tool compresses PDF files to reduce size and returns a download URL, using a specific verb and resource. It distinguishes itself from sibling tools like pdf_to_excel or detect_document_fraud.
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 mentions the free tier limit (500 calls/month), providing some usage context, but lacks explicit guidance on when to use this tool versus alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_document_fraudInspect
Screen a batch of 2+ invoices/documents for fraud signals: fabricated GSTINs (check-digit), duplicate invoice numbers across documents, duplicate/near-duplicate files, and amount anomalies. Requires Developer tier or above.
| Name | Required | Description | Default |
|---|---|---|---|
| files | Yes | 2-10 documents. Each item: {file_url OR file_base64, filename} |
extract_invoice_dataAInspect
Extract structured data from an invoice PDF: vendor, invoice number, date, line items, taxes (GST-aware), totals — as JSON. Requires Team tier or above.
| Name | Required | Description | Default |
|---|---|---|---|
| file_url | No | HTTPS URL of the file to process (the server downloads it) | |
| filename | Yes | Filename with extension, e.g. invoice.pdf | |
| file_base64 | No | Base64-encoded file content (alternative to file_url; max 15MB decoded) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that output is structured JSON and mentions GST-awareness, providing some behavioral context. However, with no annotations, it does not describe file size limits (max 15MB base64 is in schema but not description), error handling, or whether it is purely read-only.
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?
Single sentence front-loads the main purpose and output format, with no wasted words. Efficient and to the point.
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?
Given the absence of an output schema, the description compensates by enumerating expected fields (vendor, invoice number, date, line items, taxes, totals). However, it could be more thorough about what is guaranteed in the JSON response.
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?
Input schema has 100% description coverage, so baseline is 3. Description does not add additional meaning beyond the schema; for example, it does not clarify when to use file_url vs file_base64 or the relationship between 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?
Description clearly states the verb 'extract' and resource 'invoice PDF' with specific data fields (vendor, invoice number, date, line items, taxes, totals) and output format (JSON). Distinguishes from sibling tools like parse_bank_statement and detect_document_fraud.
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?
Only includes a prerequisite ('Requires Team tier or above') but no guidance on when to use this tool versus alternatives (e.g., parse_bank_statement, pdf_to_excel). No explicit when-not or context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
parse_bank_statementAInspect
Parse a bank statement PDF (any Indian bank + international formats) into categorized transactions with dates, amounts, balances, payment modes (UPI/NEFT/ATM/...), and an income/expense summary. Requires Developer tier or above.
| Name | Required | Description | Default |
|---|---|---|---|
| file_url | No | HTTPS URL of the file to process (the server downloads it) | |
| filename | Yes | Filename with extension, e.g. invoice.pdf | |
| file_base64 | No | Base64-encoded file content (alternative to file_url; max 15MB decoded) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the processing action, input types (file_url, file_base64), server downloads for URL, output components (categorized transactions, summary), and size limit for base64 (15MB). Missing details like rate limits or authentication specifics, but overall transparent.
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, efficient paragraph. It front-loads the main purpose, then lists output details and requirements. Every sentence adds value with no redundancy.
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?
Given no output schema, the description adequately explains what the tool returns (categorized transactions, summary). It covers supported banks, file input methods, and tier requirement. Could be more complete with error handling or output format hints, but sufficient for a parse operation.
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%; each parameter has a description. The tool description adds overall context but does not significantly enhance per-parameter meaning beyond what the schema already provides. Baseline of 3 is appropriate.
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 uses a specific verb ('Parse'), names the resource ('bank statement PDF'), and details the output ('categorized transactions with dates, amounts, balances...'). It clearly distinguishes from sibling tools like compress_pdf or extract_invoice_data by focusing on bank statements.
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 states supported formats ('any Indian bank + international formats') and access level ('Requires Developer tier or above'), providing clear context for when to use. However, it does not explicitly mention when not to use or compare to siblings like pdf_to_excel or extract_invoice_data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pdf_to_excelAInspect
Convert a PDF (tables, statements, reports) to an Excel file. Returns a download URL. Requires Premium tier or above.
| Name | Required | Description | Default |
|---|---|---|---|
| file_url | No | HTTPS URL of the file to process (the server downloads it) | |
| filename | Yes | Filename with extension, e.g. invoice.pdf | |
| file_base64 | No | Base64-encoded file content (alternative to file_url; max 15MB decoded) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that the tool returns a download URL, but omits other behavioral traits like file size limits, processing time, or what happens with scanned vs text PDFs. More context is needed for safe invocation.
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 extremely concise with two sentences, front-loading the action and outcome. Every word is purposeful, no filler.
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?
Given 3 parameters, no output schema, and no annotations, the description is adequate but lacks details like maximum file size, supported PDF types, or error handling. It covers the essential but has notable gaps.
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% (all 3 parameters are described in the input schema). The description adds no additional meaning beyond what the schema already provides, such as guidance on choosing between file_url and file_base64. Baseline score of 3 applies.
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 clearly states the action ('Convert a PDF... to an Excel file') and the resource ('to an Excel file'), specifying types like tables, statements, reports. It is distinct from sibling tools (compress_pdf, extract_invoice_data, etc.) which serve different purposes like compression or extraction.
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 mentions a usage prerequisite ('Requires Premium tier or above'), providing a clear condition for use. It does not explicitly state when not to use or compare to alternatives, but the sibling context makes it clear that this is the dedicated conversion tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reconcile_documentsAInspect
Reconcile two or more documents (e.g. purchase register vs GSTR-2B, bank statement vs ledger). Matches line items by GSTIN + invoice number + amount; reports matches, mismatches with exact fields, and unmatched items. Requires Developer tier or above.
| Name | Required | Description | Default |
|---|---|---|---|
| files | Yes | 2-10 documents. Each item: {file_url OR file_base64, filename} |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions matching logic and output types, and requires Developer tier or above. However, it does not disclose file format requirements, size limits, processing time, error handling, or whether the tool modifies files. The behavioral disclosure is adequate but not exhaustive.
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?
Three sentences front-loaded with the core purpose, followed by matching logic and a tier requirement. Every sentence adds value with no redundancy or wasted words.
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?
Given the tool's complexity (document reconciliation) and lack of output schema, the description covers essential aspects: matching logic, output categories, and tier requirement. It could be more complete with file format specifics or error handling, but it is sufficient for basic understanding.
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% with a well-described 'files' parameter. The description adds context about matching criteria (GSTIN + invoice number + amount) that is not in the schema, but does not elaborate on the parameter's usage constraints (e.g., file formats, size limits). The baseline of 3 is appropriate since the schema already handles parameter documentation.
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 clearly states the tool reconciles documents, gives concrete examples (purchase register vs GSTR-2B, bank statement vs ledger), specifies matching criteria (GSTIN + invoice number + amount), and defines output types (matches, mismatches with exact fields, unmatched items). This is a specific verb+resource with clear distinction from siblings like extract_invoice_data or parse_bank_statement.
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 states when to use the tool (reconciling two or more documents) and provides example use cases. It does not explicitly list when not to use it or directly compare to alternatives, but the context is clear enough for an agent to infer appropriate scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_gstinAInspect
Validate an Indian GSTIN: format and check-digit (base-36 checksum). Catches typos and fabricated numbers instantly. Runs locally — no API key required. Note: does NOT confirm active registration on the GST portal.
| Name | Required | Description | Default |
|---|---|---|---|
| gstin | Yes | 15-character GSTIN, e.g. 27AAPFU0939F1ZV |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It transparently states the tool operates locally, requires no API key, and does not confirm active registration. It also describes the validation scope (format and check-digit). More detail on response behavior (e.g., return type) would improve transparency, but current disclosure is strong.
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, efficiently conveying purpose, method, and limitations. It is front-loaded with the primary action ('Validate an Indian GSTIN') and contains no superfluous words, earning its place.
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?
Given a single parameter with full schema coverage and no output schema, the description provides sufficient context: input specification, validation logic, local execution, and limitation regarding active registration. It is complete for the tool's simplicity.
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% and describes the 'gstin' parameter as a 15-character string. The description adds meaning beyond the schema by explaining that validation includes a base-36 checksum and that it catches typos/fabricated numbers, enriching the semantic understanding of the parameter's usage.
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 clearly states the tool validates an Indian GSTIN, specifying format and check-digit verification. It distinguishes itself from sibling tools (e.g., compress_pdf, detect_document_fraud) by its focused purpose, leaving no ambiguity about its function.
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 provides context on when to use the tool: it runs locally with no API key required and clarifies it does not confirm active registration, implying that for registration status, alternative means should be used. It lacks explicit 'when not to use' or named alternatives, but the guidance is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!