Promptready Mcp

io.github.hydrojwh由 GitHub 账号 hydrojwh 发布v0.4.0更新于 Oct 24, 2026

Convert PDF/CSV to Markdown with AI-powered OCR via the PromptReady cloud API.

已验证STDIO仅桌面文件与存储AI 与机器学习

概览

AI 生成的概览

本地 MCP 服务器,让助手把 PDF 或 CSV 文件上传到 PromptReady 云端做 OCR,并把转换后的 Markdown 取回本地。

可以做什么
通过 PromptReady 云端 OCR 服务把 PDF 和 CSV 文件转换为 Markdown,可选择等待任务完成并把结果文件保存到本地。按转换 ID 查询任务状态、下载已完成的结果,并列出最近的转换及其状态和是否可下载。查询账户积分余额,查看或修改已保存的转换默认设置,例如引擎、表格和图片。在助手内登录或退出 PromptReady 账户。
适用场景
适合让 AI 助手把本地 PDF 或 CSV 文档转成 Markdown 文本、免去手工复制粘贴的场景,尤其适合在 Claude Code、Cursor、Grok 等 MCP 宿主中批量处理文档。
运行要求
需要本地 Python 环境:用 pip 安装 promptready-mcp 包,或用 uvx 直接运行。需要 PromptReady 账户,每台机器通过登录命令或 login 工具登录一次,或通过 PROMPTREADY_ACCESS_TOKEN 提供访问令牌。需要能访问 PromptReady API 的网络。每次转换会消耗积分。
安装前请注意
转换的文件会上传到 PromptReady 云端做 OCR,批次结束后约三小时从服务器删除,结果也只能在这段时间内下载。转换在排队时会从 PromptReady 账户扣除积分,重复运行转换会再次消耗积分。凭据保存在本地凭据文件中,访问令牌只发送给 PromptReady API;修改 PROMPTREADY_BASE_URL 会把包括凭据在内的所有 API 流量改发到该主机。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Promptready Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

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

As a Claude Code plugin (recommended)

Once listed in the Claude Code plugin directory:

/plugin install promptready

As a standalone MCP server

bash
pip install promptready-mcp

Or run it without installing:

bash
uvx promptready-mcp
From source
bash
git clone https://github.com/hydrojwh/promptready-mcp.gitcd promptready-mcppython3 -m venv .venv && source .venv/bin/activatepip install -e .

Login (once per machine)

bash
promptready-mcp-login

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

bash
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:

bash
promptready-mcp-login --email [email protected]

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:

bash
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

bash
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):

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

Grok

toml
[mcp_servers.promptready]command = "promptready-mcp"enabled = truetool_timeout_sec = 3600

Claude Desktop / generic JSON

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:

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

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

Tools

ToolPurpose
login / logoutBrowser auth / clear local credentials
get_creditsCredit balance
get_convert_settings / set_convert_settingsSaved convert defaults
convert_pdfUpload path → queue (optional wait)
get_statusStatus — by log_id (DB, restart-proof) or session
wait_and_downloadWait + save .md, by log_id or session
list_conversionsRecent 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:

text
convert_pdf(path="report.pdf")            → {"log_id": "…uuid…", …}wait_and_download(log_id="…uuid…")        → saves report_PaddleOCR-VL-1.6.mdlist_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 commandPurpose
/promptready:loginLog in (opens the browser Google sign-in)
/promptready:logoutLog out on this machine
/promptready:creditsShow your credit balance
/promptready:convertConvert a PDF/CSV to Markdown
/promptready:siteShow the PromptReady web app URL
/promptready:settingsShow — 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:

text
/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

Network access and credentials

What this client talks to, so you can review it before installing:

  • Network: HTTPS requests to the PromptReady API at https://promptready.space (override with PROMPTREADY_BASE_URL, or the base URL saved at login — if you set one, all API traffic, credentials included, goes to that host instead). When a conversion finishes, the Markdown result may be fetched from a short-lived signed download URL that the API returns (served from PromptReady's Cloudflare R2 storage); that request carries no credentials. There is no telemetry and no other third-party host. During browser login a short-lived listener binds to 127.0.0.1 only, to receive the sign-in callback; your browser, not this client, talks to the sign-in provider.
  • Files read: the PDF/CSV paths you pass to convert_pdf, plus this client's own config under ~/.config/promptready/ (credentials and convert defaults).
  • Files written: the Markdown results you ask to save; the credentials file ~/.config/promptready/credentials.json (mode 600; override the path with PROMPTREADY_CREDENTIALS_PATH); and your convert defaults in ~/.config/promptready/settings.json when you change settings (mode 600; override with PROMPTREADY_SETTINGS_PATH). Nothing else is left on disk.
  • Credentials: your own PromptReady account session, created by promptready-mcp-login (browser or email) or supplied through PROMPTREADY_ACCESS_TOKEN / PROMPTREADY_REFRESH_TOKEN. The client sends it only to the PromptReady API, never to the signed download URL.

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. The license covers this client's source code only; use of the PromptReady cloud service (https://promptready.space) remains subject to its Terms of Service and Privacy Policy.

Smoke test (no account)

bash
./scripts/smoke_stdio.sh

License

MIT — see LICENSE.

来源:README.md,提交 efdb514

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

3
  1. v0.4.0最新Oct 2, 2026
  2. v0.3.8Sep 21, 2026
  3. v0.3.7Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分