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- 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 commandpromptready-mcp). Add it to your MCP config, then I will run thelogintool.
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.
Seeing tools in the /mcp panel does not mean the server is connected:
the panel can list the tool catalog while the session has no live server,
and picking a tool from that list will not run it. If tools are listed but
calls fail, reconnect 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.
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.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file promptready_mcp-0.3.6.tar.gz.
File metadata
- Download URL: promptready_mcp-0.3.6.tar.gz
- Upload date:
- Size: 23.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4e457c1238fab325f1a3a7f096dba9a34668c4af80ed1182a12d33f3e8c9e790
|
|
| MD5 |
4390173ee41b802ff214364249630c21
|
|
| BLAKE2b-256 |
a3bf98073cb7f499fb53b015142f71362b1347f4b4e12fd5569ff5afae2f87e3
|
File details
Details for the file promptready_mcp-0.3.6-py3-none-any.whl.
File metadata
- Download URL: promptready_mcp-0.3.6-py3-none-any.whl
- Upload date:
- Size: 24.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ac023efdf214146c093d11abdd9b11ddc98b9d70fa7cf48062d1c35097f0723
|
|
| MD5 |
8747a3b7a48582d013d017cab4bd740c
|
|
| BLAKE2b-256 |
fc76ddb0cbb0bd5cc2384dec0531b49a23752f0852bec6ccbb20df456de77073
|