← Back to search
hyperplexity/hyperplexity

hyperplexity

# Hyperplexity **Verified Research Engine** · [hyperplexity.ai](https://hyperplexity.ai) · [Launch App](https://hyperplexity.ai/app) Hyperplexity generates, validates, and updates research tables by synthesizing hundreds of calls to Perplexity and Claude. Give it a prompt or an existing table and it returns structured, verified answers across an entire research domain — not just a single query, but a complete field of questions answered at once. | What you want to do | How | Live example | |---|---|---| | **Gather everything** — survey a complete research domain at once | Prompt → structured verified table | [50+ Phase 3 oncology trials](https://eliyahu.ai/viewer?demo=phase-3-oncology-drug-trials-9383b5) | | **Monitor anything** — news, analyst projections, time-sensitive data | Upload or generate → keep current | [Market info for 10 stocks](https://eliyahu.ai/viewer?demo=investmentresearch-779dfe) | | **See everywhere** — run the same questions across many entities | One table, many subjects | [GenAI adoption across Fortune 500](https://eliyahu.ai/viewer?demo=fortune-500-genai-deployment-and-upskilling-0c5503) | ## How to Access | You want to… | Use | |---|---| | Try it out or iron out your use case | **[hyperplexity.ai/app](https://hyperplexity.ai/app)** — web GUI for table validation and generation | | Fact-check text or documents interactively | **[hyperplexity.ai/chex](https://hyperplexity.ai/chex)** — web GUI for reference checks | | Let an AI agent drive a workflow autonomously | **MCP server** — install once, describe your task in plain English | | One-off automation without writing code | **MCP server** via Claude Code, Claude Desktop, or any MCP-compatible client | | Run repeatable pipelines or batch jobs | **REST API** + example scripts | | Integrate into a product or SaaS | **REST API** directly | > **GUI → API:** The web GUIs are ideal for exploring and refining your use case. Once you know what you want, the MCP server or REST API is the better path — faster, repeatable, and fully automatable. --- ## Table of Contents - [Get Your API Key](#get-your-api-key) - [Download Examples](#download-examples) - [Quick Start: MCP](#quick-start-mcp) - [Option A: Direct HTTP connection to Railway (recommended)](#option-a--direct-http-connection-to-railway-recommended-for-claude-code) - [Option B: Local install via uvx](#option-b--local-install-via-uvx) - [Option C: Smithery](#option-c--smithery) - [What to Ask Your Agent](#what-to-ask-your-agent) - [Workflows](#workflows) - [1. Validate an Existing Table](#1-validate-an-existing-table) - [2. Generate a Table from a Prompt](#2-generate-a-table-from-a-prompt) - [3. Update a Table](#3-update-a-table-re-run-validation-pass) - [4. Fact-Check Text or Documents](#4-fact-check-text-or-documents-chex) - [Environment Variables](#environment-variables) - [Direct REST API](#direct-rest-api) - [API Endpoint Reference](#api-endpoint-reference) - [MCP Prompts](#mcp-prompts) - [MCP Tool Reference](#mcp-tool-reference) - [Key Behaviors](#key-behaviors) - [Pricing](#pricing) - [Links](#links) --- ## Get Your API Key Get your API key at **[hyperplexity.ai/account](https://hyperplexity.ai/account)**. New accounts receive $20 in free credits. --- ## Download Examples > All scripts require Python 3.10+ and `pip install requests`. | Script | Description | Download | |--------|-------------|----------| | `hyperplexity_client.py` | Shared REST client (required by all examples) | [download](https://hyperplexity-storage.s3.amazonaws.com/website_downloads/examples/hyperplexity_client.py) | | `01_validate_table.py` | Validate an existing table | [download](https://hyperplexity-storage.s3.amazonaws.com/website_downloads/examples/01_validate_table.py) | | `02_generate_table.py` | Generate a table from a prompt | [download](https://hyperplexity-storage.s3.amazonaws.com/website_downloads/examples/02_generate_table.py) | | `03_update_table.py` | Re-run validation on a completed job | [download](https://hyperplexity-storage.s3.amazonaws.com/website_downloads/examples/03_update_table.py) | | `04_reference_check.py` | Fact-check text or documents | [download](https://hyperplexity-storage.s3.amazonaws.com/website_downloads/examples/04_reference_check.py) | Or clone the full example set: ```bash # Download all examples at once curl -O https://hyperplexity-storage.s3.amazonaws.com/website_downloads/examples/hyperplexity_client.py \ -O https://hyperplexity-storage.s3.amazonaws.com/website_downloads/examples/01_validate_table.py \ -O https://hyperplexity-storage.s3.amazonaws.com/website_downloads/examples/02_generate_table.py \ -O https://hyperplexity-storage.s3.amazonaws.com/website_downloads/examples/03_update_table.py \ -O https://hyperplexity-storage.s3.amazonaws.com/website_downloads/examples/04_reference_check.py pip install requests export HYPERPLEXITY_API_KEY=hpx_live_... ``` --- ## Quick Start: MCP The MCP server lets any AI agent drive the full Hyperplexity workflow autonomously — no scripting required. ### Option A — Direct HTTP connection to Railway (recommended for Claude Code) Connects directly to the hosted Hyperplexity server over HTTP. No local install, no `uvx`, no package management — just one command. **Claude Code:** ```bash claude mcp add hyperplexity \ --transport http \ https://mcp-server-hyperplexity-production.up.railway.app/ \ --header "X-Api-Key: hpx_live_your_key_here" ``` **Via config file** (`.mcp.json` in your repo root, or `claude_desktop_config.json`): ```json { "mcpServers": { "hyperplexity": { "type": "http", "url": "https://mcp-server-hyperplexity-production.up.railway.app/", "headers": { "X-Api-Key": "hpx_live_your_key_here" } } } } ``` > **Why HTTP over uvx?** The HTTP connection runs on Railway — always up to date, no local Python environment needed, and no version drift between the package you installed and the live server. Recommended for Claude Code and any project-level config. ### Option B — Local install via uvx Runs the server locally on your machine using `uvx`. Useful for Claude Desktop or offline/air-gapped environments. **Claude Code:** ```bash claude mcp add hyperplexity uvx mcp-server-hyperplexity \ -e HYPERPLEXITY_API_KEY=hpx_live_your_key_here ``` **Claude Desktop** — add to `claude_desktop_config.json`: - **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json` - **Windows:** `%APPDATA%\Claude\claude_desktop_config.json` ```json { "mcpServers": { "hyperplexity": { "command": "uvx", "args": ["mcp-server-hyperplexity"], "env": { "HYPERPLEXITY_API_KEY": "hpx_live_your_key_here" } } } } ``` **Project config (shared repo)** — add `.mcp.json` to your repo root. Each person uses their own key; no key is committed to the repo: ```json { "mcpServers": { "hyperplexity": { "command": "uvx", "args": ["mcp-server-hyperplexity"], "env": { "HYPERPLEXITY_API_KEY": "${HYPERPLEXITY_API_KEY}" } } } } ``` **OpenAI Codex CLI** — add to your Codex config file (`~/.codex/config.toml` on macOS/Linux, `%USERPROFILE%\.codex\config.toml` on Windows): ```toml [mcp_servers.hyperplexity] command = "uvx" args = ["mcp-server-hyperplexity"] [mcp_servers.hyperplexity.env] HYPERPLEXITY_API_KEY = "hpx_live_your_key_here" ``` Then restart Codex and verify: ```bash codex mcp list ``` ### Option C — Smithery [Smithery](https://smithery.ai) is an MCP registry that works with Claude Code and other MCP-compatible clients including OpenClaw. **Step 1 — Install and log in:** ```bash npx -y @smithery/cli@latest login npx -y @smithery/cli@latest mcp add hyperplexity/hyperplexity --client claude-code ``` **Step 2 — Authenticate with your API key:** Open your MCP client (e.g. Claude Code), go to `/mcp`, click **hyperplexity → Authenticate**, and enter your Hyperplexity API key in the Smithery page that opens. > Smithery login is a one-time step. You must log in before adding servers, or authentication will not be set up correctly. --- ## What to Ask Your Agent Once the MCP server is installed, describe your task in plain English. The agent drives the full workflow, pausing only when your input is genuinely needed. **Validate a table:** > "Validate `companies.xlsx` using Hyperplexity. Interview me about what each column means, then run the preview. If the results look good, approve the full validation." **Generate a table:** > "Use Hyperplexity to generate a table of the top 20 US hedge funds with columns: fund name, AUM, primary strategy, founding year, and HQ city. Approve the full validation when the preview looks right." **Re-run validation on the same table:** > "Re-run update_table on job `session_20260217_103045_abc123` to get an updated validation pass." **Fact-check a document:** > "Use Hyperplexity to fact-check this analyst report." *(paste the text or share the file path)* --- ## Workflows ### 1. Validate an Existing Table > **Minimum rows:** Hyperplexity is designed for tables with **4 or more data rows**. Fewer rows may produce low-quality results. **Full flow: upload → interview → preview → refine → approve → download** ``` upload_file(path) → start_table_validation(session_id, s3_key, filename) ┌── match found (score ≥ 0.85) → [preview auto-queued; response has preview_queued=true + job_id] └── no match → interview auto-started → wait_for_conversation / poll get_conversation → send_conversation_reply (if AI asks questions) → [interview complete → preview auto-queued] → wait_for_job(job_id or session_id) ← blocks until preview_complete → [optional] refine_config(conv_id, session_id, instructions) → approve_validation(job_id, cost_usd) → wait_for_job(job_id) ← blocks until completed → get_results(job_id) ``` > **Key behavior:** The preview is always auto-queued — after the interview finishes (`trigger_config_generation=true`), or when a config match is found (`match_score ≥ 0.85`, response includes `preview_queued: true` and `job_id`). Call `wait_for_job(session_id)` directly in all cases (see [Config reuse](#config-reuse)). > **Upload interview auto-approval:** The interview may auto-approve in a single turn. If the conversation response has `user_reply_needed: false` and `status: approved`, proceed to `wait_for_job(session_id)` immediately — no reply is needed, even if the AI's message appears to ask for confirmation. **Skip the interview with `instructions` (fire-and-forget config generation):** Pass `instructions` to `start_table_validation` to bypass the interactive interview. The AI reads the table structure + your instructions and generates a config directly, then auto-triggers the preview — no clarifying questions needed. ``` start_table_validation(session_id, s3_key, filename, instructions="This table lists hedge funds. Validate AUM, strategy, and HQ city. Use Bloomberg and SEC filings.") → response includes instructions_mode=true → wait_for_job(session_id) ← config generation + preview tracked automatically → approve_validation(job_id, cost_usd) → wait_for_job(job_id) → get_results(job_id) ``` > **Cost gate:** Config generation and the 3-row preview are **free**. Full validation is charged at `approve_validation` — you always see the cost estimate at `preview_complete` before anything is billed. If your balance is insufficient, `approve_validation` returns an `insufficient_balance` error with the required amount. **Refine the config** before approving by calling `refine_config`. This adjusts how columns are validated (sources, strictness, interpretation) — it cannot add or remove columns: ``` refine_config(conversation_id, session_id, "Use SEC filings as the primary source for revenue. Require exact match for ticker symbols.") ``` A new preview runs automatically after refinement. **Python script:** [`examples/01_validate_table.py`](https://hyperplexity-storage.s3.amazonaws.com/website_downloads/examples/01_validate_table.py) ```bash export HYPERPLEXITY_API_KEY=hpx_live_... python examples/01_validate_table.py companies.xlsx python examples/01_validate_table.py companies.xlsx --refine "Add LinkedIn URL column" Fire-and-forget: provide instructions to skip the interview entirely python examples/01_validate_table.py companies.xlsx \ --instructions "This table lists hedge funds. Validate AUM, strategy, and HQ city." ``` --- ### 2. Generate a Table from a Prompt Describe the table you want — rows, columns, scope — and Hyperplexity builds and validates it from scratch. Designed for tables with **4 or more rows**. ``` start_table_maker("Top 20 US biotech companies: name, ticker, market cap, lead drug, phase") → wait_for_conversation / poll get_conversation → send_conversation_reply (if AI asks clarifying questions) → [table builds → preview auto-queued] → wait_for_job(session_id) ← spans table-maker + preview phases → approve_validation(job_id, cost_usd) → wait_for_job(job_id) → get_results(job_id) ``` > **Auto-approve:** The agent can auto-approve the preview and proceed to full validation without human intervention. The preview table is included inline in the `preview_complete` response. > **Cost:** ~$0.05/cell (standard), up to ~$0.25/cell (advanced). $2 minimum per run. **Skip confirmation with `auto_start=True` (fire-and-forget generation):** Pass `auto_start=True` to skip the AI's clarifying questions and structure-confirmation step. The AI generates the table immediately from the message alone. Use when your message fully describes the desired table. ``` start_table_maker( "Top 20 US hedge funds: fund name, AUM, primary strategy, founding year, HQ city", auto_start=True) → wait_for_conversation(conversation_id, session_id) ← returns trigger_execution=true on first response (no Q&A) → wait_for_job(session_id) ← table building + preview → approve_validation(job_id, cost_usd) → wait_for_job(job_id) → get_results(job_id) ``` > **Why `wait_for_conversation` with `auto_start=True`?** Even though there is no Q&A, `wait_for_conversation` is still required — it returns `trigger_execution: true` in a single blocking call (no reply needed), signaling that the table-maker has started. Calling `wait_for_job` before this call returns would be premature, as the table-maker may not have been triggered yet. > **Cost gate:** Table building and the 3-row preview are **free**. Full validation is charged at `approve_validation` — you always see the cost estimate at `preview_complete` before anything is billed. If your balance is insufficient, `approve_validation` returns an `insufficient_balance` error with the required amount. **Python script:** [`examples/02_generate_table.py`](https://hyperplexity-storage.s3.amazonaws.com/website_downloads/examples/02_generate_table.py) ```bash python examples/02_generate_table.py "Top 10 US hedge funds: fund name, AUM, strategy, HQ city" python examples/02_generate_table.py --prompt-file my_spec.txt Fire-and-forget: skip clarifying Q&A and generate immediately from the prompt python examples/02_generate_table.py --auto-start "Top 10 US hedge funds: fund name, AUM, strategy, HQ city" ``` --- ### 3. Update a Table (Re-run Validation Pass) Re-run validation on a completed job — no re-upload or manual edits needed. The table iterates automatically, re-validating the same data with the same config to pick up any changes in source data. If you want to incorporate manual edits to the output file, re-upload the edited file via `upload_file` + `start_table_validation` — a matching config will be found automatically (score ≥ 0.85). ``` update_table(source_job_id) ← re-validates existing enriched output → wait_for_job(new_job_id) ← blocks until preview_complete → approve_validation(new_job_id, cost_usd) → wait_for_job(new_job_id) → get_results(new_job_id) ``` **Python script:** [`examples/03_update_table.py`](https://hyperplexity-storage.s3.amazonaws.com/website_downloads/examples/03_update_table.py) ```bash python examples/03_update_table.py session_20260217_103045_abc123 python examples/03_update_table.py session_20260217_103045_abc123 --version 2 ``` --- ### 4. Fact-Check Text or Documents (Chex) Submit any text, report, or document. Hyperplexity checks each factual claim against authoritative sources and returns the same output format as standard table validation: an Excel (XLSX) file, an interactive viewer URL, and a metadata JSON. > **Minimum claims:** Hyperplexity is designed for text with **4 or more factual claims**. Fewer claims may produce low-quality results. ``` start_reference_check(text="...") ← inline text (or auto_approve=True to skip the gate) or upload_file(path, "pdf") ← upload PDF/document first → start_reference_check(s3_key=s3_key) → wait_for_job(job_id) ← spans extraction + 3-row preview; stops at preview_complete → preview_table (3 validated sample claims) + cost_estimate shown in response → approve_validation(job_id, approved_cost_usd=X) ← triggers Phase 2 → wait_for_job(job_id) ← waits for completed → get_results(job_id) ← download_url (XLSX) + interactive_viewer_url + metadata_url ``` > **Three-phase flow:** Phase 1 (claim extraction, free) runs automatically, then a 3-row preview validates sample claims (free, auto-triggered). Both phases are tracked by a single `wait_for_job` call that stops at `status=preview_complete`. Review `preview_table` (3 validated sample claims with support level and citations) and `cost_estimate`, then call `approve_validation` to start Phase 2 (full validation, charged). Pass `auto_approve=True` to skip the gate and run straight through to `completed`. > **Progress tracking:** `get_job_messages` always returns empty for reference-check jobs. Use `get_job_status` (`current_step`, `progress_percent`) to track progress. **Output:** Excel (XLSX) file with per-claim rows. Support levels: SUPPORTED / PARTIAL / UNSUPPORTED / UNVERIFIABLE. Share `interactive_viewer_url` with human stakeholders — it renders sources and confidence scores in a clean UI. **Python script:** [`examples/04_reference_check.py`](https://hyperplexity-storage.s3.amazonaws.com/website_downloads/examples/04_reference_check.py) | **Sample output:** [`sample_outputs/reference_check_output.json`](https://hyperplexity-storage.s3.amazonaws.com/website_downloads/examples/sample_outputs/reference_check_output.json) ```bash # Fact-check inline text python examples/04_reference_check.py --text "Bitcoin was created by Satoshi Nakamoto in 2009." # Fact-check a PDF python examples/04_reference_check.py --file analyst_report.pdf # Fact-check multiple documents concatenated cat doc1.txt doc2.txt | python examples/04_reference_check.py --stdin ``` > **--stdin:** Concatenates all piped content as a single inline text payload. All claims are attributed to the combined document. --- ## Environment Variables | Variable | Description | |----------|-------------| | `HYPERPLEXITY_API_KEY` | API key from [hyperplexity.ai/account](https://hyperplexity.ai/account). Required. New accounts get $20 free. | | `HYPERPLEXITY_API_URL` | Override the API base URL (useful for dev/staging environments). | --- ## Direct REST API All tools in the MCP server are thin wrappers over the REST API. You can call it directly from any language. **Base URL:** `https://api.hyperplexity.ai/v1` **Auth:** `Authorization: Bearer hpx_live_your_key_here` **Response envelope:** ```json { "success": true, "data": { ... }, "meta": { "request_id": "...", "timestamp": "..." } } ``` ### Python client (minimal) ```python import os, requests BASE_URL = "https://api.hyperplexity.ai/v1" HEADERS = {"Authorization": f"Bearer {os.environ['HYPERPLEXITY_API_KEY']}"} def api_get(path, **kwargs): r = requests.get(f"{BASE_URL}{path}", headers=HEADERS, **kwargs) r.raise_for_status() return r.json()["data"] def api_post(path, **kwargs): r = requests.post(f"{BASE_URL}{path}", headers=HEADERS, **kwargs) r.raise_for_status() return r.json()["data"] ``` A full standalone client module is in [`examples/hyperplexity_client.py`](https://hyperplexity-storage.s3.amazonaws.com/website_downloads/examples/hyperplexity_client.py). --- ## API Endpoint Reference ### Uploads | Method | Path | Description | |--------|------|-------------| | `POST` | `/uploads/presigned` | Get a presigned S3 URL to upload a file | | `PUT` | `<presigned_url>` | Upload file bytes directly to S3 (no auth header) | | `POST` | `/uploads/confirm` | Confirm upload; detect config matches; auto-start interview if no match | **Presigned upload request:** ```json { "filename": "companies.xlsx", "file_size": 2048000, "file_type": "excel", "content_type": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" } ``` Content types: `excel` → `.xlsx`, `csv` → `.csv`, `pdf` → `.pdf` **Confirm upload request** (optional fields): ```json { "session_id": "session_20260305_...", "s3_key": "results/.../file.xlsx", "filename": "companies.xlsx", "instructions": "Validate AUM, strategy, and HQ city. Use Bloomberg and SEC filings as sources.", "config_id": "session_20260217_103045_abc123_config_v1_..." } ``` `instructions` — if provided, bypasses the interactive upload interview. The AI generates the config directly from the table structure + instructions. Response includes `instructions_mode: true` and `conversation_id`. Use `wait_for_job(session_id)` to track progress — do NOT poll the conversation. `config_id` — if provided, skips matching and the interview entirely. The specified config is applied immediately and the preview is auto-queued. Response includes `preview_queued: true` and `job_id`. Use `wait_for_job(job_id)` to track progress. The `configuration_id` for any completed job is returned by `GET /jobs/{id}/results` under `job_info.configuration_id`. --- ### Conversations | Method | Path | Description | |--------|------|-------------| | `POST` | `/conversations/table-maker` | Start a Table Maker session with a natural language prompt | | `GET` | `/conversations/{id}?session_id=` | Poll conversation for status / AI messages | | `POST` | `/conversations/{id}/message` | Send a reply to the AI | | `POST` | `/conversations/{id}/refine-config` | Refine the config with natural language instructions | **Table Maker request body:** ```json { "message": "Top 20 US hedge funds: fund name, AUM, primary strategy, founding year, HQ city", "auto_start": true } ``` `auto_start` — if `true`, the AI skips clarifying questions and the structure-confirmation step, proceeding directly to table generation. The first `get_conversation` response will have `trigger_execution: true`. Use when your message fully describes the desired table. --- ### Jobs | Method | Path | Description | |--------|------|-------------| | `GET` | `/jobs/{id}` | Get job status and progress | | `GET` | `/jobs/{id}/messages` | Fetch live progress messages (paginated by `since_seq`) | | `POST` | `/jobs/{id}/validate` | Approve full validation — credits charged here | | `GET` | `/jobs/{id}/results` | Fetch download URL, metadata, viewer URL | | `POST` | `/jobs/update-table` | Re-validate enriched output after corrections | | `POST` | `/jobs/reference-check` | Submit text or file for claim verification | **Job status values:** | Status | Meaning | |--------|---------| | `queued` | Accepted, waiting to start | | `processing` | Actively running | | `preview_complete` | Free preview done — review results and approve full run | | `completed` | Full validation complete, results ready | | `failed` | Error — check `error.message` | --- ### Account | Method | Path | Description | |--------|------|-------------| | `GET` | `/account/balance` | Current credit balance and this-month usage | | `GET` | `/account/usage` | Billing history (supports `start_date`, `end_date`, `limit`, `offset`) | --- ## MCP Prompts Three built-in prompts act as workflow starters — select them from the prompt picker in your MCP client (Claude Code: `/` menu; Claude Desktop: the prompt icon) and fill in the arguments. | Prompt | Arguments | What it does | |--------|-----------|--------------| | `generate_table` | `description` (required), `columns` (optional) | Builds a step-by-step instruction for creating a new research table from a natural language description | | `validate_file` | `file_path` (required), `instructions` (optional) | Generates the full validation workflow for an existing Excel or CSV file | | `fact_check_text` | `text` (required) | Generates the reference-check workflow for fact-checking a text passage | --- ## MCP Tool Reference Every tool response includes a `_guidance` block with a plain-English summary and the exact next tool call(s) — enabling fully autonomous agent workflows. | Tool | Description | |------|-------------| | `upload_file` | Upload Excel, CSV, or PDF (handles presigned S3 automatically) | | `start_table_validation` | Confirm upload; detect config matches; auto-start interview if needed | | `start_table_maker` | Start an AI conversation to generate a table from a prompt | | `get_conversation` | Poll a conversation for AI responses or status changes | | `send_conversation_reply` | Reply to AI questions during an interview or table-maker session | | `wait_for_conversation` | Block until conversation needs input or finishes (emits live progress) | | `refine_config` | Refine the validation config with natural language instructions (adjusts sources, strictness, interpretation — cannot add or remove columns) | | `wait_for_job` | Block until `preview_complete`, `completed`, or `failed` (preferred progress tracker) | | `get_job_status` | One-shot status poll | | `get_job_messages` | Fetch progress messages with native percentages (paginated) | | `approve_validation` | Approve preview → start full validation (credits charged here) | | `get_results` | Download URL, inline metadata, interactive viewer URL | | `update_table` | Re-validate enriched output after analyst corrections | | `start_reference_check` | Submit text or file for claim and citation verification | | `get_balance` | Check credit balance | | `get_usage` | Review billing history | --- ## Key Behaviors ### Auto-queued preview The preview is **automatically queued** in all three paths after `start_table_validation`: | Path | Trigger | What to call next | |------|---------|-------------------| | Config match (score ≥ 0.85) | `preview_queued: true` in response | `wait_for_job(job_id)` | | `instructions=` provided | `instructions_mode: true` in response | `wait_for_job(session_id)` | | Interview ran | `trigger_config_generation=true` from conversation | `wait_for_job(session_id)` | To reuse a config from a different session, pass `config_id` to `start_table_validation` — the preview will be auto-queued immediately. ### Config reuse If `start_table_validation` returns `match_score ≥ 0.85`, the preview is automatically queued using the matched config. The response includes `preview_queued: true` and `job_id` — call `wait_for_job(job_id)` directly, no interview needed. The `configuration_id` from any completed job's `get_results` response can be reused on future uploads of similar tables. ### Cost confirmation gate `approve_validation` requires `approved_cost_usd` matching the preview estimate. This prevents surprise charges. The estimate is in the `preview_complete` job status response under `cost_estimate.estimated_total_cost_usd`. This gate applies regardless of whether `instructions` or `auto_start` was used — both only skip the *interview/confirmation conversation*, not the cost approval step. If your balance is insufficient when `approve_validation` is called, the API returns: ```json { "error": "insufficient_balance", "required_usd": 4.20, "current_balance_usd": 1.50 } ``` ### Fire-and-forget shortcuts Two optional flags let fully automated pipelines skip interactive steps: | Flag | Tool | Skips | Next step | |------|------|-------|-----------| | `instructions="..."` | `start_table_validation` | Upload interview Q&A | `wait_for_job(session_id)` | | `auto_start=True` | `start_table_maker` | Structure confirmation | `wait_for_conversation` → `wait_for_job` | These flags use different terminal signals: `instructions=` (a config-gen flow) causes `trigger_config_generation: true` on the conversation response; `auto_start=True` (a table-maker flow) causes `trigger_execution: true`. Both skip interactive Q&A but produce different fields — do not wait for `trigger_execution` when using the `instructions=` upload path. The `preview_complete` cost gate and `approve_validation` still apply. ### Consuming results: humans vs AI agents **Output files generated per run:** | File | Format | Description | |------|--------|-------------| | Preview table | Markdown (inline) | First 3 rows as markdown text; returned inline in the `preview_complete` job status response (not a separate download). Also available in `metadata.json` under `markdown_table`. | | Enriched results | Excel (`.xlsx`) | Ideal for sharing with humans; sources and citations are embedded in cell comments | | Full metadata | `metadata.json` | Complete per-cell detail for every row; use the `row_key` field to drill into specific rows programmatically | `get_results` returns: | Field | Type | Best for | |-------|------|----------| | `results.interactive_viewer_url` | URL | **Humans** — web viewer with confidence indicators (requires login at hyperplexity.ai with the same email as your API key) | | `results.download_url` | Presigned URL | **Humans** — download the enriched Excel (.xlsx) directly | | `results.metadata_url` | Presigned URL | **AI agents** — JSON file with all rows, per-cell details, and source citations | **Recommended AI agent workflow:** 1. At `preview_complete`: read the inline `preview_table` (markdown, 3 rows) from `GET /jobs/{id}` to survey the table structure and spot-check values. The AI agent can review this inline table and call `approve_validation` directly — no human approval step is required. 2. After full validation: fetch `results.metadata_url` → `table_metadata.json`. This contains every validated row. 3. Use `rows[].row_key` (stable SHA-256) to cross-reference rows between the markdown summary and the detailed JSON. 4. Per-cell fields in `table_metadata.json`: - `cells[col].value` — validated value (legacy files may use `full_value`) - `cells[col].confidence` — `HIGH` / `MEDIUM` / `LOW` / `ID` - `cells[col].comment.validator_explanation` — reasoning - `cells[col].comment.key_citation` — top authoritative source - `cells[col].comment.sources[]` — all sources with `url` and `snippet` --- ## Pricing | Mode | Cost | |------|------| | Preview (first 3 rows) | Free | | Standard validation | ~$0.05 / cell | | Advanced validation | up to ~$0.25 / cell | | Minimum per run | $2.00 | | Reference check | TBD — contact support | Credits are prepaid. Get $20 free at **[hyperplexity.ai/account](https://hyperplexity.ai/account)**. Standard validation is used for most tables. Advanced validation is selected automatically when the table requires more sophisticated reasoning (e.g., scientific data, complex financial metrics, or cells with high ambiguity). --- ## Links - **MCP server (HTTP, recommended):** `claude mcp add hyperplexity --transport http https://mcp-server-hyperplexity-production.up.railway.app/ --header "X-Api-Key: hpx_live_..."` — no install needed - **MCP server (PyPI/uvx):** `uvx mcp-server-hyperplexity` — for Claude Desktop or offline use - **Source:** [github.com/EliyahuAI/mcp-server-hyperplexity](https://github.com/EliyahuAI/mcp-server-hyperplexity) - **Documentation:** [hyperplexity.ai/mcp](https://hyperplexity.ai/mcp) - **API reference:** [hyperplexity.ai/api](https://hyperplexity.ai/api) - **Account & credits:** [hyperplexity.ai/account](https://hyperplexity.ai/account)

EXECUTIVE VERDICT

Executive verdict

Production trust decision: Block for production
Reason: failing live status + score below evaluation threshold
Next action: revalidate, add safeguards, export policy
Status
Failing
Score
45.6
Transport
unknown
Tools
0

Current trust snapshot

Snapshot ID
trustsnap_db58bc86be23dd31
Use this ID to compare server page, report, policy, MCP, homepage, ranking, and shortlist surfaces.
Snapshot generated
May 24, 2026 12:46:50 PM UTC
All page, report, policy, and MCP surfaces use this same server-detail snapshot shape.
Last validated
May 24, 2026 11:50:11 AM UTC
Age: 0.94h • freshness band: Verified in last 24h • display score: 45.62
Production trust decision
Block for production
failing live status + score below evaluation threshold
Readiness class
Needs remediation
Current validation evidence shows operational or discovery gaps that should be fixed first.
SERVER OWNER FUNNEL

Own this MCP?

Claim ownership, prove control with a GitHub, DNS, or HTTP token challenge, revalidate now, publish a badge, and configure monitoring.

1. Claim
unclaimed
Start owner claim with GitHub, DNS, or HTTP challenge instructions.
2. Revalidate
POST /v1/servers/hyperplexity/hyperplexity/revalidate
Verified owners get priority queueing after proof succeeds.
3. Badge
Verified by MCP Verify badge
Verified by MCP Verify - score 45.6 - last checked May 24, 2026
4. Monitor
Continuous Verify plan is self-serve: choose a tier, configure watches, add authenticated validation, trigger revalidation, and use the badge.
Badge embed
[![Verified by MCP Verify](https://verify.sentinelsignal.io/badge/hyperplexity/hyperplexity.svg)](https://verify.sentinelsignal.io/servers/hyperplexity/hyperplexity)

MCP TrustOps

TrustOps turns this report into operational controls: freshness SLAs, authenticated validation, semantic benchmarks, policy exports, alert subscriptions, badges, cost/compliance metadata, and runtime routing. Fresh trusted index decisions stay separate from long-tail inventory so stale scores do not masquerade as current evidence.

Freshness band
Verified in last 24h
Policy SLA: 168.0h • confidence-weighted score: 35.4 • stale score suppressed:
Policy exports
Formats: json, rego, yaml, github_action, gateway_config, client_report
Runtime routing
/v1/decide
Returns allowed tools, blocked tools, approval requirement, and reason.
Hosted runtime
Deploy trusted servers from GitHub with secrets, egress controls, releases, rollback, and audit events.
Authenticated validation
Premium publisher feature: paid authenticated runs verify scopes, write-action safeguards, and authorized tool execution.
Active trust badges
Freshly Validated Write-Safe No Critical Risk
Semantic benchmarks
available
Templates cover GitHub, database, healthcare, web search, and CRM least-privilege jobs.
Supply chain
metadata signal
Deep scan checks are marked separately from public metadata signals.
Compliance metadata
Terms, privacy, SOC 2, HIPAA, GDPR, retention, deletion, and audit-log fields are tracked as enterprise metadata.
Alert subscription types
Status changes Score drops or recovers Freshness SLA breach Validation schema drift OAuth or auth behavior changes Tool surface changes New or changed write tool Supply-chain signal changes Legal or compliance metadata changes

MCP Runtime hosting

Verify Hosted MCP turns a trusted server report into a managed remote MCP endpoint with GitHub deployment provenance, sandbox policy, encrypted secrets, release history, rollback, and audit/usage events.

Activation readiness
Trusted hosted runtimes require fresh validation, a passing server state, a remote endpoint, and a minimum score.
Minimum tier
TrustOps
Publisher claim plus paid TrustOps tier are required before secrets or releases can be created.
Hosted endpoint
/hosted/{namespace}/{name}/mcp
The endpoint enforces egress allowlists and records audit/usage events.
Blockers
score_below_hosting_threshold server_not_healthy_or_degraded remote_endpoint_missing latest_validation_not_passing
DeploymentStatusEndpointRelease
No hosted runtime deployments yet.

Production readiness class

Production readiness class
Needs remediation
Current validation evidence shows operational or discovery gaps that should be fixed first.
Critical alerts
1
Production verdicts degrade quickly when critical alerts are active.

Evidence confidence

Confidence score
77.5
Based on 10 recent validations, 26 captured checks, and validation age of 0.9 hours.
Live checks captured
26
More direct checks increase trust in the current verdict.
Validation age
0.9h
Lower age means fresher evidence.

Recommended for

No recommendation profile is available yet.

Client compatibility verdicts

Client compatibility only means the server shape can work with a client. Production trust decision and write-action publishing are evaluated separately so a client-compatible server can still be blocked for production.

Client compatibility: ChatGPT
Not client-compatible
Requires a streamable HTTP endpoint.; Requires a public remote MCP endpoint.; OpenAI connectors expect OAuth for remote server auth.; Dynamic client registration materially improves connector setup.; Initialize must be reachable.; tools/list must succeed.; OAuth interoperability should be strong.
Confidence: high (77.5)
Evidence provenance
Winner: live_validation
Supporting sources: live_validation, history, server_card
Disagreements: none
  • initializeMissing
  • tools_listMissing
  • transport_compliance_probeMissing
  • step_up_auth_probeMissing
  • connector_replay_probeMissing — Frozen tool snapshots must survive refresh.
  • request_association_probeMissing — Roots, sampling, and elicitation should stay request-scoped.
Client compatibility: Claude
Not client-compatible
Requires a reachable remote MCP URL.; Initialize must succeed or cleanly request auth.; tools/list must succeed.; A useful Claude integration needs at least one exposed tool.; Claude remote wrappers expect HTTP/SSE transports.
Confidence: high (77.5)
Evidence provenance
Winner: live_validation
Supporting sources: live_validation, history, server_card
Disagreements: none
  • initializeMissing
  • tools_listMissing
  • transport_compliance_probeMissing
Write-action publishing
Publishing allowed
Current write surface is bounded enough for cautious review with production policy controls.
Confidence: high (77.5)
Evidence provenance
Winner: live_validation
Supporting sources: live_validation, history
Disagreements: none
  • action_safety_probeOK
Snapshot churn risk
Low
No material tool-surface churn detected in the latest comparison.
Confidence: high (77.5)
Evidence provenance
Winner: history
Supporting sources: history, live_validation
Disagreements: none
  • tool_snapshot_probeMissing
  • connector_replay_probeMissing

Why compatibility is limited by client

ChatGPT custom connector
Not client-compatible
Remediation checklist
  • Requires a streamable HTTP endpoint.
  • Requires a public remote MCP endpoint.
  • OpenAI connectors expect OAuth for remote server auth.
  • Dynamic client registration materially improves connector setup.
  • Initialize must be reachable.
  • tools/list must succeed.
Claude remote MCP
Not client-compatible
Remediation checklist
  • Requires a reachable remote MCP URL.
  • Initialize must succeed or cleanly request auth.
  • tools/list must succeed.
  • A useful Claude integration needs at least one exposed tool.
  • Claude remote wrappers expect HTTP/SSE transports.
  • search fetch only is not yet satisfied
Write-safe publishing
Ready
Remediation checklist
  • No explicit blockers recorded.

Verdict traces

Production verdict
Needs remediation
Current validation evidence shows operational or discovery gaps that should be fixed first.
Confidence: high (77.5)
Winning source: live_validation
Triggering alerts
  • server_failing • critical • Latest validation is failing
Client verdict trace table
VerdictStatusChecksWinning sourceConflicts
openai_connectors Not client-compatible initialize, tools_list, transport_compliance_probe, step_up_auth_probe, connector_replay_probe, request_association_probe live_validation none
claude_desktop Not client-compatible initialize, tools_list, transport_compliance_probe live_validation none
unsafe_for_write_actions Publishing allowed action_safety_probe live_validation none
snapshot_churn_risk Low tool_snapshot_probe, connector_replay_probe history none

Publishability policy profiles

ChatGPT custom connector compatibility
Compatible with review
Requires a streamable HTTP endpoint.; Requires a public remote MCP endpoint.; OpenAI connectors expect OAuth for remote server auth.; Dynamic client registration materially improves connector setup.; Initialize must be reachable.; tools/list must succeed.; OAuth interoperability should be strong. Compatibility is not a production approval; company knowledge and Messages API gates remain separate.
  • Search Fetch Only: No
  • Write Actions Present: No
  • Oauth Configured: No
  • Admin Refresh Required: No
  • Safe For Company Knowledge: No
  • Safe For Messages Api Remote Mcp: No
Claude remote MCP compatibility
Compatible with review
Requires a reachable remote MCP URL.; Initialize must succeed or cleanly request auth.; tools/list must succeed.; A useful Claude integration needs at least one exposed tool.; Claude remote wrappers expect HTTP/SSE transports. Compatibility is not a production approval; company knowledge and Messages API gates remain separate.
  • Search Fetch Only: No
  • Write Actions Present: No
  • Oauth Configured: No
  • Admin Refresh Required: No
  • Safe For Company Knowledge: No
  • Safe For Messages Api Remote Mcp: No

Compatibility fixtures

ChatGPT custom connector fixture
Degraded
Requires a streamable HTTP endpoint.; Requires a public remote MCP endpoint.; OpenAI connectors expect OAuth for remote server auth.; Dynamic client registration materially improves connector setup.; Initialize must be reachable.; tools/list must succeed.; OAuth interoperability should be strong.
  • remote_http_endpoint: Likely to fail
  • oauth_discovery: Degraded
  • frozen_tool_snapshot_refresh: Passes
  • request_association: Passes
Anthropic remote MCP fixture
Degraded
Requires a reachable remote MCP URL.; Initialize must succeed or cleanly request auth.; tools/list must succeed.; A useful Claude integration needs at least one exposed tool.; Claude remote wrappers expect HTTP/SSE transports.
  • remote_transport: Likely to fail
  • tool_discovery: Likely to fail
  • auth_connect: Likely to fail
  • safe_write_review: Passes

Authenticated validation sessions

Public validation is free. Authenticated validation is paid and proves scoped behavior, write-action safeguards, and authenticated tool execution.

Latest profile
remote_mcp
Authenticated session used
Public score isolation
Preview endpoint
/v1/verify
CI preview endpoint
/v1/ci/preview

Public server reputation

Validation success 7d
0.0
Validation success 30d
0.0
Mean time to recover
n/a
Breaking diffs 30d
0
Registry drift frequency 30d
0
Snapshot changes 30d
0

Incident & change feed

TimestampEventDetails
May 24, 2026 11:50:11 AM UTC Latest validation: failing Score 45.6 with status failing.

Capabilities

Use-case taxonomy
development database search communication

Security posture

Tools analyzed
0
High-risk tools
0
Destructive tools
0
Exec tools
0
Egress tools
0
Secret tools
0
Bulk-access tools
0
Risk distribution
none

Tool capability & risk inventory

No tool inventory available from the latest validation run.

Write-action governance

Governance status
OK
Safe to publish
Auth boundary
public_or_unclear
Blast radius
Low
High-risk tools
0
Confirmation signals
none
Safeguard count
0

Status detail: No unsafe write-action governance gaps detected on the latest validation.

ToolRiskFlagsSafeguards
No high-risk tools were detected on the latest run.

Action-controls diff

Need at least two validation runs before diffing action controls.

Why this score?

Access & Protocol
13/44
Connectivity, auth, and transport expectations for common clients.
Interface Quality
13/56
How well the tool/resource interface communicates and behaves under automation.
Security Posture
23.5/36
How safely the exposed tool surface handles destructive actions, egress, execution, secrets, and risky inputs.
Reliability & Trust
16.67/24
Operational stability, consistency, and trustworthiness over time.
Discovery & Governance
21.25/28
How well the server is documented, listed, and governed in public registries.
Adoption & Market
2/8
Adoption clues and public evidence that the server is intended for external use.

Algorithmic score breakdown

Auth Operability
0/4
Measures whether auth discovery and protected access behave predictably for clients.
Error Contract Quality
0/4
Grades machine-readable error structure, status alignment, and remediation hints.
Rate-Limit Semantics
2/4
Checks whether quota/throttle responses are deterministic and automation-friendly.
Schema Completeness
0/4
Completeness of tool descriptions, parameter docs, examples, and schema shape.
Backward Compatibility
4/4
Stability score across tool schema/name drift relative to prior validations.
SLO Health
3/4
Availability, latency, and burst-failure profile across recent validation history.
Security Hygiene
1.5/4
HTTPS posture, endpoint hygiene, and response-surface hardening checks.
Task Success
1.7/4
Can an agent reliably initialize, enumerate tools, and execute core MCP flows?
Trust Confidence
2/4
Confidence-adjusted reliability score that penalizes low evidence volume.
Abuse/Noise Resilience
3/4
How well the server preserves core behavior in the presence of noisy traffic patterns.
Prompt Contract
2/4
Quality of prompt metadata, argument shape, and prompt discoverability for clients.
Resource Contract
2/4
How completely resources and resource templates describe URIs, types, and usage shape.
Discovery Metadata
3/4
Homepage, docs, icon, repository, support, and license coverage for directory consumers.
Registry Consistency
3/4
Agreement between stored registry metadata, live server-card data, and current validation output.
Installability
2/4
How cleanly a real client can connect, initialize, enumerate tools, and proceed through auth.
Session Semantics
0/4
Determinism and state behavior across repeated MCP calls, including sticky-session surprises.
Tool Surface Design
0/4
Naming clarity, schema ergonomics, and parameter complexity across the tool surface.
Result Shape Stability
0/4
Stability of declared output schemas across validations, with penalties for drift or missing shapes.
OAuth Interop
0/4
Depth and client compatibility of OAuth/OIDC metadata beyond the minimal protected-resource check.
Recovery Semantics
0/4
Whether failures include actionable machine-readable next steps such as retry or upgrade guidance.
Maintenance Signal
3.8/4
Versioning, update recency, and historical validation cadence that indicate active stewardship.
Adoption Signal
2/4
Directory presence and distribution clues that suggest the server is intended for external use.
Freshness Confidence
3/4
Confidence that recent validations are current enough and dense enough to trust operationally.
Transport Fidelity
0/4
Whether declared transport metadata matches the observed endpoint behavior and response formats.
Spec Recency
2/4
How close the server’s claimed MCP protocol version is to the latest known public revision.
Session Resume
0/4
Whether Streamable HTTP session identifiers and resumed requests behave cleanly for real clients.
Step-Up Auth
3/4
Whether OAuth metadata and WWW-Authenticate challenges support granular, incremental consent instead of broad upfront scopes.
Transport Compliance
1/4
Checks session headers, protocol-version enforcement, session teardown, and expired-session behavior.
Utility Coverage
2/4
Signals support for completions, pagination, and task-oriented utility surfaces that larger clients increasingly expect.
Advanced Capability Coverage
2/4
Coverage of newer MCP surfaces like roots, sampling, elicitation, structured output, and related metadata.
Connector Publishability
0/4
How ready the server looks for client catalogs and managed connector programs.
Tool Snapshot Churn
0/4
Stability of the tool surface across recent validations, including add/remove and output-shape drift.
Connector Replay
3/4
Whether a previously published frozen connector snapshot would remain backward compatible after the latest tool refresh.
Request Association
3/4
Whether roots, sampling, and elicitation appear tied to active client requests instead of arriving unsolicited on idle sessions.
Interactive Flow Safety
3/4
Whether prompts and docs steer users toward safe auth flows instead of pasting secrets directly.
Action Safety
3/4
Risk-weighted view of destructive, exec, egress, and confirmation semantics across the tool surface.
Official Registry Presence
3/4
Whether the server appears directly or indirectly in the official MCP registry.
Provenance Divergence
4/4
How closely official registry metadata, the live server card, and public repo/package signals agree with each other.
Safety Transparency
4/4
Clarity of docs, auth disclosure, support links, and other trust signals visible to integrators.
Tool Capability Clarity
0/4
How clearly the tool surface communicates whether each action reads, writes, deletes, executes, or exports data.
Destructive Operation Safety
3/4
Penalizes delete/revoke/destroy style tools unless auth and safeguards reduce blast radius.
Egress / SSRF Resilience
3/4
Assesses arbitrary URL fetch, crawl, webhook, and remote-request exposure on the tool surface.
Execution / Sandbox Safety
4/4
Evaluates shell, code, script, and command-execution exposure and whether that surface appears contained.
Data Exfiltration Resilience
3/4
Assesses export, dump, backup, and bulk-read behavior against the surrounding auth and safeguard signals.
Least Privilege Scope
2/4
Rewards scoped auth metadata and penalizes broad or missing scopes around privileged tools.
Secret Handling Hygiene
3/4
Assesses secret-bearing tools, token leakage risk, and whether the public surface avoids obvious secret exposure.
Supply Chain Signal
0.5/4
Public metadata signal for repository, changelog, license, versioning, and recency that supports supply-chain trust.
Input Sanitization Safety
0/4
Penalizes risky freeform string inputs when schemas do not constrain URLs, code, paths, queries, or templates.
Tool Namespace Clarity
0/4
Measures naming uniqueness and ambiguity across the tool namespace to reduce collision and confusion risk.

Compatibility profiles

OpenAI Connectors
22.2
blocked
Requires a streamable HTTP endpoint.; Requires a public remote MCP endpoint.; OpenAI connectors expect OAuth for remote server auth.; Dynamic client registration materially improves connector setup.; Initialize must be reachable.; tools/list must succeed.; OAuth interoperability should be strong.
Connector URL: https://example.com/mcp
# No OAuth metadata detected.
# Server: hyperplexity/hyperplexity
Claude Desktop
16.7
blocked
Requires a reachable remote MCP URL.; Initialize must succeed or cleanly request auth.; tools/list must succeed.; A useful Claude integration needs at least one exposed tool.; Claude remote wrappers expect HTTP/SSE transports.
{
  "mcpServers": {
    "hyperplexity": {
      "command": "npx",
      "args": ["mcp-remote", "https://example.com/mcp"]
    }
  }
}
Smithery
20.0
blocked
Requires a public remote MCP URL.; Tool discovery must succeed.; Initialize should work before execution.; Machine-readable failure semantics should be present.
smithery mcp add "https://example.com/mcp"
Generic Streamable HTTP
0.0
blocked
Requires an HTTP-native transport.; Requires a reachable remote MCP URL.; Initialize must succeed.; tools/list must succeed.; Transport behavior should match metadata.; Session behavior should be predictable.
curl -sS https://example.com/mcp -H 'content-type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"mcp-verify","version":"0.1.0"}}}'

Actionable remediation

SeverityRemediationWhy it mattersRecommended action
Critical Ensure tools/list succeeds consistently Tools discovery is the minimum viable contract for most MCP clients and directories. Make tools/list succeed unauthenticated when possible, or document the auth flow in the server card.
Playbook
  • Make `tools/list` deterministic across repeated calls.
  • Document or relax auth requirements for discovery routes.
  • Check that tool names, descriptions, and schemas remain stable across deploys.
Critical Make initialize deterministic and client-friendly If initialize fails or requires undocumented auth, many MCP clients cannot connect. Allow initialize to succeed consistently, or return a deterministic auth-required response with clear metadata.
Playbook
  • Allow `initialize` to succeed unauthenticated when possible.
  • If auth is required, return a deterministic auth-required response and matching metadata.
  • Retest against `your remote MCP URL` from a clean client session.
Critical Respond to latest validation is failing Core MCP flows did not validate successfully on the latest run. Fix the failing checks first, then revalidate to confirm the recovery path.
Playbook
  • Fix the failing checks first.
  • Review the latest incident feed and validation diff for the first regression.
  • Revalidate once the remediation lands.
High Align session and protocol behavior with Streamable HTTP expectations Clients increasingly rely on MCP-Protocol-Version, session teardown, and expired-session semantics. Align MCP-Protocol-Version, MCP-Session-Id, DELETE teardown, and expired-session handling with the transport spec.
Playbook
  • Return `Mcp-Session-Id` and `Mcp-Protocol-Version` headers consistently on streamable HTTP responses.
  • Honor `DELETE` session teardown and return `404` when a deleted session is reused.
  • Reject invalid protocol-version headers with `400 Bad Request`.
High Associate roots, sampling, and elicitation with active client requests Modern MCP guidance expects roots, sampling, and elicitation traffic to be tied to an active client request instead of arriving unsolicited on idle sessions. Inspect the latest validation evidence and resolve the client-visible regression.
Playbook
  • Inspect the latest validation evidence.
  • Resolve the highest-severity client-facing gap first.
  • Revalidate and confirm the score and verdict improve.
High Expose /.well-known/oauth-protected-resource Without a protected-resource document, OAuth clients cannot discover auth requirements reliably. Serve /.well-known/oauth-protected-resource and point it at your authorization server metadata.
Playbook
  • Serve `/.well-known/oauth-protected-resource` from the same host as the MCP endpoint.
  • Point it at the authorization server metadata URL.
  • Confirm clients receive consistent auth hints before tool execution.
High Keep connector refreshes backward compatible Managed connector clients freeze tool snapshots, so removed tools, new required args, and breaking output changes can break published integrations after refresh. Inspect the latest validation evidence and resolve the client-visible regression.
Playbook
  • Inspect the latest validation evidence.
  • Resolve the highest-severity client-facing gap first.
  • Revalidate and confirm the score and verdict improve.
High Publish OAuth authorization-server metadata Clients need authorization-server metadata to discover issuer, endpoints, and DCR support. Publish /.well-known/oauth-authorization-server from your issuer and include registration_endpoint when supported.
Playbook
  • Publish `/.well-known/oauth-authorization-server` from the issuer.
  • Add `registration_endpoint` if DCR is supported.
  • Verify issuer, authorization, token, and jwks metadata are all reachable.
High Publish a complete server card Missing or incomplete server-card metadata weakens discovery, documentation, and trust signals. Serve /.well-known/mcp/server-card.json and include tools, prompts/resources, homepage, and support links.
Playbook
  • Publish `/.well-known/mcp/server-card.json`.
  • Include homepage, repository, support, tools, prompts/resources, and auth metadata.
  • Revalidate the server after publishing the card.
High Stop asking users to paste secrets directly Public MCP servers should prefer OAuth or browser-based auth guidance over in-band secret collection. Inspect the latest validation evidence and resolve the client-visible regression.
Playbook
  • Inspect the latest validation evidence.
  • Resolve the highest-severity client-facing gap first.
  • Revalidate and confirm the score and verdict improve.
Medium Adopt a current MCP protocol revision Older protocol revisions reduce compatibility with newer clients and registry programs. Inspect the latest validation evidence and resolve the client-visible regression.
Playbook
  • Inspect the latest validation evidence.
  • Resolve the highest-severity client-facing gap first.
  • Revalidate and confirm the score and verdict improve.
Medium Close connector-publishing gaps Connector catalogs care about protocol recency, session behavior, auth clarity, and tool-surface stability. Inspect the latest validation evidence and resolve the client-visible regression.
Playbook
  • Inspect the latest validation evidence.
  • Resolve the highest-severity client-facing gap first.
  • Revalidate and confirm the score and verdict improve.
Medium Document minimal scopes and return cleaner auth challenges Modern clients expect granular scopes and step-up auth signals such as WWW-Authenticate scope hints. Return granular scopes and WWW-Authenticate challenge hints instead of forcing overly broad auth upfront.
Playbook
  • Advertise the narrowest viable scopes in OAuth metadata.
  • Return `WWW-Authenticate` challenges with scope or insufficient-scope hints when additional consent is needed.
  • Revalidate with both public discovery and auth-required flows.
Medium Publish OpenID configuration OIDC metadata improves token validation and client compatibility. Expose /.well-known/openid-configuration with issuer, jwks_uri, and supported grants.
Playbook
  • Inspect the latest validation evidence.
  • Resolve the highest-severity client-facing gap first.
  • Revalidate and confirm the score and verdict improve.
Medium Raise Access & Protocol score Connectivity, auth, and transport expectations for common clients. Tighten auth discovery, session behavior, and transport metadata until remote clients can connect without guesswork.
Playbook
  • Inspect the latest validation evidence.
  • Resolve the highest-severity client-facing gap first.
  • Revalidate and confirm the score and verdict improve.
Medium Raise Adoption & Market score Adoption clues and public evidence that the server is intended for external use. Increase external documentation and directory coverage so users can discover and evaluate the server.
Playbook
  • Inspect the latest validation evidence.
  • Resolve the highest-severity client-facing gap first.
  • Revalidate and confirm the score and verdict improve.
Medium Raise Interface Quality score How well the tool/resource interface communicates and behaves under automation. Improve schemas, error contracts, and recovery messages so agents can reason about the surface automatically.
Playbook
  • Inspect the latest validation evidence.
  • Resolve the highest-severity client-facing gap first.
  • Revalidate and confirm the score and verdict improve.
Medium Reduce tool-surface churn Frequent add/remove or output-shape drift makes published connectors and cached tool snapshots brittle. Inspect the latest validation evidence and resolve the client-visible regression.
Playbook
  • Inspect the latest validation evidence.
  • Resolve the highest-severity client-facing gap first.
  • Revalidate and confirm the score and verdict improve.
Medium Repair prompts/list or stop advertising prompts Prompt metadata should either work live or be removed from the advertised capability set. Only advertise prompts if prompts/list works and prompt arguments are documented.
Playbook
  • Only advertise prompts that are actually accessible.
  • Add prompt descriptions and argument docs.
  • Run a live `prompts/list` check after any prompt changes.
Medium Repair resources/list or stop advertising resources Resource metadata should either work live or be removed from the advertised capability set. Only advertise resources if resources/list works and resources expose stable URIs/types.
Playbook
  • Only advertise resources with stable URIs and read semantics.
  • Add MIME/type hints where possible.
  • Run a live `resources/list` and `resources/read` check after updates.
Medium Support resumable HTTP sessions cleanly Modern MCP clients increasingly expect resumable session behavior on streamable HTTP transports. Inspect the latest validation evidence and resolve the client-visible regression.
Playbook
  • Inspect the latest validation evidence.
  • Resolve the highest-severity client-facing gap first.
  • Revalidate and confirm the score and verdict improve.
Low Expose modern utility surfaces like completions, pagination, or tasks Utility coverage improves interoperability with larger clients and long-lived agent workflows. Expose completions, pagination, and task metadata where supported so larger clients can plan and resume work safely.
Playbook
  • Advertise `completions`, pagination cursors, and `tasks` only when they are actually supported.
  • Return `nextCursor` on large list operations when pagination is available.
  • Document task support and whether it requires step-up auth.
Low Harden generic GET handling Simple probe requests should not surface server instability or noisy failures. Harden generic GET handlers around the origin of your remote MCP URL so incidental traffic does not produce noisy failures.
Playbook
  • Inspect the latest validation evidence.
  • Resolve the highest-severity client-facing gap first.
  • Revalidate and confirm the score and verdict improve.
Low Publish newer MCP capability signals Roots, sampling, elicitation, structured outputs, and related metadata improve client understanding and ranking. Inspect the latest validation evidence and resolve the client-visible regression.
Playbook
  • Inspect the latest validation evidence.
  • Resolve the highest-severity client-facing gap first.
  • Revalidate and confirm the score and verdict improve.
Low Publish or reconcile the server in the official MCP registry Official registry presence improves discovery confidence and cross-source consistency. Inspect the latest validation evidence and resolve the client-visible regression.
Playbook
  • Inspect the latest validation evidence.
  • Resolve the highest-severity client-facing gap first.
  • Revalidate and confirm the score and verdict improve.

Point loss breakdown

ComponentCurrentPoints missing
Transport Fidelity 0/4 -4.0
Tool Surface Design 0/4 -4.0
Tool Snapshot Churn 0/4 -4.0
Tool Namespace Clarity 0/4 -4.0
Tool Capability Clarity 0/4 -4.0
Session Semantics 0/4 -4.0
Session Resume 0/4 -4.0
Schema Completeness 0/4 -4.0
Result Shape Stability 0/4 -4.0
Recovery Semantics 0/4 -4.0
OAUTH Interop 0/4 -4.0
Input Sanitization Safety 0/4 -4.0

Validation diff

Score delta
0
Summary changed
no
Tool delta
0
Prompt delta
0
Auth mode changed
no
Write surface expanded
no
Protocol regressed
no
Registry drift changed
no

Regressed checks: connector_publishability_probe

Improved checks: action_safety_probe, provenance_divergence_probe

ComponentPreviousLatestDelta
No component deltas between the latest two runs.

Tool snapshot diff & changelog

Need at least two validation runs before building a tool changelog.

Connector replay

Status
Missing
Backward compatible
Would break after refresh
Added tools
none
Removed tools
none
Additive output changes
none
Required-argument replay breaks
ToolAdded required argsRemoved required args
No required-argument replay breaks detected.
Output-schema replay breaks
ToolRemoved propertiesAdded properties
No output-schema replay breaks detected.

Transport compliance drilldown

Probe status
Missing
Transport
unknown
Session header
no
Protocol header
no
Bad protocol response
n/a
DELETE teardown
n/a
Expired session retry
n/a
Last-Event-ID visible
no

Issues: none

Request association

Status
Missing
Advertised capabilities
none
Observed idle methods
none
Violating methods
none
Probe HTTP status
n/a
Issues
none

Utility coverage

Probe status
Missing
Completions
not detected
Completion probe target: none
Pagination
not detected
No nextCursor evidence.
Tasks
Missing
Advertised: no

Benchmark tasks

Benchmark taskStatusEvidence
Discover tools Likely to fail
  • initializeMissing
  • tools_listMissing
Read-only fetch flow Likely to fail
  • resource_readMissing
  • read_only_tool_surfaceMissing
OAuth-required connect Degraded
  • oauth_protected_resourceMissing
  • step_up_auth_probeMissing
Safe write flow with confirmation Passes
  • action_safety_probeOK

Registry & provenance divergence

Probe status
OK
Direct official match
no
Drift fields
none
FieldRegistryLive server card
Titlen/an/a
Versionn/an/a
Homepagen/an/a

Active alerts

Aliases & registry graph

IdentifierSourceCanonicalScore
hyperplexity/hyperplexity smithery_registry yes 45.62
hyperplexity/production smithery_registry no 45.62

Alias consolidation

Canonical identifier
hyperplexity/hyperplexity
Duplicate aliases
1
Registry sources
smithery_registry
Remote URLs
none
Source disagreements
FieldWhat differsObserved values
Registry identifier Different registry-specific identifiers resolve to the same canonical server record here. smithery_registry:444a9028-f1e6-4c91-b713-7704f641ed79 smithery_registry:abab6615-512f-4b9b-b631-4d2e9a937877

Install snippets

Openai Connectors
Connector URL: https://example.com/mcp
# No OAuth metadata detected.
# Server: hyperplexity/hyperplexity
Claude Desktop
{
  "mcpServers": {
    "hyperplexity": {
      "command": "npx",
      "args": ["mcp-remote", "https://example.com/mcp"]
    }
  }
}
Smithery
smithery mcp add "https://example.com/mcp"
Generic Http
curl -sS https://example.com/mcp -H 'content-type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"mcp-verify","version":"0.1.0"}}}'

Agent access & tool surface

Live server tools
No live tool surface captured yet.
Observed from the latest live validation against none. This is the target server surface, not Verify's own inspection tools.
Live capability counts
0 tools • 0 prompts • 0 resources
Counts come from the latest tools/list, prompts/list, and resources/list checks.
Inspect with Verify
search fetch search_servers recommend_servers get_server_report compare_servers
Use Verify itself to search, recommend, compare, and fetch the full report for hyperplexity/hyperplexity.
Direct machine links

Claims & monitoring

Server ownership

No verified maintainer claim recorded.

Watch subscriptions
0
Teams: none

Alert routing

Active watches
0
Generic webhooks
0
Slack routes
0
Teams routes
0
Email routes
0
WatchTeamChannelsMinimum severity
No active watch destinations.

Maintainer analytics

Validation Run Count
10
Average Latency Ms
24.89
Healthy Run Ratio Recent
0.0
Registry Presence Count
2
Active Alert Count
1
Watcher Count
0
Verified Claim
False
Taxonomy Tags
development, database, search, communication
Score Trend
45.62, 45.62, 45.62, 45.62, 45.62, 45.62, 45.62, 45.62, 45.62, 45.62
Remediation Count
25
High Risk Tool Count
0
Destructive Tool Count
0
Exec Tool Count
0

Maintainer response quality

Score
16.67
Verified claim
Support contact
Changelog present
Incident notes present
Tool changes documented
Annotation history
Annotation count
0

Maintainer annotations

No maintainer annotations have been recorded yet.

Maintainer rebuttals & expected behavior

No maintainer rebuttals or expected-behavior overrides are recorded yet.

Latest validation evidence

Latest summary
Failing
Validation profile
remote_mcp
Started
May 24, 2026 11:50:11 AM UTC
Latency
18.2 ms

Failures

Checks

CheckStatusLatencyEvidence
action_safety_probe OK n/a No high-risk write, destructive, or exec tools detected.
advanced_capabilities_probe Missing n/a No advanced MCP capability signals detected.
connector_publishability_probe Error n/a Publishability blockers: remote transport, initialize, tools list, protocol version, +4 more.
connector_replay_probe Missing n/a No connector replay evidence recorded.
determinism_probe Missing n/a no remote url
initialize Missing n/a no remote url
interactive_flow_probe Missing n/a Check completed
oauth_authorization_server Missing n/a no authorization server
oauth_protected_resource Missing n/a no remote url
official_registry_probe Warning n/a Check completed
openid_configuration Missing n/a no authorization server
probe_noise_resilience Missing n/a no remote url
prompt_get Missing n/a not advertised
prompts_list Missing n/a no remote url
protocol_version_probe Missing n/a No protocol version was advertised.
provenance_divergence_probe OK n/a Check completed
request_association_probe Missing n/a No request-association capabilities were advertised.
resource_read Missing n/a not advertised
resources_list Missing n/a no remote url
server_card Missing n/a no server card url
session_resume_probe Missing n/a no remote url
step_up_auth_probe Missing n/a No OAuth or incremental-scope signals detected.
tool_snapshot_probe Missing n/a no tools
tools_list Missing n/a no remote url
transport_compliance_probe Missing n/a Session header=no, protocol header=no, bad protocol=n/a.
utility_coverage_probe Missing n/a No completions evidence; no pagination evidence; tasks missing.

Raw evidence view

Show raw JSON evidence
{
  "checks": {
    "action_safety_probe": {
      "details": {
        "auth_present": false,
        "confirmation_signals": [],
        "safeguard_count": 0,
        "summary": {
          "bulk_access_tools": 0,
          "capability_distribution": {},
          "destructive_tools": 0,
          "egress_tools": 0,
          "exec_tools": 0,
          "high_risk_tools": 0,
          "risk_distribution": {
            "critical": 0,
            "high": 0,
            "low": 0,
            "medium": 0
          },
          "secret_tools": 0,
          "tool_count": 0
        }
      },
      "latency_ms": null,
      "status": "ok"
    },
    "advanced_capabilities_probe": {
      "details": {
        "capabilities": {
          "completions": false,
          "elicitation": false,
          "prompts": false,
          "resource_links": false,
          "resources": false,
          "roots": false,
          "sampling": false,
          "structured_outputs": false
        },
        "enabled": [],
        "enabled_count": 0,
        "initialize_capability_keys": []
      },
      "latency_ms": null,
      "status": "missing"
    },
    "connector_publishability_probe": {
      "details": {
        "blockers": [
          "remote_transport",
          "initialize",
          "tools_list",
          "protocol_version",
          "transport_compliance",
          "server_card",
          "tool_surface",
          "auth_flow"
        ],
        "criteria": {
          "action_safety": true,
          "auth_flow": false,
          "connector_replay": true,
          "initialize": false,
          "protocol_version": false,
          "remote_transport": false,
          "request_association": true,
          "server_card": false,
          "session_resume": true,
          "step_up_auth": true,
          "tool_surface": false,
          "tools_list": false,
          "transport_compliance": false
        },
        "high_risk_tools": 0,
        "tool_count": 0,
        "transport": null
      },
      "latency_ms": null,
      "status": "error"
    },
    "connector_replay_probe": {
      "details": {
        "reason": "no_tools"
      },
      "latency_ms": null,
      "status": "missing"
    },
    "determinism_probe": {
      "details": {
        "reason": "no_remote_url"
      },
      "latency_ms": null,
      "status": "missing"
    },
    "initialize": {
      "details": {
        "reason": "no_remote_url"
      },
      "latency_ms": null,
      "status": "missing"
    },
    "interactive_flow_probe": {
      "details": {
        "oauth_supported": false,
        "prompt_available": false,
        "risk_hits": [],
        "safe_hits": []
      },
      "latency_ms": null,
      "status": "missing"
    },
    "oauth_authorization_server": {
      "details": {
        "reason": "no_authorization_server"
      },
      "latency_ms": null,
      "status": "missing"
    },
    "oauth_protected_resource": {
      "details": {
        "reason": "no_remote_url"
      },
      "latency_ms": null,
      "status": "missing"
    },
    "official_registry_probe": {
      "details": {
        "direct_match": false,
        "official_identifiers": [
          "io.github.martc03/cybersecurity-vuln",
          "io.github.chenlidongorg/whiteboard",
          "io.github.martc03/federal-financial-intel",
          "io.github.martc03/immigration-travel",
          "io.github.lu-zhengda/mcp-python-exec-sandbox",
          "io.github.TheNextGenNexus/real-estate-mcp-server",
          "io.github.martc03/competitive-intel",
          "io.github.Oortonaut/mcacp",
          "io.github.VictoriaMetrics-Community/mcp-vmanomaly",
          "co.machins/marketplace"
        ],
        "official_peer_count": 10,
        "registry_source": "smithery_registry"
      },
      "latency_ms": null,
      "status": "warning"
    },
    "openid_configuration": {
      "details": {
        "reason": "no_authorization_server"
      },
      "latency_ms": null,
      "status": "missing"
    },
    "probe_noise_resilience": {
      "details": {
        "reason": "no_remote_url"
      },
      "latency_ms": null,
      "status": "missing"
    },
    "prompt_get": {
      "details": {
        "reason": "not_advertised"
      },
      "latency_ms": null,
      "status": "missing"
    },
    "prompts_list": {
      "details": {
        "reason": "no_remote_url"
      },
      "latency_ms": null,
      "status": "missing"
    },
    "protocol_version_probe": {
      "details": {
        "latest_known_version": "2025-11-25",
        "reason": "no_protocol_version",
        "validator_protocol_version": "2025-03-26"
      },
      "latency_ms": null,
      "status": "missing"
    },
    "provenance_divergence_probe": {
      "details": {
        "direct_official_match": false,
        "drift_fields": [],
        "metadata_document_count": 1,
        "registry_homepage": null,
        "registry_repository": null,
        "registry_title": null,
        "registry_version": null,
        "server_card_homepage": null,
        "server_card_repository": null,
        "server_card_title": null,
        "server_card_version": null
      },
      "latency_ms": null,
      "status": "ok"
    },
    "request_association_probe": {
      "details": {
        "reason": "no_request_association_capabilities_advertised"
      },
      "latency_ms": null,
      "status": "missing"
    },
    "resource_read": {
      "details": {
        "reason": "not_advertised"
      },
      "latency_ms": null,
      "status": "missing"
    },
    "resources_list": {
      "details": {
        "reason": "no_remote_url"
      },
      "latency_ms": null,
      "status": "missing"
    },
    "server_card": {
      "details": {
        "reason": "no_server_card_url"
      },
      "latency_ms": null,
      "status": "missing"
    },
    "session_resume_probe": {
      "details": {
        "reason": "no_remote_url"
      },
      "latency_ms": null,
      "status": "missing"
    },
    "step_up_auth_probe": {
      "details": {
        "auth_required_checks": [],
        "broad_scopes": [],
        "challenge_headers": [],
        "minimal_scope_documented": false,
        "oauth_present": false,
        "scope_specificity_ratio": 0.0,
        "step_up_signals": [],
        "supported_scopes": []
      },
      "latency_ms": null,
      "status": "missing"
    },
    "tool_snapshot_probe": {
      "details": {
        "reason": "no_tools"
      },
      "latency_ms": null,
      "status": "missing"
    },
    "tools_list": {
      "details": {
        "reason": "no_remote_url"
      },
      "latency_ms": null,
      "status": "missing"
    },
    "transport_compliance_probe": {
      "details": {
        "reason": "no_remote_url"
      },
      "latency_ms": null,
      "status": "missing"
    },
    "utility_coverage_probe": {
      "details": {
        "completions": {
          "advertised": false,
          "live_probe": "not_executed",
          "sample_target": null
        },
        "initialize_capability_keys": [],
        "pagination": {
          "metadata_signal": false,
          "next_cursor_methods": [],
          "supported": false
        },
        "tasks": {
          "advertised": false,
          "http_status": null,
          "probe_status": "missing"
        }
      },
      "latency_ms": null,
      "status": "missing"
    }
  },
  "failures": {
    "initialize": {
      "reason": "no_remote_url"
    },
    "oauth_authorization_server": {
      "reason": "no_authorization_server"
    },
    "oauth_protected_resource": {
      "reason": "no_remote_url"
    },
    "openid_configuration": {
      "reason": "no_authorization_server"
    },
    "probe_noise_resilience": {
      "reason": "no_remote_url"
    },
    "server_card": {
      "reason": "no_server_card_url"
    },
    "tools_list": {
      "reason": "no_remote_url"
    }
  },
  "remote_url": null,
  "server_card_payload": null,
  "server_identifier": "hyperplexity/hyperplexity"
}

Known versions

Validation history

7 day score delta
n/a
30 day score delta
n/a
Recent healthy ratio
0%
Freshness
0.9h
TimestampStatusScoreLatencyTools
May 24, 2026 11:50:11 AM UTC Failing 45.6 18.2 ms 0
May 24, 2026 03:48:39 AM UTC Failing 45.6 16.0 ms 0
May 23, 2026 07:48:15 PM UTC Failing 45.6 18.0 ms 0
May 23, 2026 11:47:55 AM UTC Failing 45.6 17.1 ms 0
May 23, 2026 03:45:38 AM UTC Failing 45.6 48.5 ms 0
May 22, 2026 07:44:17 PM UTC Failing 45.6 17.9 ms 0
May 22, 2026 11:41:14 AM UTC Failing 45.6 16.0 ms 0
May 22, 2026 03:39:36 AM UTC Failing 45.6 60.1 ms 0

Validation timeline

ValidatedSummaryScoreProtocolAuth modeToolsHigh-risk toolsChanges
May 24, 2026 11:50:11 AM UTC Failing 45.6 unknown unknown 0 0 none
May 24, 2026 03:48:39 AM UTC Failing 45.6 unknown unknown 0 0 none
May 23, 2026 07:48:15 PM UTC Failing 45.6 unknown unknown 0 0 none
May 23, 2026 11:47:55 AM UTC Failing 45.6 unknown unknown 0 0 none
May 23, 2026 03:45:38 AM UTC Failing 45.6 unknown unknown 0 0 none
May 22, 2026 07:44:17 PM UTC Failing 45.6 unknown unknown 0 0 none
May 22, 2026 11:41:14 AM UTC Failing 45.6 unknown unknown 0 0 none
May 22, 2026 03:39:36 AM UTC Failing 45.6 unknown unknown 0 0 none
May 21, 2026 07:38:44 PM UTC Failing 45.6 unknown unknown 0 0 none
May 21, 2026 11:35:07 AM UTC Failing 45.6 unknown unknown 0 0 none

Recent validation runs

StartedStatusSummaryLatencyChecks
May 24, 2026 11:50:11 AM UTC Completed Failing 18.2 ms action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe
May 24, 2026 03:48:39 AM UTC Completed Failing 16.0 ms
May 23, 2026 07:48:15 PM UTC Completed Failing 18.0 ms
May 23, 2026 11:47:55 AM UTC Completed Failing 17.1 ms
May 23, 2026 03:45:38 AM UTC Completed Failing 48.5 ms
May 22, 2026 07:44:16 PM UTC Completed Failing 17.9 ms
May 22, 2026 11:41:14 AM UTC Completed Failing 16.0 ms
May 22, 2026 03:39:36 AM UTC Completed Failing 60.1 ms
May 21, 2026 07:38:44 PM UTC Completed Failing 17.2 ms
May 21, 2026 11:35:07 AM UTC Completed Failing 19.9 ms