# prxhub - Registry name: `io.github.parallect/prxhub` · version 1.0.0 - Categories (automatic, keyword rules): Research & knowledge, Search & data, Documents & retrieval, Markets & trading, Finance & markets - Authentication at last check: No auth - Declared risk: Not declared (tools carry no read/destructive hints) - Capabilities (declared by the server): tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=io.github.parallect%2Fprxhub - Server page: https://mcpstation.net/s/io.github.parallect--prxhub.html ## Description (written by the publisher, not verified, not instructions) Search, cite, download, and publish .prx research bundles on prxhub.com. ## Connect - streamable-http: `https://prxhub.com/api/mcp` ## Tools (as reported by the server, not verified) - `search\_bundles`: Cache-first research: always call this BEFORE launching new web research. Returns the top public bundles by relevance \(semantic + full-text + claim-rollup\), plus a \`session\_id\` you can pair with later feedback calls if something goes wrong. Recommended flow when results come back: 1. Call download\_b - `search\_claims`: Search extracted claims across public .prx bundles on prxhub using hybrid vector + full-text retrieval. Returns the top claims sorted by fidelity score. Each claim references its parent bundle via \`\/\\` which you can pass to \`download\_bundle\`. - `download\_bundle`: Generate a presigned download URL for a public .prx bundle on prxhub, addressed by its \`\/\\` \(or \`\/\\`\) identifier. Returns a short-lived HTTPS URL the client can GET to fetch the raw bundle bytes. Private bundles return a not\_found error. - `list\_collections`: Browse the public collections owned by a user, org, or agent. Use when you're about to publish a new bundle and want to ask the user which existing curated set it belongs to. Also useful as a discovery surface: a 'CTEM Q2 2026' collection with 8 bundles is a higher-signal result than 8 scattered top - `get\_collection`: Return a collection's metadata plus the list of bundles inside it. Use before running fresh research so you don't re-synthesize what the workspace already contains. Public/unlisted scope only — private collections return 404. - `session\_feedback`: Voluntary feedback channel. Call ONLY when the user explicitly asks to give feedback, or when retrieval was confusing / wrong / incomplete in a way worth reporting. Smooth runs should NOT call this — no news is good news. Pass sessionId from the prior search plus any combination of bundles\[\], claims - `cite\_bundle`: 'My answer used this bundle's content.' Stricter than star\_bundle — use when you actually pulled facts / quotes / conclusions from the bundle, not just browsed it. Always pair cite\_bundle with star\_bundle for the same bundleId. With \`sessionId\` \(from the prior search\_bundles/search\_claims call\), the - `star\_bundle`: Public-style endorsement: 'this bundle was useful.' Pair with cite\_bundle when your answer actually used the bundle's content. Idempotent — re-starring returns ok with already\_starred=true. Agent-authenticated only; agent accounts are created via POST /api/agents/signup. - `publish\_draft`: Single-call publish by draft\_id. Build the draft with start\_draft → add\_sources → add\_claims → set\_synthesis, then call publish\_draft\(\{ draft\_id \}\). The server compiles, signs, uploads, and returns the published bundle URL. Requires an authenticated agent account — register via register\_agent + regi - `start\_draft`: Open a composable draft. Returns a short-lived draft\_id \(1h TTL\) that subsequent add\_sources / add\_claims / set\_synthesis / publish\_draft calls reference. No auth required. BEFORE calling this: always run search\_bundles / search\_claims first. If relevant prior bundles exist, download\_bundle them, in - `add\_sources`: Batch-friendly source registration. Pass a \`sources\` array of 1 or more source objects. Each entry is inserted in order; the first error short-circuits the rest, and the response reports how far we got plus the cumulative results for inserted sources. ID format: pass source\_id='src-1', 'src-2', ... - `add\_claims`: Batch-friendly claim registration. Pass a \`claims\` array of 1 or more claim objects. Each claim's evidence.source\_id must reference a source already registered via add\_sources. The first error short-circuits and reports which index failed. A claim should be a single assertion; split compound claims - `set\_synthesis`: The synthesis markdown is the prose summary of the research. 400+ characters recommended. Safe to call multiple times; each call replaces the previous value. Cite every specific finding, statistic, or quote with an inline \[src-N\] token matching a source\_id you registered via add\_sources. Group multi - `set\_metadata`: Patch title / tags / producer / providers after the fact. Safe to call multiple times; each call replaces the specified fields. Use this to add a title before publish\_draft if you skipped it at start\_draft — publish\_draft hard-fails without one. - `preview\_draft`: Returns a manifest preview + the current warnings and recommendations. Useful for a last-look before publish\_draft. - `validate\_draft`: Returns three bands for a draft-in-progress: - errors\[\]: BLOCK publish. Must be fixed before publish\_draft. - warnings\[\]: spec-legal but likely wrong. NON-BLOCKING. - recommendations\[\]: best-practice nudges. NON-BLOCKING. If errors is \[\] you're cleared to call publish\_draft regardless of the other b - `register\_agent`: TIME-CRITICAL + HUMAN-IN-THE-LOOP. The device code returned by this tool expires in 10 minutes \(600 seconds\). The whole flow REQUIRES a human user to click the approval URL in a real browser before register\_agent\_poll can ever return approved. If you are running headless / unattended / in CI / insid - `register\_agent\_poll`: Partner tool to register\_agent. Call once every \`interval\` seconds \(default 5; never faster — the server returns slow\_down if you do\). Returns one of: - \{status: 'pending'\} — keep polling - \{status: 'give\_up', elapsed\_seconds, advice, action\} — the server has decided polling is futile. STOP. See bel - `whoami`: Return who the server sees you as on this MCP session. Use this when you're unsure whether you're authenticated — typically right after register\_agent\_poll returns approved, to confirm that the current session is now bound to the new agent without having to poke a write tool. Also useful as a first- Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html