# luotwo/easyaccesspdf-mcp [Health: Active]

**Category:** 🛠️ Other Tools and Integrations  
**Repository:** https://github.com/luotwo/easyaccesspdf-mcp  
**GitHub Stars:** 0  
**Views:** 1  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/luotwo-easyaccesspdf-mcp

## Description
PDF accessibility checks (veraPDF PDF/UA-1), auto-tagging remediation and document-to-Markdown conversion via a hosted EU service. Remote Streamable HTTP endpoint at easyaccesspdf.com, free tier available.

## Tools
Capabilities this server exposes over MCP:

- **eap_convert_to_markdown** — Document (PDF, DOCX, DOC, PPT, XLS, HTML, EPUB, RTF, ODT, TXT) → clean Markdown
- **eap_export_pdf** — PDF → `json` (structured tree), `html`, `text`, or `annotated-pdf` (layout visualization, 24h download URL)
- **eap_check_pdf** — veraPDF PDF/UA-1 (ISO 14289-1) accessibility audit: pages, grade A/B/C/F, issue list, tag coverage
- **eap_get_account_status** — Plan, expiry, credit balance, current prices
- **eap_fix_pdf** — Auto-tag + metadata injection + veraPDF re-audit → 24h download URL for a zip (tagged PDF + report + manual-review checklist)

## Claude Desktop Quick Installation
Heuristic fallback — verify the package name and runner against the repository README before running it. Uses `npx` (confidence: low):

```json
"mcpServers": {
  "easyaccesspdf-mcp": {
    "command": "npx",
    "args": ["-y","luotwo-easyaccesspdf-mcp"]
  }
}
```

## Documentation & README

# EasyAccessPDF — MCP Server Examples

**[English](https://github.com/luotwo/easyaccesspdf-mcp/blob/HEAD/README.md) | [Deutsch](https://github.com/luotwo/easyaccesspdf-mcp/blob/HEAD/README.de.md) | [Français](https://github.com/luotwo/easyaccesspdf-mcp/blob/HEAD/README.fr.md) | [Español](https://github.com/luotwo/easyaccesspdf-mcp/blob/HEAD/README.es.md) | [日本語](https://github.com/luotwo/easyaccesspdf-mcp/blob/HEAD/README.ja.md)**

> 🌐 **Official website: [easyaccesspdf.com](https://easyaccesspdf.com/)** · [Free PDF Checker](https://easyaccesspdf.com/checker/) · [Pricing](https://easyaccesspdf.com/pricing/) · [MCP setup guide](https://easyaccesspdf.com/mcp/)

Connect AI clients (Claude Code, Claude Desktop, Cursor, Codex) to the **EasyAccessPDF MCP server**: convert documents to Markdown, export PDFs to JSON/HTML/text, run veraPDF accessibility checks, and auto-fix PDF/UA issues — directly from your AI workflow.

- **Endpoint:** `https://easyaccesspdf.com/wp-json/easy/v1/mcp`
- **Protocol:** MCP over Streamable HTTP (JSON-RPC 2.0, protocol version `2025-03-26`)
- **Auth:** HTTP Basic — your EasyAccessPDF account email + a WordPress **application password**
- **Introspection:** `initialize`, `ping` and `tools/list` answer without auth — only `tools/call` requires credentials
- **Site:** https://easyaccesspdf.com/mcp/

## Tools (5)

| Tool | What it does | Cost |
|---|---|---|
| `eap_convert_to_markdown` | Document (PDF, DOCX, DOC, PPT, XLS, HTML, EPUB, RTF, ODT, TXT) → clean Markdown | Included with membership |
| `eap_export_pdf` | PDF → `json` (structured tree), `html`, `text`, or `annotated-pdf` (layout visualization, 24h download URL) | Included with membership |
| `eap_check_pdf` | veraPDF PDF/UA-1 (ISO 14289-1) accessibility audit: pages, grade A/B/C/F, issue list, tag coverage | Included with membership |
| `eap_get_account_status` | Plan, expiry, credit balance, current prices | Included with membership |
| `eap_fix_pdf` | Auto-tag + metadata injection + veraPDF re-audit → 24h download URL for a zip (tagged PDF + report + manual-review checklist) | **1 credit per document** — billed for members and non-members alike |

All tools take a **publicly accessible URL** of the document (max 50MB). Documents are processed in the EU (Frankfurt) and not stored.

### Input schemas (live from `tools/list`)

```jsonc
// eap_convert_to_markdown
{ "type": "object", "properties": { "url": { "type": "string" } }, "required": ["url"] }

// eap_export_pdf
{ "type": "object",
  "properties": {
    "url": { "type": "string" },
    "format": { "type": "string", "enum": ["json", "html", "text", "annotated-pdf"] } },
  "required": ["url", "format"] }

// eap_check_pdf
{ "type": "object", "properties": { "url": { "type": "string" } }, "required": ["url"] }

// eap_fix_pdf
{ "type": "object",
  "properties": { "url": { "type": "string" }, "title": { "type": "string" } },
  "required": ["url"] }

// eap_get_account_status
{ "type": "object", "properties": [] }
```

## 1. Get your credentials

1. Create an account at https://easyaccesspdf.com/my-account/ and verify your email (6-digit code).
2. Buy the **MCP Membership** ($19.90 / 32 days, no auto-renewal — purchases stack) or credit packs for `eap_fix_pdf`.
3. In **My Account → Profile → Application Passwords**, create a new application password (e.g. named `claude`).
4. Build the Basic token: `base64( youremail@example.com : your-application-password )`.

```bash
# Linux / macOS
printf 'you@example.com:xxxx xxxx xxxx xxxx xxxx xxxx' | base64
# Windows PowerShell
[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes('you@example.com:xxxx xxxx xxxx xxxx xxxx xxxx'))
```

Keep the token private — it can spend your credits. Revoke any time in your WP profile.

## 2. Client setup

### Claude Code

```bash
claude mcp add --transport http easyaccesspdf \
  https://easyaccesspdf.com/wp-json/easy/v1/mcp \
  --header "Authorization: Basic <BASE64>"
claude mcp list   # should show easyaccesspdf with 5 tools
```

### Claude Desktop

`%APPDATA%\Claude\claude_desktop_config.json` (Windows) / `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS):

```json
{
  "mcpServers": {
    "easyaccesspdf": {
      "type": "http",
      "url": "https://easyaccesspdf.com/wp-json/easy/v1/mcp",
      "headers": { "Authorization": "Basic <BASE64>" }
    }
  }
}
```

### Cursor

`~/.cursor/mcp.json` (or project `.cursor/mcp.json`):

```json
{
  "mcpServers": {
    "easyaccesspdf": {
      "type": "streamable-http",
      "url": "https://easyaccesspdf.com/wp-json/easy/v1/mcp",
      "headers": { "Authorization": "Basic <BASE64>" }
    }
  }
}
```

### Codex (OpenAI)

`~/.codex/config.toml`:

```toml
[mcp_servers.easyaccesspdf]
url = "https://easyaccesspdf.com/wp-json/easy/v1/mcp"
http_headers = { "Authorization" = "Basic <BASE64>" }
```

Verify with `codex mcp list`.

### Any stdio-only client (bridge)

Clients that only speak stdio MCP can use [`bridge/eap-mcp-bridge.mjs`](https://github.com/luotwo/easyaccesspdf-mcp/blob/HEAD/bridge/eap-mcp-bridge.mjs) — a zero-dependency Node 18+ script that forwards stdio JSON-RPC to the hosted endpoint. A [`Dockerfile`](https://github.com/luotwo/easyaccesspdf-mcp/blob/HEAD/Dockerfile) is included for containerized runners.

```json
{
  "mcpServers": {
    "easyaccesspdf": {
      "command": "node",
      "args": ["bridge/eap-mcp-bridge.mjs"],
      "env": { "EAP_TOKEN": "<BASE64>" }
    }
  }
}
```

Or with Docker: `docker build -t eap-mcp-bridge . && docker run -i --rm -e EAP_TOKEN=<BASE64> eap-mcp-bridge`. Without `EAP_TOKEN` the bridge still answers `initialize` / `tools/list` (introspection is open); `tools/call` then returns the upstream 401.

## 3. Minimal clients (no SDK)

See [`examples/python_client.py`](https://github.com/luotwo/easyaccesspdf-mcp/blob/HEAD/examples/python_client.py) and [`examples/node_client.mjs`](https://github.com/luotwo/easyaccesspdf-mcp/blob/HEAD/examples/node_client.mjs) — plain HTTP/JSON-RPC, no dependencies beyond `requests` / Node 18+.

```bash
python examples/python_client.py
node examples/node_client.mjs
```

Both run: `initialize` → `tools/list` → `eap_get_account_status` and print the results.

## Billing transparency

- Membership ($19.90 / 32 days, stacking, no auto-renewal) includes unlimited conversions, exports, checks, and account status.
- `eap_fix_pdf` always costs **1 remediation credit per document** ($2.99 single-fix value; credit packs bring it to $0.67) — for members and non-members alike. Membership has no fix privilege.
- Credits never expire. Pricing: https://easyaccesspdf.com/pricing/

## License

MIT — see [LICENSE](https://github.com/luotwo/easyaccesspdf-mcp/blob/HEAD/LICENSE). Examples only; EasyAccessPDF is a commercial service operated by HEPA Zweigniederlassung der RUBIX GmbH, Germany.

