prxhub
What this MCP does
Searches, downloads, cites, validates, and publishes research bundles containing sourced claims, evidence, metadata, and citation-linked synthesis.
Tools
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['draft_id', 'claims'], 'properties': {'claims': {'type': 'array', 'items': {'type': 'object', 'required': ['text', 'evidence'], 'properties': {'text': {'type': 'string', 'minLength': 1}, 'claim_id': {'type': 'string'}, 'evidence': {'type': 'array', 'items': {'type': 'object', 'required': ['source_id'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'quote': {'type': 'string'}, 'domain': {'type': 'string'}, 'context': {'type': 'string'}, 'source_id': {'type': 'string'}, 'published_at': {'type': 'string'}}}}, 'prose_span': {'type': 'string'}}}, 'minItems': 1, 'description': 'One or more claim descriptors. Batch these â\x80\x94 sending all claims in one call avoids both the per-turn latency cost and the race where parallel tool calls drop updates.'}, 'draft_id': {'type': 'string'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['draft_id', 'sources'], 'properties': {'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'title': {'type': 'string'}, 'domain': {'type': 'string'}, 'license': {'type': 'string'}, 'publisher': {'type': 'string'}, 'source_id': {'type': 'string'}, 'accessed_at': {'type': 'string'}, 'published_at': {'type': 'string'}, 'url_canonical': {'type': 'string'}}}, 'minItems': 1, 'description': 'One or more source descriptors. Agents batching discovery results should send all at once â\x80\x94 fewer MCP turns, and the server processes them atomically in order.'}, 'draft_id': {'type': 'string'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['citedBundleId'], 'properties': {'sessionId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'Retrieval session this citation belongs to (preferred)'}, 'citedBundleId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'Bundle id being cited'}, 'citingBundleId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': "If you're producing a new bundle that incorporates this one, the new bundle's id. Omit for inline chat answers."}, 'contextExcerpt': {'type': 'string', 'maxLength': 2000, 'description': 'Short excerpt showing how the bundle was used'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'minLength': 3, 'description': "Bundle identifier as `<username>/<bundle-slug>`, e.g. 'alice/eu-ai-act'"}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['owner', 'slug'], 'properties': {'slug': {'type': 'string', 'minLength': 1, 'description': "Collection slug, e.g. 'ctem-q2-2026'."}, 'limit': {'type': 'integer', 'default': 50, 'maximum': 100, 'minimum': 1, 'description': 'Max bundles to return. Default 50, max 100.'}, 'owner': {'type': 'string', 'minLength': 1, 'description': 'Username (human), agent slug, or org slug that owns the collection. Case-insensitive.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['owner'], 'properties': {'sort': {'enum': ['recent', 'bundles'], 'type': 'string', 'default': 'recent', 'description': "'recent' sorts by createdAt desc. 'bundles' sorts by bundleCount desc â\x80\x94 use when suggesting a destination collection for a new publish."}, 'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Max collections to return. Default 20, max 50.'}, 'owner': {'type': 'string', 'minLength': 1, 'description': 'Username (human), agent slug, or org slug. Case-insensitive.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['draft_id'], 'properties': {'draft_id': {'type': 'string'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['draft_id'], 'properties': {'slug': {'type': 'string', 'description': 'Optional slug override. Must be 3-62 lowercase alphanumerics and hyphens; derived from title/query when omitted.'}, 'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 20, 'description': 'Up to 20 user tags. Provider names are auto-tagged.'}, 'title': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': "Optional title override. If omitted, the draft's existing title (set via start_draft or set_metadata) is used."}, 'draft_id': {'type': 'string', 'minLength': 1, 'description': 'The draft to publish. Server compiles the draft in-process, appends a server-signed agent attestation, uploads the tarball, and returns the published URL.'}, 'visibility': {'enum': ['public', 'unlisted', 'private'], 'type': 'string', 'description': "Default 'public'."}, 'description': {'type': 'string', 'maxLength': 2000, 'description': 'Optional longer description. Rendered on the bundle page.'}, 'collection_slug': {'type': 'string', 'description': "Attach the published bundle to a collection you own. Silently skipped if the collection doesn't belong to you."}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['proposed_slug', 'proposed_display_name'], 'properties': {'scopes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Override default scope set. Defaults to [publish, publish:bundles, read, feedback:write].'}, 'proposed_slug': {'type': 'string', 'maxLength': 32, 'minLength': 3, 'description': "Lowercase letters, digits, and single hyphens. 3â\x80\x9332 chars. Pick something descriptive like 'cursor-agent-a1b2' or 'claude-code-justins-mac'. The human approves the flow and can rename it before it's created."}, 'proposed_display_name': {'type': 'string', 'maxLength': 64, 'minLength': 1, 'description': "Human-readable agent name, e.g. 'Cursor (Justin's Mac)'. Shown on the agent's profile page. Approver may edit."}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['device_code'], 'properties': {'device_code': {'type': 'string', 'minLength': 16, 'description': 'The device_code returned by register_agent.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 10, 'minimum': 1, 'description': 'Max results to return (1-10). Default 10.'}, 'query': {'type': 'string', 'minLength': 1, 'description': 'Search query string'}, 'collection': {'type': 'string', 'description': "Scope the search to a single collection. Format: '<owner>/<slug>' â\x80\x94 e.g. 'alex-rivera/ai-safety-2026'. Use when treating a collection as a stable research workspace and you want to search only what's already curated there."}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 10, 'minimum': 1, 'description': 'Max results to return (1-10). Default 10.'}, 'query': {'type': 'string', 'minLength': 1, 'description': 'Search query string'}, 'confidence': {'enum': ['high', 'medium', 'low'], 'type': 'string', 'description': 'Only return claims at or above this confidence level'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['sessionId'], 'properties': {'claims': {'type': 'array', 'items': {'type': 'object', 'required': ['claimId', 'agree'], 'properties': {'agree': {'type': 'boolean'}, 'reason': {'type': 'string', 'maxLength': 500}, 'claimId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'evidenceUrl': {'type': 'string', 'format': 'uri'}, 'confidenceAdjust': {'type': 'number', 'maximum': 1, 'minimum': -1}}}, 'maxItems': 200}, 'bundles': {'type': 'array', 'items': {'type': 'object', 'required': ['bundleId', 'useful'], 'properties': {'score': {'type': 'integer', 'maximum': 5, 'minimum': 0}, 'reason': {'type': 'string', 'maxLength': 500}, 'useful': {'type': 'boolean'}, 'bundleId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}}, 'maxItems': 50}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['bundleId', 'sourceUrl', 'quality'], 'properties': {'reason': {'type': 'string', 'maxLength': 500}, 'quality': {'enum': ['authoritative', 'stale', 'broken', 'off_topic'], 'type': 'string'}, 'bundleId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'sourceUrl': {'type': 'string', 'format': 'uri'}}}, 'maxItems': 200}, 'sessionId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'Session id returned by search_bundles/search_claims'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['draft_id'], 'properties': {'tags': {'type': 'array', 'items': {'type': 'string'}}, 'title': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Human-readable bundle title shown on the registry page. Required to compile.'}, 'draft_id': {'type': 'string'}, 'producer': {'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'minLength': 1}, 'version': {'type': 'string'}}}, 'providers': {'type': 'array', 'items': {'type': 'string'}}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['draft_id', 'markdown'], 'properties': {'draft_id': {'type': 'string'}, 'markdown': {'type': 'string'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['bundleId'], 'properties': {'bundleId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'Bundle id (uuid) from search_bundles results'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'tags': {'type': 'array', 'items': {'type': 'string'}}, 'query': {'type': 'string', 'minLength': 1, 'description': 'Original research question. 8+ words recommended.'}, 'title': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Human-readable bundle title shown on the registry page. Required to compile â\x80\x94 set here or via set_metadata.'}, 'producer': {'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'minLength': 1}, 'version': {'type': 'string'}}}, 'providers': {'type': 'array', 'items': {'type': 'string'}}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['draft_id'], 'properties': {'draft_id': {'type': 'string'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Recent tool changes
Similar MCP servers
concordance
Provides deterministic claim verification and audit receipts, along with Bible references, commentary, geography, indexed knowled…
canton-ccpedia
Searches and explains Canton Network and Daml documentation, governance proposals, forums, code examples, APIs, releases, and eco…
BNM Data Shop
Sells access to cached official reports, enforcement orders, regulatory documents, inspection records, and other public-source te…
api-evangelist
Provides API governance analysis, OpenAPI overlays and version diffs, security-sensitive field classification, code samples, matu…
OpenHelvetia Gateway
Provides sourced access to Swiss federal legislation and political data, including law metadata, versions, amendments, citations,…
website-search
Provides security article search and structured guidance, templates, frameworks, and review criteria for incident response, threa…
The Ainglish Project
Maintains a measured, auditable register of language constructs, proposals, evidence, adoption, contributors, protocols, and rati…
Torah Library
Provides searchable Jewish texts, commentaries, source sheets, dictionaries, manuscripts, calendars, learning schedules, parasha …