PDF Extraction MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@PDF Extraction MCP Serverextract text from https://example.com/report.pdf"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
PDF Extraction MCP Server
A remote MCP server that gives Claude the ability to extract text and metadata from PDF files. Add it as a custom connector on claude.ai.
Tools exposed to Claude
Tool | Description |
| Download a PDF from a public URL and return its text |
| Extract text from a base64-encoded PDF |
| Return page count, title, author, dates — without full text |
Related MCP server: Document Intelligence MCP Server
Quick start (local)
npm install
npm start
# Server runs on http://localhost:3000To test locally with Claude Desktop, use mcp-remote:
// claude_desktop_config.json
{
"mcpServers": {
"pdf-extraction": {
"command": "npx",
"args": ["mcp-remote", "http://localhost:3000/mcp"]
}
}
}Deploy to the internet (required for claude.ai connector)
Claude.ai connectors require a publicly accessible HTTPS URL.
Option A — Railway (easiest, free tier available)
Push this repo to GitHub.
Go to railway.app → New Project → Deploy from GitHub repo.
Railway auto-detects the Dockerfile and deploys.
Set env vars in Railway dashboard (e.g.
API_KEY).Railway gives you a public HTTPS URL like
https://pdf-mcp-production.up.railway.app.
Option B — Render
Push to GitHub.
Go to render.com → New Web Service → connect repo.
Runtime: Docker. Set env vars.
Render gives you
https://your-service.onrender.com.
Option C — Fly.io
fly launch # follow prompts, auto-detects Dockerfile
fly secrets set API_KEY=your-secret
fly deployOption D — Docker anywhere (VPS / cloud VM)
docker compose up -d
# Then expose port 3000 via nginx + Let's Encrypt for HTTPSAdd to Claude.ai as a connector
Requires Pro, Max, Team, or Enterprise plan.
Open claude.ai → click your avatar → Settings.
Navigate to Connectors.
Click "Add custom connector".
Enter your server's MCP endpoint URL:
https://your-deployed-server.example.com/mcpIf you set
API_KEY, click Advanced settings and enter it as the OAuth Client Secret (or pass it via a Bearer header usingmcp-remotefor Desktop).Click Add.
Claude will now have access to the three PDF tools in every conversation.
Authentication
The server supports two modes:
Authless (default MVP mode) — anyone who knows your URL can use it. Fine for personal use.
Bearer token — set the API_KEY environment variable. Callers must include:
Authorization: Bearer <your-key>For a production connector with user-level OAuth, see the MCP auth spec.
Environment variables
Variable | Default | Description |
|
| HTTP port |
| (unset) | When set, requires |
Extending the server
Add a new tool in src/server.js by calling server.tool(name, description, schema, handler). The MCP SDK handles all protocol framing automatically.
Ideas for next tools:
extract_tables— extract tabular data from PDFssearch_pdf— search for a keyword across pagessplit_pages— return text page-by-pagesummarize_pdf— pipe extracted text back through Claude API
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/isthisemaildangerous/extraction-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server