Skip to main content

PromptReady MCP

Official Model Context Protocol client for PromptReady — convert PDF/CSV to Markdown from AI agents (Grok, Claude Code, Cursor, and other MCP hosts).

Same PromptReady account and credits as the web app.

Data flow: your local PDF/CSV files are uploaded to the PromptReady cloud (promptready.space) for OCR processing. Converted Markdown is downloaded back to your machine. Files are auto-deleted from the server 3 hours after your batch finishes. No long-term storage.

Features

  • Browser Google login (tokens stay on your machine)
  • get_credits, convert_pdf, get_status, wait_and_download, list_conversions
  • Durable results: convert_pdf returns a log_id; wait_and_download / get_status accept it and resolve via the database, so a server restart, a redeploy, or a second back-to-back convert can no longer orphan a finished job (results are kept 3 hours)
  • Slash commands for humans: /promptready:convert and five more (below)
  • Saved convert defaults (engine, tables, images) — not on every call
  • Factory default: PaddleOCR-VL, tables on, images off

Install

Once listed in the Claude Code plugin directory:

/plugin install promptready

As a standalone MCP server

pip install promptready-mcp

Or run it without installing:

uvx promptready-mcp
From source
git clone https://github.com/hydrojwh/promptready-mcp.git
cd promptready-mcp
python3 -m venv .venv && source .venv/bin/activate
pip install -e .

Login (once per machine)

promptready-mcp-login

If you installed with uvx, the login command lives in the same package:

uvx --from promptready-mcp promptready-mcp-login

Either opens Google OAuth and saves credentials to ~/.config/promptready/credentials.json (file mode 0600). That path is in your home directory, so it survives uvx cache resets. You can also log in from inside an MCP host by calling the login tool.

After you sign in, the browser returns to http://127.0.0.1:18765/callback — a local page started by the login command. No Supabase configuration is needed.

Email login fallback

If browser-based Google login is not an option, the same command accepts email and password:

promptready-mcp-login --email you@x.com

Leave out --password and you will be prompted for it instead — this keeps the password out of your shell history.

Already have an access token? Set PROMPTREADY_ACCESS_TOKEN in the environment (MCP host or shell). Environment variables take precedence over the saved credentials file.

MCP host config

Fastest: let your AI agent install it

If you are already in an MCP-capable agent, skip the JSON editing and just ask:

Install the PromptReady MCP server for me. The PyPI package is promptready-mcp (stdio command promptready-mcp). Add it to your MCP config, then I will run the login tool.

In Claude Code the agent can use the built-in CLI:

claude mcp add promptready -- promptready-mcp

Reconnect after changing config

Hosts do not pick up MCP config changes mid-session. After changing the config, restart the host or reconnect the server — in Claude Code, open the /mcp panel and reconnect.

The /mcp panel shows server status and lists the connected servers' tools, but it does not run them: picking a tool in that list will not invoke it. Tools are invoked through normal conversation — ask the agent to convert a file and it calls convert_pdf for you. If a call fails, reconnect from the panel first.

Claude Code

claude mcp add promptready -- promptready-mcp

The default scope is local (this project only). Use --scope user to register it for all your projects, or --scope project to share the registration through a committed .mcp.json.

Cursor

Add to ~/.cursor/mcp.json (or .cursor/mcp.json for a single project):

{
  "mcpServers": {
    "promptready": {
      "command": "promptready-mcp"
    }
  }
}

Grok

[mcp_servers.promptready]
command = "promptready-mcp"
enabled = true
tool_timeout_sec = 3600

Claude Desktop / generic JSON

{
  "mcpServers": {
    "promptready": {
      "command": "promptready-mcp"
    }
  }
}

No access token in config files required after login.

Host cannot find promptready-mcp

GUI hosts start servers with a narrow PATH, so a console script installed by pip install --user is often invisible to them — the host reports a spawn failure or "server disconnected" rather than a missing command.

Two reliable fixes:

{ "mcpServers": { "promptready": {
  "command": "uvx", "args": ["promptready-mcp"] } } }

or point at the absolute path of the script: /ABS/PATH/.venv/bin/promptready-mcp.

Tools

Tool Purpose
login / logout Browser auth / clear local credentials
get_credits Credit balance
get_convert_settings / set_convert_settings Saved convert defaults
convert_pdf Upload path → queue (optional wait)
get_status Status — by log_id (DB, restart-proof) or session
wait_and_download Wait + save .md, by log_id or session
list_conversions Recent conversions with log_id, status, downloadable

Downloaded names follow the web app: {name}_PaddleOCR-VL.md (engine label).

Credits are deducted by the server when a job is queued, exactly as on the web app. convert_pdf(wait=True) can run for a long time, so give the host a high tool timeout.

Durable results with log_id (0.4.0)

convert_pdf returns log_id — the id of the conversion record in your account. Unlike the session status, it survives backend restarts and later converts:

convert_pdf(path="report.pdf")            → {"log_id": "…uuid…", …}
wait_and_download(log_id="…uuid…")        → saves report_PaddleOCR-VL-1.6.md
list_conversions(limit=10)                → past conversions + their log_ids

Results are downloadable for 3 hours after completion (HTTP 410 after that — converting again, with fresh credits, is then the only way). If a download fails for another reason, retry wait_and_download with the same log_id; never re-run convert_pdf for the same file.

Slash commands

MCP prompts are the human entry point: instead of describing what you want, you pick a command. Hosts that surface prompts as slash commands (Claude Code does) show them as /promptready:<name>:

Slash command Purpose
/promptready:login Log in (opens the browser Google sign-in)
/promptready:logout Log out on this machine
/promptready:credits Show your credit balance
/promptready:convert Convert a PDF/CSV to Markdown
/promptready:site Show the PromptReady web app URL
/promptready:settings Show — and optionally change — convert defaults

Each command expands to a short instruction; the agent then calls the matching tool (login, get_credits, convert_pdf, …) for you.

/promptready:convert optionally takes two positional arguments, input path then output directory. Pick the command from the slash menu (hosts may list it as promptready:convert (MCP)) and append the arguments:

/promptready:convert (MCP) report.pdf markdown-out

Arguments are split on whitespace and cannot be quoted, so paths with spaces do not fit on the command line — run the command bare and give the paths in chat instead. Line breaks and control characters in arguments are rejected outright (0.3.8): an argument is interpolated into the instruction the command expands to, and it must never be able to start a line of its own. With no arguments the command asks you for them. The conversion itself always goes through the convert_pdf tool: never re-run it for the same file while a download is pending — that queues a fresh conversion and spends fresh credits; the expanded command tells the agent to call wait_and_download instead.

Hosts that do not map prompts to slash commands simply ignore this section; the tools keep working as before.

Security

  • Tokens are never hardcoded in this repository.
  • Do not commit ~/.config/promptready/* or .env.
  • Only use the official package linked from https://promptready.space
  • Vulnerability reports: see SECURITY.md

Service terms

Using the cloud API is subject to the Terms of Service and Privacy Policy. This MIT-licensed client does not grant free unlimited conversion.

Smoke test (no account)

./scripts/smoke_stdio.sh

License

MIT — see LICENSE.

Metadata

Release files for promptready-mcp 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for promptready-mcp 0.4.0
File Size Uploaded Provenance
promptready_mcp-0.4.0.tar.gz 34.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for promptready-mcp 0.4.0
File Interpreter ABI Platform
promptready_mcp-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 68.9 kB

Release files / promptready_mcp-0.4.0.tar.gz

Download URL promptready_mcp-0.4.0.tar.gz
Size 34.5 kB
Tags Source
SHA-256 checksum
How to use checksums
2d8dbd3c18b717ae9762d1ca6a0cff3314f5a77bae541de1f0b91e64cce47006
BLAKE2b-256 checksum
How to use checksums
934831955147aed191f29eb4427fe814472d34317995bc4fbab686c8c72ad6c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / promptready_mcp-0.4.0-py3-none-any.whl

Download URL promptready_mcp-0.4.0-py3-none-any.whl
Size 34.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
76488ded395eb097672bf291c2d27c09850aafd42292666802aab017d8700066
BLAKE2b-256 checksum
How to use checksums
a3842b555b065908f198371de4a495f973cecd3fb562a1f387eef9628db8914c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Security for promptready-mcp 0.4.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page