
prxhub
Wires Claude directly into prxhub.com, a public registry for .prx research bundles that package queries, provider metadata, synthesized answers, and full source citations into signed, portable artifacts. Exposes search_bundles, search_claims, and download_bundle so your agent can check if someone already researched a topic before burning tokens on duplicate web crawls. The pitch is inheritance: pull existing bundles, extend only what's missing, optionally publish back. Built for multi-provider research workflows where provenance and reproducibility matter. Free to read anonymously, free to publish with an account. Useful if you're running repeated research queries and want agents to build on prior work instead of starting from scratch every time.
- tools
- 19
- transport
- HTTP
- last updated
- Apr 22, 2026
Install
From registry metadata$ npx add-mcp https://prxhub.com/api/mcp --name prxhubRun in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.
Review the command, arguments and environment values before installing. MCP servers run with your local permissions.
Other ways
Claude Code
$ claude mcp add --transport http prxhub https://prxhub.com/api/mcpRun in your terminal. Add --scope user to make it available in every project.
Tools
Verified live · 19 toolsVerified live against the running server on Nov 6, 2026.
search_bundlesCache-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 b...3 params
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 b...
collectionstringlimitintegerquery*stringsearch_claimsSearch 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 `<username>/<slug>` which you can pass to `download_bundle`.3 params
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 `<username>/<slug>` which you can pass to `download_bundle`.
confidencestringhigh · medium · lowlimitintegerquery*stringdownload_bundleGenerate a presigned download URL for a public .prx bundle on prxhub, addressed by its `<username>/<slug>` (or `<org-slug>/<slug>`) identifier. Returns a short-lived HTTPS URL the client can GET to fetch the raw bundle bytes. Private bundles return a not_found error.1 params
Generate a presigned download URL for a public .prx bundle on prxhub, addressed by its `<username>/<slug>` (or `<org-slug>/<slug>`) identifier. Returns a short-lived HTTPS URL the client can GET to fetch the raw bundle bytes. Private bundles return a not_found error.
slug*stringlist_collectionsBrowse 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 resu...3 params
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 resu...
limitintegerowner*stringsortstringrecent · bundlesdefault: recentget_collectionReturn 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.3 params
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.
limitintegerowner*stringslug*stringsession_feedbackVoluntary 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 combinati...4 params
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 combinati...
bundlesarrayclaimsarraysessionId*stringsourcesarraycite_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/s...4 params
'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/s...
citedBundleId*stringcitingBundleIdstringcontextExcerptstringsessionIdstringstar_bundlePublic-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.1 params
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.
bundleId*stringpublish_draftSingle-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 vi...7 params
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 vi...
collection_slugstringdescriptionstringdraft_id*stringslugstringtagsarraytitlestringvisibilitystringpublic · unlisted · privatestart_draftOpen 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, d...5 params
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, d...
producerobjectprovidersarrayquery*stringtagsarraytitlestringadd_sourcesBatch-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...2 params
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...
draft_id*stringsources*arrayadd_claimsBatch-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;...2 params
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;...
claims*arraydraft_id*stringset_synthesisThe 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 a...2 params
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 a...
draft_id*stringmarkdown*stringset_metadataPatch 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.5 params
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.
draft_id*stringproducerobjectprovidersarraytagsarraytitlestringpreview_draftReturns a manifest preview + the current warnings and recommendations. Useful for a last-look before publish_draft.1 params
Returns a manifest preview + the current warnings and recommendations. Useful for a last-look before publish_draft.
draft_id*stringvalidate_draftReturns 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 re...1 params
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 re...
draft_id*stringregister_agentTIME-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 / una...3 params
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 / una...
proposed_display_name*stringproposed_slug*stringscopesarrayregister_agent_pollPartner 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 i...1 params
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 i...
device_code*stringwhoamiReturn 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....
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....
No parameters. Call it with no arguments.
Sponsors
Readme
Details
- Repository
- github.com/parallect/prxhub
- Website
- prxhub.com
- Category
- Search & Web Crawling
- Transport
- HTTP
- Registry
- MCP registry, active
- Tools verified
- Nov 6, 2026