MCP server intelligence profile

PDF Reader MCP Server

Empowers AI agents to securely read and extract information (text, metadata, page count) from PDF files within project contexts using a flexible MCP tool

Local OnlySylphxAI
Awaiting current scanNpm · 5.0.0

The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.

1Distribution channel
3Independently observed tools
0Linked remote endpoints
AvailableVersion intelligence

Detailed security scan evidence is not public for this MCP yet. Public identity, registry metadata, and independently observed protocol inventory remain available.

Install and connect

Installation and connection instructions are shown only when supported by retained package, repository, or endpoint evidence.

Install @sylphx/citra from npm

Version 5.0.0 declares 1 executable entrypoint.

npm install --save-exact @sylphx/citra@5.0.0
npx -y -p @sylphx/citra@5.0.0 citra
MCP client configuration example
{
  "mcpServers": {
    "@sylphx/citra": {
      "command": "npx",
      "args": [
        "-y",
        "-p",
        "@sylphx/citra@5.0.0",
        "citra"
      ]
    }
  }
}

Identity

Canonical slugpdf-reader-mcp-server-07943249DeploymentLocal Only
Canonical packagenpm:@sylphx/citraRepositorySylphxAI/pdf-reader-mcp
First publishedLatest release
Last security verificationClassification confidence90%
PublicationDraftOfficial distributionNot verified

Distributions

ChannelIdentifierCurrent versionVersionsSource
npm@sylphx/citra5.0.02Repository

Current release

PackageVersionPublished / observedInventorySecurity scan
npm@sylphx/citra5.0.0CurrentSep 5, 20263 toolsSucceeded · 0 resources · 0 promptsEvidence restricted
Enterprise protection

Continuously monitor this MCP for security risk

Independently scan the exact version your agents use, receive alerts when its risk changes, and investigate every finding with retained version evidence.

  • Independent exact-version security scans
  • Continuous release and vulnerability monitoring
  • Risk-change alerts with capability context
  • Historical evidence and API exports
Custom pricingContact salesTailored to your organization, integrations, data needs, and support requirements.

Current version evidence

No public current-version evidence is available yet.

Current protocol inventory

2025-06-18Negotiated protocol
citraServer-reported name
1Capability groups
Aug 14, 2026Observed

Tools 3

ToolCategoryAnnotationsRisk
pdf_evidenceFocused PDF evidence operations. Pure-Rust supports inspect, bounded page rendering/crops, opt-in bounded command-provider OCR, and region analysis via command, HTTP URL, or ollama/openai-compatible/lmstudio/llamacpp presets.
Input schema
{
  "$defs": {
    "PageNumber": {
      "format": "uint32",
      "minimum": 1,
      "type": "integer"
    },
    "PageSpecifier": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/PageNumber"
          },
          "type": "array"
        },
        {
          "minLength": 1,
          "type": "string"
        }
      ]
    },
    "PdfEvidenceOperation": {
      "enum": [
        "inspect",
        "render_page",
        "extract_regions",
        "ocr_pages",
        "analyze_regions"
      ],
      "type": "string"
    },
    "PdfEvidenceRegion": {
      "properties": {
        "bounding_box": {
          "$ref": "#/$defs/RegionBoundingBox"
        },
        "id": {
          "type": [
            "string",
            "null"
          ]
        },
        "padding": {
          "format": "double",
          "maximum": 200,
          "minimum": 0,
          "type": [
            "number",
            "null"
          ]
        },
        "page": {
          "format": "uint32",
          "minimum": 1,
          "type": "integer"
        }
      },
      "required": [
        "page",
        "bounding_box"
      ],
      "type": "object"
    },
    "PdfEvidenceSource": {
      "properties": {
        "pages": {
          "anyOf": [
            {
              "$ref": "#/$defs/PageSpecifier"
            },
            {
              "type": "null"
            }
          ]
        },
        "path": {
          "description": "Path to the local PDF file. Provide exactly one of path or url (not both).",
          "minLength": 1,
          "type": [
            "string",
            "null"
          ]
        },
        "regions": {
          "items": {
            "$ref": "#/$defs/PdfEvidenceRegion"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "url": {
          "description": "URL of the PDF file. Provide exactly one of path or url (not both).",
          "minLength": 1,
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "RegionBoundingBox": {
      "properties": {
        "bottom": {
          "format": "double",
          "minimum": 0,
          "type": "number"
        },
        "left": {
          "format": "double",
          "minimum": 0,
          "type": "number"
        },
        "right": {
          "format": "double",
          "minimum": 0,
          "type": "number"
        },
        "top": {
          "format": "double",
          "minimum": 0,
          "type": "number"
        }
      },
      "required": [
        "left",
        "bottom",
        "right",
        "top"
      ],
      "type": "object"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "include_image": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "include_metadata": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "languages": {
      "items": {
        "type": "string"
      },
      "type": [
        "array",
        "null"
      ]
    },
    "max_output_chars": {
      "format": "uint32",
      "maximum": 1000000,
      "minimum": 1000,
      "type": [
        "integer",
        "null"
      ]
    },
    "max_pages": {
      "format": "uint32",
      "maximum": 20,
      "minimum": 1,
      "type": [
        "integer",
        "null"
      ]
    },
    "max_pixels_per_page": {
      "format": "uint64",
      "maximum": 64000000,
      "minimum": 10000,
      "type": [
        "integer",
        "null"
      ]
    },
    "max_regions": {
      "format": "uint32",
      "maximum": 100,
      "minimum": 1,
      "type": [
        "integer",
        "null"
      ]
    },
    "operation": {
      "$ref": "#/$defs/PdfEvidenceOperation"
    },
    "sample_pages": {
      "format": "uint32",
      "maximum": 20,
      "minimum": 1,
      "type": [
        "integer",
        "null"
      ]
    },
    "scale": {
      "format": "double",
      "maximum": 4,
      "minimum": 0.25,
      "type": [
        "number",
        "null"
      ]
    },
    "sources": {
      "items": {
        "$ref": "#/$defs/PdfEvidenceSource"
      },
      "type": "array"
    },
    "timeout_ms": {
      "format": "uint32",
      "maximum": 300000,
      "minimum": 1000,
      "type": [
        "integer",
        "null"
      ]
    }
  },
  "required": [
    "operation",
    "sources"
  ],
  "type": "object"
}
read_pdfPrimary PDF reader. Pure-Rust default: selectable text, markdown, chunks, tables, search, and evidence-oriented twin fields under capability-first semantic compatibility (ADR-0005).
Input schema
{
  "$defs": {
    "PageNumber": {
      "format": "uint32",
      "minimum": 1,
      "type": "integer"
    },
    "PageSpecifier": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/PageNumber"
          },
          "type": "array"
        },
        {
          "minLength": 1,
          "type": "string"
        }
      ]
    },
    "PdfSource": {
      "properties": {
        "pages": {
          "anyOf": [
            {
              "$ref": "#/$defs/PageSpecifier"
            },
            {
              "type": "null"
            }
          ]
        },
        "path": {
          "description": "Path to the local PDF file (absolute or relative to cwd). Provide exactly one of path or url (not both).",
          "minLength": 1,
          "type": [
            "string",
            "null"
          ]
        },
        "url": {
          "description": "URL of the PDF file. Provide exactly one of path or url (not both).",
          "minLength": 1,
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "ReadPdfAutoDetail": {
      "enum": [
        "fast",
        "balanced",
        "full"
      ],
      "type": "string"
    },
    "TrustReportRedaction": {
      "enum": [
        "standard",
        "strict",
        "off"
      ],
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "auto": {
      "description": "Automatically choose high-value extraction options. Defaults to true only when no explicit include_* options are supplied.",
      "type": [
        "boolean",
        "null"
      ]
    },
    "auto_detail": {
      "anyOf": [
        {
          "$ref": "#/$defs/ReadPdfAutoDetail"
        },
        {
          "type": "null"
        }
      ],
      "description": "Automatic extraction depth: fast | balanced | full."
    },
    "include_accessibility_report": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "include_annotations": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "include_attachments": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "include_chunks": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "include_document_ast": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "include_document_map": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "include_elements": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "include_form_fields": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "include_full_text": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "include_html": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "include_images": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "include_layout_diagnostics": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "include_markdown": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "include_metadata": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "include_ocr_text_layer": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "include_outline": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "include_page_count": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "include_page_geometry": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "include_page_labels": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "include_permissions": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "include_safety_findings": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "include_semantic_hints": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "include_structure_tree": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "include_tables": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "include_text_layer": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "include_trust_report": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "include_visual_enrichments": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "max_visual_enrichments": {
      "format": "uint32",
      "minimum": 1,
      "type": [
        "integer",
        "null"
      ]
    },
    "sample_pages": {
      "format": "uint32",
      "maximum": 20,
      "minimum": 1,
      "type": [
        "integer",
        "null"
      ]
    },
    "sources": {
      "items": {
        "$ref": "#/$defs/PdfSource"
      },
      "type": "array"
    },
    "trust_report_redaction": {
      "anyOf": [
        {
          "$ref": "#/$defs/TrustReportRedaction"
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "sources"
  ],
  "type": "object"
}
search_pdfSearches extracted PDF text with page, snippet, geometry, and provenance. Optional OCR uses the bounded command provider.
Input schema
{
  "$defs": {
    "PageNumber": {
      "format": "uint32",
      "minimum": 1,
      "type": "integer"
    },
    "PageSpecifier": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/PageNumber"
          },
          "type": "array"
        },
        {
          "minLength": 1,
          "type": "string"
        }
      ]
    },
    "PdfSource": {
      "properties": {
        "pages": {
          "anyOf": [
            {
              "$ref": "#/$defs/PageSpecifier"
            },
            {
              "type": "null"
            }
          ]
        },
        "path": {
          "description": "Path to the local PDF file (absolute or relative to cwd). Provide exactly one of path or url (not both).",
          "minLength": 1,
          "type": [
            "string",
            "null"
          ]
        },
        "url": {
          "description": "URL of the PDF file. Provide exactly one of path or url (not both).",
          "minLength": 1,
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "case_sensitive": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "context_chars": {
      "format": "uint32",
      "maximum": 1000,
      "minimum": 0,
      "type": [
        "integer",
        "null"
      ]
    },
    "include_ocr_text_layer": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "max_matches_per_source": {
      "format": "uint32",
      "maximum": 500,
      "minimum": 1,
      "type": [
        "integer",
        "null"
      ]
    },
    "max_pages": {
      "format": "uint32",
      "maximum": 1000,
      "minimum": 1,
      "type": [
        "integer",
        "null"
      ]
    },
    "prefer_speed": {
      "description": "Prefer faster text-index search (omit match geometry; ignored when OCR is enabled).",
      "type": [
        "boolean",
        "null"
      ]
    },
    "query": {
      "description": "Literal text query to search for in extracted PDF text.",
      "minLength": 1,
      "type": "string"
    },
    "sources": {
      "items": {
        "$ref": "#/$defs/PdfSource"
      },
      "type": "array"
    },
    "whole_word": {
      "type": [
        "boolean",
        "null"
      ]
    }
  },
  "required": [
    "sources",
    "query",
    "prefer_speed"
  ],
  "type": "object"
}

Resources 0

  • None observed.

Resource templates 0

  • None observed.

Prompts 0

  • None observed.

Remote endpoints

EndpointTransportAuthenticationHealthObserved
No verified remote endpoint is linked.

PDF Reader MCP Server questions

How do I install PDF Reader MCP Server?

Install the selected package version with: npm install --save-exact @sylphx/citra@5.0.0

What tools does PDF Reader MCP Server provide?

PDF Reader MCP Server exposed 3 tools during independent protocol observation, including pdf_evidence, read_pdf, search_pdf.

Is PDF Reader MCP Server secure?

The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.

Explore related MCP server guides

Curated product and capability guides containing this catalog record.

Official vs Community MCP Servers

Let’s talk about MCP security.

Share your details and our security team will contact you.