PDF Extraction MCP Server
Enables Claude to extract text and metadata from PDF files via URL or base64 encoding. Supports optional bearer token authentication and can be deployed as a custom connector on claude.ai.
README
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 |
|---|---|
extract_text_from_url |
Download a PDF from a public URL and return its text |
extract_text_from_base64 |
Extract text from a base64-encoded PDF |
get_pdf_metadata |
Return page count, title, author, dates — without full text |
Quick start (local)
npm install
npm start
# Server runs on http://localhost:3000
To 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 deploy
Option D — Docker anywhere (VPS / cloud VM)
docker compose up -d
# Then expose port 3000 via nginx + Let's Encrypt for HTTPS
Add 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/mcp - If 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 |
|---|---|---|
PORT |
3000 |
HTTP port |
API_KEY |
(unset) | When set, requires Authorization: Bearer <key> |
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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.