Skip to main content
Glama

PDFCheck Online

Server Details

PDFCheck Online provides hosted PDF metadata tools over MCP. Inspect author fields, dates, page counts, PDF versions and creator/producer software when available. Anonymous access plus authenticated history/usage workflows. Metadata is editable; software indicators do not prove authenticity or AI authorship. Setup and limits: https://pdfcheck.online/ai-agents. Hindi website: https://pdfcheck.online/hi.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2024-11-05
URL

TDQS

A3.7/5.0

Scored across 8 tools

Disambiguation5/5

Each tool targets a distinct action and resource: PDF analysis (analyze, retrieve, list) and error administration (list, detail, stats, resolve). No two tools overlap in purpose, and the descriptions make clear which cluster each belongs to.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern (analyze_pdf, check_usage, get_analysis, get_errors, resolve_error). The style is uniform across both the PDF and error-logging clusters.

Tool Count4/5

Eight tools is a reasonable count overall, but the server bundles two unrelated domains (PDF analysis and production error monitoring), so the error tools do not directly earn their place for a service named 'PDFCheck Online'.

Completeness4/5

Core workflows are covered: analysis creation, retrieval, listing, and quota checking for PDFs; and listing, detail, stats, and resolution for errors. Missing optional features like deleting analyses or advanced error filtering, but no dead ends for typical use.

Available Tools

8 tools
analyze_pdfBInspect

Upload and analyze a PDF file. Returns metadata, creation date, author, software used, page count, and verification checks. Provide the file content as a base64-encoded string.

ParametersJSON Schema
NameRequiredDescriptionDefault
filenameYesOriginal filename (e.g. "report.pdf")
file_base64YesBase64-encoded PDF file content

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose the return payload (metadata, dates, author, software, page count, verification checks) plus the required base64 input format. However, it says nothing about file size limits, authentication requirements, persistence of the uploaded file, or what 'verification checks' actually evaluates, so significant behavioral gaps remain.

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?

Two tight sentences, front-loaded with the action and then the return values. The output enumeration is justified because no output schema exists. Minor redundancy with the schema on the base64 input, but nothing is wasted.

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?

For a 2-parameter, no-output-schema tool, the description compensates well by listing what is returned and how to pass input. Remaining gaps are constraint/error information (size limits, failure modes) rather than anything required to invoke it correctly.

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 description coverage is 100% (both filename and file_base64 are documented in the schema), so the baseline is 3. The description's note about base64-encoding essentially restates the schema's 'Base64-encoded PDF file content' without adding format or constraint details.

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 states a clear verb+resource ('Upload and analyze a PDF file') and enumerates the returned fields (metadata, creation date, author, software, page count, verification checks). It is readily distinguishable from siblings such as list_analyses and get_errors, which deal with stored results rather than analysis of a supplied file, though it never explicitly names those siblings.

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?

There is no statement of when to use this tool versus the sibling analysis/error tools, no prerequisites, and no exclusions. Usage is only implicitly inferable from the name and the mention of supplying file content.

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

check_usageAInspect

Check remaining daily analysis quota. Returns account information when authenticated, or anonymous usage otherwise.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It usefully discloses a dual return mode (account information when authenticated vs anonymous usage), which is real behavioral context. However, it does not state that the call is read-only/side-effect free, what 'remaining' resets against, or the response shape, leaving significant 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?

Two short sentences, purpose front-loaded, with the return-mode nuance immediately after. No filler or repetition.

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 no annotations, the description should carry more: it names the return modes but not the fields returned (quota limit, used, remaining, reset time) or the account data shape. It is adequate to identify the tool but thin for guiding interpretation of results.

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 tool takes zero parameters, so there is no parameter semantics to explain and the baseline of 4 applies. Nothing in the description misrepresents or omits a needed argument.

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?

States a specific verb and resource: 'Check remaining daily analysis quota.' That is unambiguous and easily separable from the analyze/get/list error siblings. It names no sibling explicitly, so it is clear but not differentiated by comparison.

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?

Usage is only implied: an agent would call this to learn its remaining quota before running analyses. There is no explicit when-to-use, when-not, or prerequisite guidance, and the authenticated/anonymous clause describes return behavior rather than invocation conditions.

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

get_analysisBInspect

Retrieve a previous PDF analysis result by its share token.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesThe share token of the analysis

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. 'Previous ... result' hints at persistence, but nothing is said about auth/permission requirements, whether share tokens expire, result freshness, or error behavior for an invalid token.

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?

One sentence, front-loaded with the verb and resource, with zero filler. Nothing could be removed without losing information.

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 one-parameter retrieval tool this is close to sufficient, but with no output schema the description should hint at what is returned (e.g., stored analysis content or metadata), and with no annotations it should mention any access constraint on the token.

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 100% and the single parameter is documented in the schema as 'The share token of the analysis'. The description restates this as 'share token' without adding format, source, or validation detail, so the baseline of 3 applies.

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 names a specific verb (retrieve) and resource (PDF analysis result) along with the lookup key (share token), which cleanly separates it from analyze_pdf (creates) and list_analyses (lists). It does not explicitly name those siblings, but the fetch-by-token framing makes the distinction inferable.

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?

Usage is only implied: the phrase 'by its share token' signals the precondition that the caller already holds a token, which distinguishes it from list_analyses. There is no explicit statement of when to prefer this tool or what to do when no token is available.

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

get_error_detailAInspect

Get full details of a specific error log entry including stack trace, request data, and headers. Requires admin authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
error_idYesThe ID of the error log entry

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose the auth requirement and the shape of the returned data (stack trace, request data, headers). It does not state error behavior for an invalid or missing error_id, rate limits, or explicitly confirm the operation is a non-mutating read, leaving meaningful gaps for an unannotated tool.

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 tightly packed sentences with zero filler; the core purpose and the return contents are front-loaded ahead of the auth caveat. Every clause 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?

For a one-parameter read tool with no output schema, the description covers what the tool does, what it returns, and who may call it. Only edge-case behavior (invalid ID, missing entry) is absent, which is a minor gap.

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 single required parameter error_id is fully documented at 100% schema coverage, so the schema already does the heavy lifting and baseline is 3. The description adds nothing about the parameter's format, source, or where an agent obtains a valid ID.

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 states a specific verb ('Get') and resource ('full details of a specific error log entry'), and enumerates the payload (stack trace, request data, headers), which implicitly distinguishes it from the list-style sibling get_errors and the aggregate get_error_stats. It stops short of explicitly naming those siblings or the boundary between them.

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?

Usage is only implied - the agent can infer this is for drilling into a single entry after locating an error_id, but no sibling is named and no when/when-not guidance is given. The only concrete precondition offered is 'Requires admin authentication,' which is a prerequisite rather than usage routing.

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

get_errorsAInspect

List recent unresolved production errors. Requires admin authentication. Returns error ID, status code, exception class, message, URL, occurrence count, and timestamps.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results to return (default 20, max 100)
statusNoFilter by status: "unresolved" (default), "resolved", or "all"
status_codeNoFilter by HTTP status code (e.g. 500)

TDQS

A3.5/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does meaningful work: it discloses that admin authentication is required and enumerates the exact return fields (error ID, status code, exception class, message, URL, occurrence count, timestamps). It omits pagination behaviour and any rate-limit or ordering caveats.

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?

Three tight sentences with the core purpose front-loaded, then auth, then return shape. No filler or repetition, though the return-field list could arguably be trimmed if an output schema existed.

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?

With no output schema and no annotations, the description compensates well by naming the auth requirement and the returned fields, and the filtered-list semantics are inferable from the schema. Missing explicit sibling routing and pagination notes keep it from being fully complete.

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 description coverage is 100%, so all three parameters (limit, status, status_code) are already documented with defaults and enum values. The description adds no parameter-level meaning beyond what the schema provides; baseline 3 applies.

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?

States a specific verb and resource ('List recent unresolved production errors') with clear scope modifiers, so the agent immediately knows what comes back. It does not, however, name or distinguish itself from the sibling get_error_detail, which is the closest alternative.

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?

There is no when-to-use guidance, no mention of when-not-to-use, and no reference to alternatives such as get_error_detail, get_error_stats, or resolve_error. The agent must infer the routing from the name alone.

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

get_error_statsAInspect

Get summary statistics about production errors: total unresolved, errors by status code, most frequent exceptions. Requires admin authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries full disclosure burden. It does add one genuinely useful behavioral trait — 'Requires admin authentication' — and its read-only nature is implicit in the verb 'Get'. However, it omits return format, pagination, rate limits, or scope (e.g. time window) details that would matter operationally.

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 tight sentences, front-loaded with the core capability followed by the authentication prerequisite. Every clause earns its place and nothing is redundant.

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?

For a zero-parameter, no-output-schema read tool, the description covers what it returns and the auth requirement, which is enough to invoke it correctly. The main residual gap is the absence of any scope/timing detail (window covered by 'statistics') and lack of guidance relative to its error-related siblings.

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 tool takes zero parameters, so there is no parameter semantics to document; the baseline of 4 applies. The description correctly does not invent or reference nonexistent inputs.

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 gives a specific verb ('Get'), resource ('production errors'), and enumerates the exact statistics returned (total unresolved, by status code, most frequent exceptions). This clearly separates it from siblings like get_errors (a list) and get_error_detail (single record), though it never names those siblings explicitly.

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?

Usage is only implied: 'summary statistics' suggests a good first-look/overview call before drilling into get_errors or get_error_detail, but the description never states when to prefer it over those alternatives or any exclusions. No explicit routing guidance is provided.

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

list_analysesAInspect

List all your previous PDF analyses with file names, dates, and tokens. Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses the authentication requirement and the shape of returned fields, which is genuinely useful, but says nothing about ordering, pagination, result caps, or whether the list is scoped to the current user only.

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 short sentences, purpose and return fields front-loaded, authentication constraint appended. No filler or redundancy.

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?

For a zero-parameter, read-only list tool with no output schema, naming the returned fields and the auth requirement covers most of what an agent needs. Only the absence of any volume/pagination expectation keeps it from being fully complete.

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 tool takes zero parameters, so the baseline is 4. There is nothing for the description to disambiguate, and it correctly does not invent parameter details that do not exist.

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?

States a specific verb and resource ('List all your previous PDF analyses') and enumerates the returned fields (file names, dates, tokens). It is distinguishable from the singular get_analysis, but it never names that sibling explicitly, so the differentiation is inferred rather than stated.

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?

There is no when-to-use / when-not-to-use guidance and no alternative tool is named, even though get_analysis and analyze_pdf are obvious neighbors. 'Requires authentication' is a prerequisite, not usage routing, so an agent gets no help choosing between listing and fetching a single analysis.

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

resolve_errorBInspect

Mark an error as resolved with an optional resolution note. Requires admin authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
error_idYesThe ID of the error log entry to resolve
resolution_noteNoDescription of the fix applied

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden; it usefully discloses the admin authentication requirement. However, it omits whether resolution is reversible, what state change occurs, or whether the note is stored permanently.

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 short sentences, the action front-loaded and the prerequisite attached immediately after. No filler or redundancy.

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 two-parameter mutation with no annotations and no output schema, the description covers the action and the auth gate but leaves the side effects and reversibility unexplained. Adequate but with clear gaps.

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 description coverage is 100%, so both parameters are already documented ('The ID of the error log entry to resolve', 'Description of the fix applied'). The description's 'optional resolution note' merely confirms optionality and adds no new syntax or format detail.

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?

States a specific verb (Mark as resolved) and resource (error), plus the optional note. It is the only mutating sibling among read-oriented tools like get_errors and get_error_detail, though the description does not explicitly name those alternatives.

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?

No when-to-use or when-not-to-use guidance; the only contextual cue is the admin authentication requirement. An agent gets no routing signal about when resolving is appropriate versus inspecting via get_error_detail first.

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. 8 tool updates
    • First observedanalyze_pdf
    • First observedcheck_usage
    • First observedget_analysis
    • First observedget_error_detail
    • First observedget_error_stats
    • First observedget_errors
    • First observedlist_analyses
    • First observedresolve_error

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    22 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables tracking competitor websites, changelogs, blog feeds, and pricing pages with meaningful diffs, classification, and Markdown digests via MCP tools for listing, adding, removing competitors, running checks, and retrieving digests or changes.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources