Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Crawler Summary
MCP server for reading PDF, Word, Excel, and PowerPoint files with context-efficient tools Document Reader MCP Server An MCP (Model Context Protocol) server that lets AI assistants read PDF, Word, Excel, and PowerPoint files without blowing up the context window. $1 $1 --- Why this exists Most AI tools try to dump an entire document into the prompt at once. This server solves that with **context-efficient reading** by exposing tools that: - Get document **metadata first** (page count, sheet names) - Read * Published capability contract available. No trust telemetry is available yet. Last updated 3/14/2026.
Freshness
Last checked 2/22/2026
Best For
Contract is available with explicit auth and schema references.
Not Ideal For
pdf-ppt-mcp is not ideal for teams that need stronger public trust telemetry, lower setup complexity, or more explicit contract coverage before production rollout.
Evidence Sources Checked
editorial-content, capability-contract, runtime-metrics, public facts pack
MCP server for reading PDF, Word, Excel, and PowerPoint files with context-efficient tools Document Reader MCP Server An MCP (Model Context Protocol) server that lets AI assistants read PDF, Word, Excel, and PowerPoint files without blowing up the context window. $1 $1 --- Why this exists Most AI tools try to dump an entire document into the prompt at once. This server solves that with **context-efficient reading** by exposing tools that: - Get document **metadata first** (page count, sheet names) - Read *
Public facts
6
Change events
1
Artifacts
0
Freshness
Feb 22, 2026
Published capability contract available. No trust telemetry is available yet. Last updated 3/14/2026.
Trust score
Unknown
Compatibility
MCP
Freshness
Feb 22, 2026
Vendor
Abdo544445
Artifacts
0
Benchmarks
0
Last release
1.0.3
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Published capability contract available. No trust telemetry is available yet. Last updated 3/14/2026.
Setup snapshot
git clone https://github.com/abdo544445/pdf-ppt-mcp.gitSetup complexity is MEDIUM. Standard integration tests and API key provisioning are required before connecting this to production workloads.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Abdo544445
Protocol compatibility
MCP
Auth modes
mcp, api_key
Machine-readable schemas
OpenAPI or schema references published
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
typescript
bash
npx -y pdf-ppt-mcp
bash
npm install -g pdf-ppt-mcp mcp-document-server
bash
git clone https://github.com/abdo544445/pdf-ppt-mcp.git cd pdf-ppt-mcp npm install npm run build npm start
json
{
"mcpServers": {
"document-reader": {
"command": "npx",
"args": ["-y", "pdf-ppt-mcp"]
}
}
}json
{
"mcpServers": {
"document-reader": {
"command": "npx",
"args": ["-y", "pdf-ppt-mcp"]
}
}
}json
{
"mcpServers": {
"document-reader": {
"command": "npx",
"args": ["-y", "pdf-ppt-mcp"]
}
}
}Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB MCP
Editorial quality
ready
MCP server for reading PDF, Word, Excel, and PowerPoint files with context-efficient tools Document Reader MCP Server An MCP (Model Context Protocol) server that lets AI assistants read PDF, Word, Excel, and PowerPoint files without blowing up the context window. $1 $1 --- Why this exists Most AI tools try to dump an entire document into the prompt at once. This server solves that with **context-efficient reading** by exposing tools that: - Get document **metadata first** (page count, sheet names) - Read *
An MCP (Model Context Protocol) server that lets AI assistants read PDF, Word, Excel, and PowerPoint files without blowing up the context window.
Most AI tools try to dump an entire document into the prompt at once. This server solves that with context-efficient reading by exposing tools that:
This keeps your context window clean while still giving the AI access to large documents.
| Format | Extension(s) | How it's read |
|--------|-------------|---------------|
| PDF | .pdf | Page-by-page (native PDF pagination) |
| Word | .docx | Paragraph-aware chunking |
| Excel | .xlsx, .xls | Sheet-by-sheet (full CSV per sheet) |
| PowerPoint | .pptx, .ppt | Slide-by-slide (true slide extraction) |
npx -y pdf-ppt-mcp
npm install -g pdf-ppt-mcp
mcp-document-server
git clone https://github.com/abdo544445/pdf-ppt-mcp.git
cd pdf-ppt-mcp
npm install
npm run build
npm start
Add to your MCP config file (usually ~/.cline/mcp_settings.json or .vscode/mcp.json):
{
"mcpServers": {
"document-reader": {
"command": "npx",
"args": ["-y", "pdf-ppt-mcp"]
}
}
}
Open Settings -> MCP and add:
{
"mcpServers": {
"document-reader": {
"command": "npx",
"args": ["-y", "pdf-ppt-mcp"]
}
}
}
In your claude_desktop_config.json:
{
"mcpServers": {
"document-reader": {
"command": "npx",
"args": ["-y", "pdf-ppt-mcp"]
}
}
}
{
"mcpServers": {
"document-reader": {
"command": "node",
"args": ["/absolute/path/to/pdf-ppt-mcp/build/index.js"]
}
}
}
get_document_infoAlways call this first. Returns metadata so the AI knows the document's size before trying to read it.
Input:
| Parameter | Type | Description |
|-----------|------|-------------|
| filePath | string | Absolute path to the document |
Example output:
report.pdf โ PDF document
Total pages: 42
data.xlsx โ Excel workbook
Sheets (3): "Summary", "Q1 Data", "Q2 Data"
slides.pptx โ PowerPoint presentation
Total slides: 12
read_document_pageRead one specific page, chunk, or sheet at a time to avoid loading the whole document.
Input:
| Parameter | Type | Description |
|-----------|------|-------------|
| filePath | string | Absolute path to the document |
| pageOrSheet | string | PDF/Word/PPT: page/chunk/slide number (e.g. "3"). Excel: sheet name (e.g. "Sheet1") |
Example calls:
// Read page 5 of a PDF
{ "filePath": "/docs/report.pdf", "pageOrSheet": "5" }
// Read slide 2 of a PPTX
{ "filePath": "/docs/deck.pptx", "pageOrSheet": "2" }
// Read the "Sales" sheet of an Excel file
{ "filePath": "/docs/data.xlsx", "pageOrSheet": "Sales" }
// Read chunk 3 of a Word document
{ "filePath": "/docs/contract.docx", "pageOrSheet": "3" }
search_documentSearch the entire document for a keyword. Returns matching pages/slides/chunks with surrounding context snippets.
Input:
| Parameter | Type | Description |
|-----------|------|-------------|
| filePath | string | Absolute path to the document |
| query | string | Search term (case-insensitive) |
Example output:
Found 2 match(es) for "revenue":
[Page 7]:
...total revenue for Q3 was $4.2M, representing a 12% increase over...
[Page 23]:
...projected revenue targets were exceeded in all regions except...
list_directoryList all supported document files in a folder. Useful for discovering what documents are available.
Input:
| Parameter | Type | Description |
|-----------|------|-------------|
| directoryPath | string | Absolute path to the directory |
Example output:
Found 4 document(s):
annual_report.pdf (2,341.2 KB)
budget_2025.xlsx (128.5 KB)
proposal.docx (54.8 KB)
presentation.pptx (8,902.1 KB)
read_full_documentRead the entire document at once. Best for small documents only.
Warning: Use
read_document_pageorsearch_documentfor large documents to avoid filling the context window.
Input:
| Parameter | Type | Description |
|-----------|------|-------------|
| filePath | string | Absolute path to the document |
| maxChunks | number | Max pages/chunks to read (default: 10, max: 50) |
When an AI assistant uses this server, the recommended flow is:
1. list_directory("/path/to/folder") -> discover available documents
2. get_document_info("/path/to/doc.pdf") -> learn total pages
3. search_document("/path/to/doc.pdf", "key term") -> find relevant pages
4. read_document_page("/path/to/doc.pdf", "7") -> read specific page
This approach typically uses less than 5% of context compared to loading the whole document.
The server connects to your AI assistant (via MCP protocol) and routes requests to specialized parsing services under the hood.
[ ๐ค AI Assistant ] <โโ MCP Protocol โโ> [ ๐ Document Reader Server ]
(Claude, Cursor) โ
โ (routes commands)
โผ
[ MCP Tools ]
โ
โโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโ
โผ โผ โผ โผ
[ read_page ] [ search_doc ] [ get_info ] [ read_full ]
โ โ โ โ
โโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโฌโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
[ โ๏ธ Parsing Services ]
โ
โโโโโโโโโโโโโโโโฌโโโโโโโโโโโโดโโโโฌโโโโโโโโโโโโโโโ
โผ โผ โผ โผ
PDFService WordService ExcelService PptService
(pdf-parse) (mammoth) (xlsx) (officeparser)
โ โ โ โ
โโโโโโโโโโโโโโโโดโโโโโโโโฌโโโโโโโโดโโโโโโโโโโโโโโโ
โ
โผ
[ ๐ Local File System ]
pdf-ppt-mcp/
โโโ src/
โ โโโ index.ts # MCP Server - tool definitions and routing
โ โโโ services/
โ โโโ pdf.service.ts # PDF parsing (pdf-parse v2)
โ โโโ word.service.ts # Word parsing (mammoth)
โ โโโ excel.service.ts # Excel parsing (xlsx)
โ โโโ ppt.service.ts # PPT parsing (officeparser)
โโโ build/ # Compiled output (auto-generated)
โโโ package.json
โโโ tsconfig.json
โโโ README.md
| Library | Purpose |
|---------|---------|
| @modelcontextprotocol/sdk | MCP server/client protocol |
| pdf-parse | PDF text extraction (v2, page-by-page) |
| mammoth | Word .docx text extraction |
| xlsx | Excel .xlsx/.xls reading |
| officeparser | PowerPoint .pptx/.ppt slide extraction |
# Clone the repo
git clone https://github.com/abdo544445/pdf-ppt-mcp.git
cd pdf-ppt-mcp
# Install dependencies
npm install
# Build TypeScript
npm run build
# Start the server (stdio mode for MCP clients)
npm start
npx -y pdf-ppt-mcp.csv files (direct reading)Pull requests are welcome. For major changes, please open an issue first.
MIT (c) abdo544445
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
ready
Auth
mcp, api_key
Streaming
No
Data region
global
Protocol support
Requires: mcp, lang:typescript
Forbidden: none
Guardrails
Operational confidence: medium
curl -s "https://xpersona.co/api/v1/agents/mcp-abdo544445-pdf-ppt-mcp/snapshot"
curl -s "https://xpersona.co/api/v1/agents/mcp-abdo544445-pdf-ppt-mcp/contract"
curl -s "https://xpersona.co/api/v1/agents/mcp-abdo544445-pdf-ppt-mcp/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
80
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
74
Expose OpenAPI definition endpoints as MCP tools using the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Rank
72
An actix_web backend for the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Contract JSON
{
"contractStatus": "ready",
"authModes": [
"mcp",
"api_key"
],
"requires": [
"mcp",
"lang:typescript"
],
"forbidden": [],
"supportsMcp": true,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": "https://github.com/abdo544445/pdf-ppt-mcp#input",
"outputSchemaRef": "https://github.com/abdo544445/pdf-ppt-mcp#output",
"dataRegion": "global",
"contractUpdatedAt": "2026-02-24T19:46:53.138Z",
"sourceUpdatedAt": "2026-02-24T19:46:53.138Z",
"freshnessSeconds": 4431731
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://xpersona.co/api/v1/agents/mcp-abdo544445-pdf-ppt-mcp/snapshot",
"contractUrl": "https://xpersona.co/api/v1/agents/mcp-abdo544445-pdf-ppt-mcp/contract",
"trustUrl": "https://xpersona.co/api/v1/agents/mcp-abdo544445-pdf-ppt-mcp/trust"
},
"curlExamples": [
"curl -s \"https://xpersona.co/api/v1/agents/mcp-abdo544445-pdf-ppt-mcp/snapshot\"",
"curl -s \"https://xpersona.co/api/v1/agents/mcp-abdo544445-pdf-ppt-mcp/contract\"",
"curl -s \"https://xpersona.co/api/v1/agents/mcp-abdo544445-pdf-ppt-mcp/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"MCP"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_MCP",
"generatedAt": "2026-04-17T02:49:04.616Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "MCP",
"type": "protocol",
"support": "supported",
"confidenceSource": "contract",
"notes": "Confirmed by capability contract"
},
{
"key": "mcp",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "model-context-protocol",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "pdf",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "word",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "excel",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "powerpoint",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "pptx",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "docx",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "xlsx",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "document-reader",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "ai",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "llm",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "claude",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "cursor",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "vscode",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "cli",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:MCP|supported|contract capability:mcp|supported|profile capability:model-context-protocol|supported|profile capability:pdf|supported|profile capability:word|supported|profile capability:excel|supported|profile capability:powerpoint|supported|profile capability:pptx|supported|profile capability:docx|supported|profile capability:xlsx|supported|profile capability:document-reader|supported|profile capability:ai|supported|profile capability:llm|supported|profile capability:claude|supported|profile capability:cursor|supported|profile capability:vscode|supported|profile capability:cli|supported|profile"
}Facts JSON
[
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Abdo544445",
"href": "https://github.com/abdo544445/pdf-ppt-mcp#readme",
"sourceUrl": "https://github.com/abdo544445/pdf-ppt-mcp#readme",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-03-14T18:34:46.135Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "MCP",
"href": "https://xpersona.co/api/v1/agents/mcp-abdo544445-pdf-ppt-mcp/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-abdo544445-pdf-ppt-mcp/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:46:53.138Z",
"isPublic": true
},
{
"factKey": "auth_modes",
"category": "compatibility",
"label": "Auth modes",
"value": "mcp, api_key",
"href": "https://xpersona.co/api/v1/agents/mcp-abdo544445-pdf-ppt-mcp/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-abdo544445-pdf-ppt-mcp/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:46:53.138Z",
"isPublic": true
},
{
"factKey": "schema_refs",
"category": "artifact",
"label": "Machine-readable schemas",
"value": "OpenAPI or schema references published",
"href": "https://github.com/abdo544445/pdf-ppt-mcp#input",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-abdo544445-pdf-ppt-mcp/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:46:53.138Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://xpersona.co/api/v1/agents/mcp-abdo544445-pdf-ppt-mcp/trust",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-abdo544445-pdf-ppt-mcp/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub ยท GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to pdf-ppt-mcp and adjacent AI workflows.