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.

Features

  • Browser Google login (tokens stay on your machine)
  • get_credits, convert_pdf, get_status, wait_and_download
  • 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

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 Job status
wait_and_download Poll + save .md

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.

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.3.8

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.3.8
File Size Uploaded Provenance
promptready_mcp-0.3.8.tar.gz 26.9 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 54.6 kB

Release files / promptready_mcp-0.3.8.tar.gz

Download URL promptready_mcp-0.3.8.tar.gz
Size 26.9 kB
Tags Source
SHA-256 checksum
How to use checksums
728e5df9727c151cffd131f40001d2b54817bbca1e359ee2db42c0a793f0eaf1
BLAKE2b-256 checksum
How to use checksums
99b027f1ad021e61e3bfd24e6dc72c00513203dcf28b474fe447633762045fed
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.3.8-py3-none-any.whl

Download URL promptready_mcp-0.3.8-py3-none-any.whl
Size 27.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
032af6749bd63df6b9c51d3750d0fc286797a3b2a1e7b80fa403c3eb5cb82ab3
BLAKE2b-256 checksum
How to use checksums
77c2e1ba145a6cb6ce7ee592db002aa5237b09ceb1d43d2d553b90a3a5f7ddc4
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.3.8

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