# Webhound (npm · webhound-mcp)

Budgeted reports and datasets with Hound, Webhound's DeepSeek V4 Pro + GPT-5.4 research harness.

- Trust score: 77/100 (medium)
- Change this week: +10
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `api.webhound.ai`: 36/100, [markdown](https://verifymcp.io/servers/ai-webhound-webhound/api-v2-mcp.md), [page](https://verifymcp.io/servers/ai-webhound-webhound/api-v2-mcp)
- npm · `webhound-mcp`: 77/100 (this document), [markdown](https://verifymcp.io/servers/ai-webhound-webhound/webhound-mcp.md), [page](https://verifymcp.io/servers/ai-webhound-webhound/webhound-mcp)

## Channel facts

- Registry: `npm`
- Package: `webhound-mcp`
- Version: `0.5.2`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 100/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - No production dependencies, so there is no dependency health to assess.
- **Provenance & Transparency**: 71/100
  - Repository check failed: no source repository is declared.
  - Cryptographically verified build provenance (signed, bound to WebhoundAI/webhound-mcp).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 7 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 82/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 4056 tokens (~126/item across 32 items; 30 tools + 2 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 76/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 14% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add ai-webhound-webhound -- npx -y webhound-mcp
```

### Codex

```bash
codex mcp add ai-webhound-webhound -- npx -y webhound-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ai-webhound-webhound": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "webhound-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add ai-webhound-webhound --command npx --arg -y --arg webhound-mcp
```

### Hermes

```yaml
mcp_servers:
  ai-webhound-webhound:
    command: "npx"
    args: ["-y", "webhound-mcp"]
```

### Other

```json
{
  "mcpServers": {
    "ai-webhound-webhound": {
      "command": "npx",
      "args": [
        "-y",
        "webhound-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 77, +4)

- [functional improvement] Stability: unverified → 0.27

### 2026-07-31 (score 73, +6)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-27 (score 67, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 67)

First indexed and scored.

## MCP tools (30)

### `webhound_health` (~32 tokens)

Webhound Health

No-spend health check: auth, API status, credits, free-run pass, defaults, and MCP version.

Output parameters:

- `account`
- `action_started` (boolean)
- `api_message`
- `api_reachable` (boolean)
- `authenticated` (boolean)
- `auto_recharge_enabled` (boolean)
- `billing_url`
- `blocked` (boolean)
- `body`
- `code` (string)
- `credits`
- `current_balance` (number)
- `data`
- `defaults`
- `error`
- `error_details` (object)
- `errors` (array)
- `free_run`
- `health`
- `mcp`
- `mcp_ready` (boolean)
- `message` (string)
- `next_action` (string|null)
- `next_actions` (array)
- `no_spend` (boolean)
- `ok` (boolean)
- `original_tool` (string)
- `required` (number)
- `retry_after_user_confirms` (object)
- `retryable` (boolean)
- `schema_version` (string)
- `services` (object)
- `session_started` (boolean)
- `status`
- `summary` (string)
- `tool` (string)
- `top_up_url` (string)
- `user_message_template` (string)

### `webhound_onboarding` (~87 tokens)

Webhound Onboarding

No-spend compact, client-aware first-run guide. It returns one message, choices, and one next action. Hosted clients never write workspace rules unless the user explicitly requests that separate action.

Input parameters:

- `capabilities` (object)
- `client` (string)
- `workspace_rules_requested` (boolean): Set true only when the user explicitly asks for workspace-rule guidance as a separate action.

Output parameters:

- `account_state`
- `action_started` (boolean)
- `api_message`
- `auto_recharge_enabled` (boolean)
- `billing`
- `billing_url`
- `blocked` (boolean)
- `body`
- `choices` (array)
- `client` (string)
- `client_mode` (string)
- `code` (string)
- `current_balance` (number)
- `data`
- `error`
- `error_details` (object)
- `flow_id` (string)
- `flow_version` (number)
- `free_run`
- `message` (string)
- `next_action` (string)
- `next_actions` (array)
- `no_spend` (boolean)
- `ok` (boolean)
- `original_tool` (string)
- `recommended_defaults`
- `required` (number)
- `retry_after_user_confirms` (object)
- `retryable` (boolean)
- `schema_version` (string)
- `session_started` (boolean)
- `status`
- `step` (string)
- `summary` (string)
- `tool` (string)
- `top_up_url` (string)
- `user_message_template` (string)
- `workspace_rules` (object)

### `webhound_help` (~56 tokens)

Webhound Help

No-spend topic-aware guide for explaining Hound, budgets, completion, setup, reports, datasets, sources, billing, troubleshooting, or general Webhound behavior.

Input parameters:

- `question` (string)
- `topic` (string)

Output parameters:

- `action_started` (boolean)
- `agent_behavior_rules` (array)
- `answer` (string)
- `api_message`
- `auto_recharge_enabled` (boolean)
- `billing_url`
- `blocked` (boolean)
- `body`
- `code` (string)
- `common_mistakes` (array)
- `current_balance` (number)
- `data`
- `error`
- `error_details` (object)
- `examples` (array)
- `message` (string)
- `next_action` (string|null)
- `next_actions` (array)
- `no_spend` (boolean)
- `ok` (boolean)
- `original_tool` (string)
- `question` (string|null)
- `related_tools` (array)
- `related_topics` (array)
- `requested_topic` (string|null)
- `required` (number)
- `retry_after_user_confirms` (object)
- `retryable` (boolean)
- `schema_version` (string)
- `session_started` (boolean)
- `status`
- `suggested_user_facing_wording` (string)
- `summary` (string)
- `tool` (string)
- `top_up_url` (string)
- `topic` (string)
- `user_message_template` (string)

### `webhound_uninstall` (~53 tokens)

Uninstall Webhound MCP

No-spend guidance for removing Webhound MCP config and Webhound-specific local rules from an agent workspace. Does not revoke keys automatically.

Input parameters:

- `client` (string)
- `include_rules_cleanup` (boolean)

Output parameters:

- `action_started` (boolean)
- `api_message`
- `auto_recharge_enabled` (boolean)
- `billing_url`
- `blocked` (boolean)
- `body`
- `client` (string)
- `client_label` (string)
- `code` (string)
- `current_balance` (number)
- `data`
- `error`
- `error_details` (object)
- `guidance_only` (boolean)
- `key_revocation_note` (string)
- `likely_rule_locations` (array)
- `message` (string)
- `next_action` (string|null)
- `next_actions` (array)
- `no_spend` (boolean)
- `ok` (boolean)
- `original_tool` (string)
- `required` (number)
- `retry_after_user_confirms` (object)
- `retryable` (boolean)
- `revokes_key` (boolean)
- `schema_version` (string)
- `session_started` (boolean)
- `status`
- `steps` (array)
- `suggested_user_facing_wording` (string)
- `summary` (string)
- `tool` (string)
- `top_up_url` (string)
- `user_message_template` (string)

### `webhound_get_defaults` (~32 tokens)

Get Webhound MCP Defaults

Read the saved MCP defaults for budget, product, and free-run use. The MCP always uses Hound.

Output parameters:

- `action_started` (boolean)
- `agent_rules` (object)
- `api_message`
- `auto_recharge_enabled` (boolean)
- `billing_url`
- `blocked` (boolean)
- `body`
- `code` (string)
- `current_balance` (number)
- `data`
- `default_budget_usd` (number)
- `default_product` (string)
- `error`
- `error_details` (object)
- `message` (string)
- `next_action` (string|null)
- `next_actions` (array)
- `no_spend` (boolean)
- `ok` (boolean)
- `original_tool` (string)
- `required` (number)
- `research_harness` (string)
- `retry_after_user_confirms` (object)
- `retryable` (boolean)
- `schema_version` (string)
- `session_started` (boolean)
- `source` (string)
- `status`
- `summary` (string)
- `tool` (string)
- `top_up_url` (string)
- `updated_at` (string)
- `use_free_run_when_available` (boolean)
- `user_message_template` (string)

### `webhound_set_defaults` (~88 tokens)

Set Webhound MCP Defaults

Set default budget/product/free-run behavior for future MCP runs. The MCP always uses Hound. Recommended: $5 and use the free run when available. Do not use this for private workspace-derived rules; save those locally in the agent workspace.

Input parameters:

- `default_budget_usd` (number)
- `default_product` (string)
- `use_free_run_when_available` (boolean)

Output parameters:

- `action_started` (boolean)
- `agent_rules` (object)
- `api_message`
- `auto_recharge_enabled` (boolean)
- `billing_url`
- `blocked` (boolean)
- `body`
- `code` (string)
- `current_balance` (number)
- `data`
- `default_budget_usd` (number)
- `default_product` (string)
- `error`
- `error_details` (object)
- `message` (string)
- `next_action` (string|null)
- `next_actions` (array)
- `no_spend` (boolean)
- `ok` (boolean)
- `original_tool` (string)
- `required` (number)
- `research_harness` (string)
- `retry_after_user_confirms` (object)
- `retryable` (boolean)
- `schema_version` (string)
- `session_started` (boolean)
- `source` (string)
- `status`
- `summary` (string)
- `tool` (string)
- `top_up_url` (string)
- `updated_at` (string)
- `use_free_run_when_available` (boolean)
- `user_message_template` (string)

### `webhound_start_report` (~123 tokens)

Start Webhound Report

Start a private long-running report with Hound, Webhound's DeepSeek V4 Pro + GPT-5.4 research harness. Budget controls research depth; watch until done=true. Do not force finalization before done=true.

Input parameters:

- `budget` (number)
- `context_session_ids` (array)
- `enable_checkpoints` (boolean)
- `file_ids` (array)
- `output_instructions` (string)
- `prompt` (string, required)
- `title` (string)
- `use_free_run_when_available` (boolean)

Output parameters:

- `accepted` (boolean)
- `action_started` (boolean)
- `activity` (object)
- `agent_instruction`
- `agents`
- `alerts` (array)
- `amount_added` (number)
- `api_message`
- `assembly_triggered` (boolean)
- `auto_recharge_enabled` (boolean)
- `billing_url`
- `blocked` (boolean)
- `body`
- `budget` (number)
- `budget_control`
- `checked_at` (string)
- `code` (string)
- `completion_reason` (string|null)
- `completion_state` (string)
- `cost` (number)
- `credit_limit` (number)
- `current_balance` (number)
- `current_budget` (number)
- `current_spend` (number)
- `data`
- `dataset`
- `documents`
- `done` (boolean)
- `error`
- `error_details` (object)
- `followup_check_in`
- `forbidden_next_tools` (array)
- `free_run`
- `guidance_added` (boolean)
- `healthy` (boolean)
- `is_running` (boolean)
- `kind` (string)
- `mcp_next_action` (string)
- `message` (string)
- `message_id` (string)
- `name` (string)
- `new_budget` (number)
- `next_action` (string|null)
- `next_actions` (array)
- `no_spend` (boolean)
- `ok` (boolean)
- `original_tool` (string)
- `output_ready` (boolean)
- `previous_budget` (number)
- `product` (string)
- `required` (number)
- `research_harness` (string)
- `resumed` (boolean)
- `retry_after_user_confirms` (object)
- `retryable` (boolean)
- `runtime_estimate`
- `schema_version` (string)
- `session_id` (string)
- `session_started` (boolean)
- `session_type` (string)
- `sidecar_guidance`
- `status`
- `status_snapshot`
- `stopped` (boolean)
- `successful_completion` (boolean)
- `summary` (string)
- `tool` (string)
- `top_up_url` (string)
- `total_spent` (number)
- `url` (string)
- `user_message_template` (string)

### `webhound_start_dataset` (~237 tokens)

Start Webhound Dataset

Start a private long-running dataset with Hound, Webhound's DeepSeek V4 Pro + GPT-5.4 research harness. Budget controls extraction depth; watch until done=true. Do not force finalization before done=true.

Input parameters:

- `budget` (number)
- `context_session_ids` (array)
- `enable_checkpoints` (boolean)
- `file_ids` (array)
- `prompt` (string, required)
- `schema`: Optional explicit schema. Native example: {"entity_name":"Company","attributes":[{"name":"company_name","type":"string","is_primary":true,"description":"Official company name"},{"name":"website","typ…
- `title` (string)
- `use_free_run_when_available` (boolean)

Output parameters:

- `accepted` (boolean)
- `action_started` (boolean)
- `activity` (object)
- `agent_instruction`
- `agents`
- `alerts` (array)
- `amount_added` (number)
- `api_message`
- `assembly_triggered` (boolean)
- `auto_recharge_enabled` (boolean)
- `billing_url`
- `blocked` (boolean)
- `body`
- `budget` (number)
- `budget_control`
- `checked_at` (string)
- `code` (string)
- `completion_reason` (string|null)
- `completion_state` (string)
- `cost` (number)
- `credit_limit` (number)
- `current_balance` (number)
- `current_budget` (number)
- `current_spend` (number)
- `data`
- `dataset`
- `documents`
- `done` (boolean)
- `error`
- `error_details` (object)
- `followup_check_in`
- `forbidden_next_tools` (array)
- `free_run`
- `guidance_added` (boolean)
- `healthy` (boolean)
- `is_running` (boolean)
- `kind` (string)
- `mcp_next_action` (string)
- `message` (string)
- `message_id` (string)
- `name` (string)
- `new_budget` (number)
- `next_action` (string|null)
- `next_actions` (array)
- `no_spend` (boolean)
- `normalized_schema`
- `ok` (boolean)
- `original_tool` (string)
- `output_ready` (boolean)
- `previous_budget` (number)
- `product` (string)
- `required` (number)
- `research_harness` (string)
- `resumed` (boolean)
- `retry_after_user_confirms` (object)
- `retryable` (boolean)
- `runtime_estimate`
- `schema_input_format` (string)
- `schema_source` (string)
- `schema_version` (string)
- `schema_warnings` (array)
- `session_id` (string)
- `session_started` (boolean)
- `session_type` (string)
- `sidecar_guidance`
- `status`
- `status_snapshot`
- `stopped` (boolean)
- `successful_completion` (boolean)
- `summary` (string)
- `tool` (string)
- `top_up_url` (string)
- `total_spent` (number)
- `url` (string)
- `user_message_template` (string)

### `webhound_watch` (~53 tokens)

Watch Webhound Session

Authoritative session watcher. done=true means the run is terminal. output_ready=true without done=true can still be intermediate; keep waiting unless the user explicitly asks for a partial update.

Input parameters:

- `session_id` (string, required)

Output parameters:

- `accepted` (boolean)
- `action_started` (boolean)
- `activity` (object)
- `agent_instruction`
- `agents`
- `alerts` (array)
- `amount_added` (number)
- `api_message`
- `assembly_triggered` (boolean)
- `auto_recharge_enabled` (boolean)
- `billing_url`
- `blocked` (boolean)
- `body`
- `budget` (number)
- `budget_control`
- `checked_at` (string)
- `code` (string)
- `completion_reason` (string|null)
- `completion_state` (string)
- `cost` (number)
- `credit_limit` (number)
- `current_balance` (number)
- `current_budget` (number)
- `current_spend` (number)
- `data`
- `dataset`
- `documents`
- `done` (boolean)
- `error`
- `error_details` (object)
- `followup_check_in`
- `forbidden_next_tools` (array)
- `free_run`
- `guidance_added` (boolean)
- `healthy` (boolean)
- `is_running` (boolean)
- `kind` (string)
- `mcp_next_action` (string)
- `message` (string)
- `message_id` (string)
- `name` (string)
- `new_budget` (number)
- `next_action` (string|null)
- `next_actions` (array)
- `no_spend` (boolean)
- `ok` (boolean)
- `original_tool` (string)
- `output_ready` (boolean)
- `previous_budget` (number)
- `product` (string)
- `required` (number)
- `research_harness` (string)
- `resumed` (boolean)
- `retry_after_user_confirms` (object)
- `retryable` (boolean)
- `runtime_estimate`
- `schema_version` (string)
- `session_id` (string)
- `session_started` (boolean)
- `session_type` (string)
- `sidecar_guidance`
- `status`
- `status_snapshot`
- `stopped` (boolean)
- `successful_completion` (boolean)
- `summary` (string)
- `tool` (string)
- `top_up_url` (string)
- `total_spent` (number)
- `url` (string)
- `user_message_template` (string)

### `webhound_wait` (~92 tokens)

Wait For Webhound Session

Bounded wait wrapper around webhound_watch. Max 110 seconds, then returns still_running if not terminal. still_running is normal for budgeted research; call wait/watch again unless status is awaiting_input or a blocking alert is present. Do not finalize or stop a healthy running session.

Input parameters:

- `max_wait_seconds` (integer)
- `poll_interval_seconds` (integer)
- `session_id` (string, required)

Output parameters:

- `accepted` (boolean)
- `action_required` (boolean)
- `action_started` (boolean)
- `activity` (object)
- `agent_instruction`
- `agents`
- `alerts` (array)
- `amount_added` (number)
- `api_message`
- `assembly_triggered` (boolean)
- `auto_recharge_enabled` (boolean)
- `billing_url`
- `blocked` (boolean)
- `body`
- `budget` (number)
- `budget_control`
- `checked_at` (string)
- `code` (string)
- `completion_reason` (string|null)
- `completion_state` (string)
- `cost` (number)
- `credit_limit` (number)
- `current_balance` (number)
- `current_budget` (number)
- `current_spend` (number)
- `data`
- `dataset`
- `documents`
- `done` (boolean)
- `error`
- `error_details` (object)
- `followup_check_in`
- `forbidden_next_tools` (array)
- `free_run`
- `guidance_added` (boolean)
- `healthy` (boolean)
- `is_running` (boolean)
- `kind` (string)
- `mcp_next_action` (string)
- `message` (string)
- `message_id` (string)
- `name` (string)
- `new_budget` (number)
- `next_action` (string|null)
- `next_actions` (array)
- `no_spend` (boolean)
- `ok` (boolean)
- `original_tool` (string)
- `output_ready` (boolean)
- `polling`
- `previous_budget` (number)
- `product` (string)
- `required` (number)
- `research_harness` (string)
- `resumed` (boolean)
- `retry_after_user_confirms` (object)
- `retryable` (boolean)
- `runtime_estimate`
- `schema_version` (string)
- `session_id` (string)
- `session_started` (boolean)
- `session_type` (string)
- `sidecar_guidance`
- `status`
- `status_snapshot`
- `still_running` (boolean)
- `stopped` (boolean)
- `successful_completion` (boolean)
- `summary` (string)
- `tool` (string)
- `top_up_url` (string)
- `total_spent` (number)
- `url` (string)
- `user_message_template` (string)

### `webhound_add_sidecar_notes` (~73 tokens)

Add Webhound Sidecar Notes

Save concrete source-backed notes or hypotheses found by the calling agent while Webhound keeps running. No spend. Does not interrupt the Planner/Executor/Verifier cycle and does not change session status. Do not use for user intent changes.

Input parameters:

- `notes` (array, required)
- `session_id` (string, required)

Output parameters:

- `action_started` (boolean)
- `api_message`
- `auto_recharge_enabled` (boolean)
- `billing_url`
- `blocked` (boolean)
- `body`
- `code` (string)
- `count` (integer)
- `current_balance` (number)
- `data`
- `error`
- `error_details` (object)
- `interrupting` (boolean)
- `message` (string)
- `next_action` (string|null)
- `next_actions` (array)
- `no_spend` (boolean)
- `note` (string)
- `notes` (array)
- `ok` (boolean)
- `original_tool` (string)
- `required` (number)
- `retry_after_user_confirms` (object)
- `retryable` (boolean)
- `saved`
- `schema_version` (string)
- `session_id` (string)
- `session_started` (boolean)
- `skipped`
- `status`
- `summary` (string)
- `tool` (string)
- `top_up_url` (string)
- `user_message_template` (string)

### `webhound_list_sidecar_notes` (~70 tokens)

List Webhound Sidecar Notes

Read shared sidecar notes for a session. No spend. Use this to see what the calling agent has already shared with Webhound before adding, correcting, or dismissing notes.

Input parameters:

- `limit` (integer)
- `session_id` (string, required)
- `status` (string)

Output parameters:

- `action_started` (boolean)
- `api_message`
- `auto_recharge_enabled` (boolean)
- `billing_url`
- `blocked` (boolean)
- `body`
- `code` (string)
- `count` (integer)
- `current_balance` (number)
- `data`
- `error`
- `error_details` (object)
- `interrupting` (boolean)
- `message` (string)
- `next_action` (string|null)
- `next_actions` (array)
- `no_spend` (boolean)
- `notes` (array)
- `ok` (boolean)
- `original_tool` (string)
- `required` (number)
- `retry_after_user_confirms` (object)
- `retryable` (boolean)
- `schema_version` (string)
- `session_id` (string)
- `session_started` (boolean)
- `status`
- `summary` (string)
- `tool` (string)
- `top_up_url` (string)
- `user_message_template` (string)

### `webhound_update_sidecar_note` (~165 tokens)

Update Webhound Sidecar Note

Edit, restore, or dismiss one shared sidecar note. No spend. Does not interrupt the Planner/Executor/Verifier cycle and does not change session status.

Input parameters:

- `confidence` (string)
- `hypothesis` (boolean): Set true only when this is explicitly a hypothesis without source URLs.
- `note_id` (string, required)
- `session_id` (string, required)
- `source_urls` (array): Source URLs backing the note. Required unless hypothesis=true.
- `status` (string): Set to dismissed to remove it from future planner intake; set to pending to restore it.
- `suggested_angle` (string)
- `summary` (string): Concise sourced note or hypothesis for Webhound to consider later.
- `why_it_matters` (string)

Output parameters:

- `action_started` (boolean)
- `api_message`
- `auto_recharge_enabled` (boolean)
- `billing_url`
- `blocked` (boolean)
- `body`
- `code` (string)
- `current_balance` (number)
- `data`
- `error`
- `error_details` (object)
- `interrupting` (boolean)
- `message` (string)
- `next_action` (string|null)
- `next_actions` (array)
- `no_spend` (boolean)
- `note` (object)
- `ok` (boolean)
- `original_tool` (string)
- `required` (number)
- `retry_after_user_confirms` (object)
- `retryable` (boolean)
- `schema_version` (string)
- `session_id` (string)
- `session_started` (boolean)
- `status`
- `summary` (string)
- `tool` (string)
- `top_up_url` (string)
- `updated` (boolean)
- `user_message_template` (string)

### `webhound_send_message` (~127 tokens)

Steer Webhound Session

Send user-provided guidance to a session. Use reason="awaiting_input" to answer a checkpoint and resume. Use reason="user_guidance" only for a real user objective/scope/constraint/deliverable change. Use webhound_add_sidecar_notes for source suggestions.

Input parameters:

- `message` (string, required)
- `reason` (string, required): user_guidance interrupts/replans for a real user change. awaiting_input replies to a checkpoint and resumes. Do not use for elapsed time, impatience, partial notes, or ordinary source notes.
- `session_id` (string, required)

Output parameters:

- `accepted` (boolean)
- `action_started` (boolean)
- `activity` (object)
- `agent_instruction`
- `agents`
- `alerts` (array)
- `amount_added` (number)
- `api_message`
- `assembly_triggered` (boolean)
- `auto_recharge_enabled` (boolean)
- `billing_url`
- `blocked` (boolean)
- `body`
- `budget` (number)
- `budget_control`
- `checked_at` (string)
- `code` (string)
- `completion_reason` (string|null)
- `completion_state` (string)
- `cost` (number)
- `created_at` (string)
- `credit_limit` (number)
- `current_balance` (number)
- `current_budget` (number)
- `current_spend` (number)
- `data`
- `dataset`
- `documents`
- `done` (boolean)
- `error`
- `error_details` (object)
- `followup_check_in`
- `forbidden_next_tools` (array)
- `free_run`
- `guidance_added` (boolean)
- `healthy` (boolean)
- `interrupting` (boolean)
- `is_running` (boolean)
- `kind` (string)
- `mcp_next_action` (string)
- `message` (string)
- `message_id` (string)
- `name` (string)
- `new_budget` (number)
- `next_action` (string|null)
- `next_actions` (array)
- `no_spend` (boolean)
- `note` (string)
- `ok` (boolean)
- `original_tool` (string)
- `output_ready` (boolean)
- `previous_budget` (number)
- `product` (string)
- `queued` (boolean)
- `reason` (string)
- `required` (number)
- `research_harness` (string)
- `resumed` (boolean)
- `resumes_session` (boolean)
- `retry_after_user_confirms` (object)
- `retryable` (boolean)
- `runtime_estimate`
- `schema_version` (string)
- `session_id` (string)
- `session_started` (boolean)
- `session_type` (string)
- `sidecar_guidance`
- `status`
- `status_snapshot`
- `stopped` (boolean)
- `successful_completion` (boolean)
- `summary` (string)
- `tool` (string)
- `top_up_url` (string)
- `total_spent` (number)
- `url` (string)
- `user_message_template` (string)

### `webhound_stop` (~99 tokens)

Stop Webhound Session

Pause/stop a running Webhound report or dataset without deleting it. Use only when the user explicitly asks to stop, pause, or cancel. Do not use for healthy long-running sessions, normal budget use, warning-level tool errors, or because partial notes look sufficient.

Input parameters:

- `session_id` (string, required)
- `user_requested_stop` (boolean, required): Must be true only when the user explicitly asked to stop/pause/cancel this Webhound run.

Output parameters:

- `accepted` (boolean)
- `action_started` (boolean)
- `activity` (object)
- `agent_instruction`
- `agents`
- `alerts` (array)
- `amount_added` (number)
- `api_message`
- `assembly_triggered` (boolean)
- `auto_recharge_enabled` (boolean)
- `billing_url`
- `blocked` (boolean)
- `body`
- `budget` (number)
- `budget_control`
- `checked_at` (string)
- `code` (string)
- `completion_reason` (string|null)
- `completion_state` (string)
- `cost` (number)
- `credit_limit` (number)
- `current_balance` (number)
- `current_budget` (number)
- `current_spend` (number)
- `data`
- `dataset`
- `documents`
- `done` (boolean)
- `error`
- `error_details` (object)
- `followup_check_in`
- `forbidden_next_tools` (array)
- `free_run`
- `guidance_added` (boolean)
- `healthy` (boolean)
- `is_running` (boolean)
- `kind` (string)
- `mcp_next_action` (string)
- `message` (string)
- `message_id` (string)
- `name` (string)
- `new_budget` (number)
- `next_action` (string|null)
- `next_actions` (array)
- `no_spend` (boolean)
- `ok` (boolean)
- `original_tool` (string)
- `output_ready` (boolean)
- `previous_budget` (number)
- `product` (string)
- `required` (number)
- `research_harness` (string)
- `resumed` (boolean)
- `retry_after_user_confirms` (object)
- `retryable` (boolean)
- `runtime_estimate`
- `schema_version` (string)
- `session_id` (string)
- `session_started` (boolean)
- `session_type` (string)
- `sidecar_guidance`
- `status`
- `status_snapshot`
- `stopped` (boolean)
- `successful_completion` (boolean)
- `summary` (string)
- `tool` (string)
- `top_up_url` (string)
- `total_spent` (number)
- `url` (string)
- `user_message_template` (string)

### `webhound_resume` (~66 tokens)

Resume Webhound Session

Resume a paused/completed/awaiting-input session with optional additional budget and guidance.

Input parameters:

- `additional_budget` (number)
- `context_session_ids` (array)
- `file_ids` (array)
- `guidance` (string)
- `session_id` (string, required)

Output parameters:

- `accepted` (boolean)
- `action_started` (boolean)
- `activity` (object)
- `additional_budget` (number)
- `agent_instruction`
- `agents`
- `alerts` (array)
- `amount_added` (number)
- `api_message`
- `assembly_triggered` (boolean)
- `auto_recharge_enabled` (boolean)
- `billing_url`
- `blocked` (boolean)
- `body`
- `budget` (number)
- `budget_control`
- `checked_at` (string)
- `code` (string)
- `completion_reason` (string|null)
- `completion_state` (string)
- `cost` (number)
- `credit_limit` (number)
- `current_balance` (number)
- `current_budget` (number)
- `current_spend` (number)
- `data`
- `dataset`
- `documents`
- `done` (boolean)
- `error`
- `error_details` (object)
- `followup_check_in`
- `forbidden_next_tools` (array)
- `free_run`
- `guidance_added` (boolean)
- `healthy` (boolean)
- `is_running` (boolean)
- `kind` (string)
- `mcp_next_action` (string)
- `message` (string)
- `message_id` (string)
- `name` (string)
- `new_budget` (number)
- `next_action` (string|null)
- `next_actions` (array)
- `no_spend` (boolean)
- `ok` (boolean)
- `original_tool` (string)
- `output_ready` (boolean)
- `previous_budget` (number)
- `product` (string)
- `required` (number)
- `research_harness` (string)
- `resumed` (boolean)
- `retry_after_user_confirms` (object)
- `retryable` (boolean)
- `runtime_estimate`
- `schema_version` (string)
- `session_id` (string)
- `session_started` (boolean)
- `session_type` (string)
- `sidecar_guidance`
- `status`
- `status_snapshot`
- `stopped` (boolean)
- `successful_completion` (boolean)
- `summary` (string)
- `tool` (string)
- `top_up_url` (string)
- `total_spent` (number)
- `url` (string)
- `user_message_template` (string)

### `webhound_add_budget` (~60 tokens)

Add Webhound Budget

Add research budget and optional guidance/context to a session.

Input parameters:

- `amount` (number, required)
- `context_session_ids` (array)
- `file_ids` (array)
- `guidance` (string)
- `session_id` (string, required)

Output parameters:

- `accepted` (boolean)
- `action_started` (boolean)
- `activity` (object)
- `agent_instruction`
- `agents`
- `alerts` (array)
- `amount` (number)
- `amount_added` (number)
- `api_message`
- `assembly_triggered` (boolean)
- `auto_recharge_enabled` (boolean)
- `billing_url`
- `blocked` (boolean)
- `body`
- `budget` (number)
- `budget_control`
- `checked_at` (string)
- `code` (string)
- `completion_reason` (string|null)
- `completion_state` (string)
- `cost` (number)
- `credit_limit` (number)
- `current_balance` (number)
- `current_budget` (number)
- `current_spend` (number)
- `data`
- `dataset`
- `documents`
- `done` (boolean)
- `error`
- `error_details` (object)
- `followup_check_in`
- `forbidden_next_tools` (array)
- `free_run`
- `guidance_added` (boolean)
- `healthy` (boolean)
- `is_running` (boolean)
- `kind` (string)
- `mcp_next_action` (string)
- `message` (string)
- `message_id` (string)
- `name` (string)
- `new_budget` (number)
- `next_action` (string|null)
- `next_actions` (array)
- `no_spend` (boolean)
- `ok` (boolean)
- `original_tool` (string)
- `output_ready` (boolean)
- `previous_budget` (number)
- `product` (string)
- `required` (number)
- `research_harness` (string)
- `resumed` (boolean)
- `retry_after_user_confirms` (object)
- `retryable` (boolean)
- `runtime_estimate`
- `schema_version` (string)
- `session_id` (string)
- `session_started` (boolean)
- `session_type` (string)
- `sidecar_guidance`
- `status`
- `status_snapshot`
- `stopped` (boolean)
- `successful_completion` (boolean)
- `summary` (string)
- `tool` (string)
- `top_up_url` (string)
- `total_spent` (number)
- `url` (string)
- `user_message_template` (string)

### `webhound_set_budget` (~155 tokens)

Lower Webhound Report Budget

Lower a running or paused report budget only after the user explicitly asks to reduce the remaining research scope or finish with the research already gathered. This changes the report stopping boundary; Webhound then performs normal final assembly. Never use this because partial notes look sufficient, the run is taking time, or the agent wants an earlier result.

Input parameters:

- `session_id` (string, required)
- `target_budget` (number, required): New total report budget, lower than the current budget. To finish with current research, use budget_control.minimum_target_budget from webhound_watch or webhound_get_session.
- `user_requested_budget_reduction` (boolean, required): Must be true only when the user explicitly asked to lower this report budget or finish at a lower research scope.

Output parameters:

- `accepted` (boolean)
- `action_started` (boolean)
- `activity` (object)
- `adjusted_to_cover_current_spend` (boolean)
- `agent_instruction`
- `agents`
- `alerts` (array)
- `amount_added` (number)
- `api_message`
- `assembly_triggered` (boolean)
- `auto_recharge_enabled` (boolean)
- `billing_url`
- `blocked` (boolean)
- `body`
- `budget` (number)
- `budget_control`
- `checked_at` (string)
- `code` (string)
- `completion_contract` (string)
- `completion_reason` (string|null)
- `completion_state` (string)
- `cost` (number)
- `credit_limit` (number)
- `current_balance` (number)
- `current_budget` (number)
- `current_spend` (number)
- `data`
- `dataset`
- `documents`
- `done` (boolean)
- `error`
- `error_details` (object)
- `followup_check_in`
- `forbidden_next_tools` (array)
- `free_run`
- `guidance_added` (boolean)
- `healthy` (boolean)
- `is_running` (boolean)
- `kind` (string)
- `mcp_next_action` (string)
- `message` (string)
- `message_id` (string)
- `minimum_target_budget` (number)
- `name` (string)
- `new_budget` (number)
- `next_action` (string|null)
- `next_actions` (array)
- `no_spend` (boolean)
- `ok` (boolean)
- `original_tool` (string)
- `output_ready` (boolean)
- `previous_budget` (number)
- `product` (string)
- `requested_target_budget` (number)
- `required` (number)
- `research_harness` (string)
- `resumed` (boolean)
- `resumed_for_assembly` (boolean)
- `retry_after_user_confirms` (object)
- `retryable` (boolean)
- `runtime_estimate`
- `schema_version` (string)
- `session_id` (string)
- `session_started` (boolean)
- `session_type` (string)
- `sidecar_guidance`
- `status`
- `status_snapshot`
- `stopped` (boolean)
- `successful_completion` (boolean)
- `summary` (string)
- `target_budget` (number)
- `tool` (string)
- `top_up_url` (string)
- `total_spent` (number)
- `url` (string)
- `user_message_template` (string)

### `webhound_get_output` (~117 tokens)

Get Webhound Output

Read final report/working document or dataset rows. By default this is for terminal sessions only; do not read or summarize partial working notes while a healthy run is still running.

Input parameters:

- `allow_partial` (boolean): Set true only if the user explicitly asks for an interim/partial update before done=true. Partial output is not final and is not a reason to stop or finalize the run.
- `doc_name` (string)
- `kind` (string)
- `select` (string)
- `session_id` (string, required)

Output parameters:

- `accepted` (boolean)
- `action_started` (boolean)
- `activity` (object)
- `actual_kind` (string|null)
- `agent_instruction`
- `agents`
- `alerts` (array)
- `amount_added` (number)
- `api_message`
- `artifact`
- `assembly_triggered` (boolean)
- `auto_recharge_enabled` (boolean)
- `available_documents`
- `billing_url`
- `blocked` (boolean)
- `body`
- `budget` (number)
- `budget_control`
- `checked_at` (string)
- `code` (string)
- `complete_output` (boolean)
- `completion_reason` (string|null)
- `completion_state` (string)
- `content_markdown` (string)
- `cost` (number)
- `credit_limit` (number)
- `current_balance` (number)
- `current_budget` (number)
- `current_spend` (number)
- `data`
- `dataset`
- `doc_name` (string)
- `doc_type` (string|null)
- `document_id` (string)
- `document_state` (string)
- `documents`
- `done` (boolean)
- `error`
- `error_details` (object)
- `evidence_pack_instruction` (string)
- `followup_check_in`
- `forbidden_next_tools` (array)
- `free_run`
- `guidance_added` (boolean)
- `healthy` (boolean)
- `is_output` (boolean)
- `is_running` (boolean)
- `kind` (string)
- `mcp_next_action` (string)
- `message` (string)
- `message_id` (string)
- `name` (string)
- `new_budget` (number)
- `next_action` (string|null)
- `next_actions` (array)
- `next_research_instruction` (string)
- `no_spend` (boolean)
- `ok` (boolean)
- `omitted` (array)
- `original_tool` (string)
- `output_deferred_until_done` (boolean)
- `output_ready` (boolean)
- `page` (integer)
- `page_size` (integer)
- `previous_budget` (number)
- `product` (string)
- `requested_kind` (string)
- `required` (number)
- `research_harness` (string)
- `resumed` (boolean)
- `retry_after_user_confirms` (object)
- `retryable` (boolean)
- `rows`
- `runtime_estimate`
- `schema`
- `schema_version` (string)
- `selection_key` (string)
- `session_id` (string)
- `session_started` (boolean)
- `session_type` (string)
- `showing`
- `sidecar_guidance`
- `sources`
- `status`
- `status_snapshot`
- `stopped` (boolean)
- `successful_completion` (boolean)
- `summary` (string)
- `tool` (string)
- `top_up_url` (string)
- `total_lines` (integer)
- `total_rows` (integer)
- `total_spent` (number)
- `truncated` (boolean)
- `url` (string)
- `user_message_template` (string)

### `webhound_export_session` (~157 tokens)

Export Webhound Session

Export a completed report or dataset as Markdown, HTML, TXT, JSON traces, CSV, JSONL, or PDF. Does not spend credits. Wait for done=true before exporting unless the user explicitly asks for a partial artifact.

Input parameters:

- `allow_partial` (boolean): Set true only if the user explicitly asks for an interim/partial export before done=true.
- `doc_name` (string)
- `format` (string)
- `include_binary_base64` (boolean): Binary exports default to a download URL because base64 is not useful agent context. Set true only when raw binary bytes are required in the MCP response.
- `include_content` (boolean)
- `select` (string)
- `session_id` (string, required)

Output parameters:

- `accepted` (boolean)
- `action_started` (boolean)
- `activity` (object)
- `agent_instruction`
- `agents`
- `alerts` (array)
- `amount_added` (number)
- `api_message`
- `assembly_triggered` (boolean)
- `auto_recharge_enabled` (boolean)
- `billing_url`
- `binary_download_url` (string)
- `blocked` (boolean)
- `body`
- `budget` (number)
- `budget_control`
- `checked_at` (string)
- `code` (string)
- `complete_export` (boolean)
- `completion_reason` (string|null)
- `completion_state` (string)
- `content` (string)
- `content_base64` (string)
- `content_truncated` (boolean)
- `cost` (number)
- `credit_limit` (number)
- `current_balance` (number)
- `current_budget` (number)
- `current_spend` (number)
- `data`
- `dataset`
- `delivery` (string)
- `document_count` (integer)
- `documents`
- `done` (boolean)
- `download_note` (string)
- `download_url` (string)
- `encoding` (string)
- `error`
- `error_details` (object)
- `evidence_pack_instruction` (string)
- `export_deferred_until_done` (boolean)
- `filename` (string)
- `followup_check_in`
- `forbidden_next_tools` (array)
- `format` (string)
- `free_run`
- `guidance_added` (boolean)
- `healthy` (boolean)
- `is_running` (boolean)
- `kind` (string)
- `mcp_next_action` (string)
- `message` (string)
- `message_id` (string)
- `mime_type` (string)
- `name` (string)
- `new_budget` (number)
- `next_action` (string|null)
- `next_actions` (array)
- `next_research_instruction` (string)
- `no_spend` (boolean)
- `ok` (boolean)
- `omitted` (array)
- `original_tool` (string)
- `output_ready` (boolean)
- `previous_budget` (number)
- `product` (string)
- `required` (number)
- `research_harness` (string)
- `resumed` (boolean)
- `retry_after_user_confirms` (object)
- `retryable` (boolean)
- `row_count` (integer)
- `runtime_estimate`
- `schema_version` (string)
- `session_id` (string)
- `session_started` (boolean)
- `session_type` (string)
- `sidecar_guidance`
- `size_bytes` (integer)
- `status`
- `status_snapshot`
- `stopped` (boolean)
- `successful_completion` (boolean)
- `summary` (string)
- `supported_formats` (array)
- `tool` (string)
- `top_up_url` (string)
- `total_spent` (number)
- `url` (string)
- `user_message_template` (string)

### `webhound_get_evidence_pack` (~126 tokens)

Get Webhound Evidence Pack

Read the full evidence payload for a completed Webhound session: final output, working docs, claim traces, sources, and export links. Use this before serious follow-up answers so Webhound value is not reduced to only the polished output document.

Input parameters:

- `allow_partial` (boolean): Set true only if the user explicitly asks for an interim evidence snapshot before done=true.
- `include_claims` (boolean)
- `include_sources` (boolean)
- `include_working_docs` (boolean)
- `kind` (string)
- `session_id` (string, required)

Output parameters:

- `accepted` (boolean)
- `action_started` (boolean)
- `activity` (object)
- `actual_kind` (string|null)
- `agent_instruction`
- `agents`
- `alerts` (array)
- `amount_added` (number)
- `api_message`
- `artifact`
- `artifacts`
- `assembly_triggered` (boolean)
- `auto_recharge_enabled` (boolean)
- `billing_url`
- `blocked` (boolean)
- `body`
- `budget` (number)
- `budget_control`
- `checked_at` (string)
- `claims`
- `code` (string)
- `complete_evidence_pack` (boolean)
- `complete_session` (boolean)
- `completion_reason` (string|null)
- `completion_state` (string)
- `content_hash` (string)
- `content_markdown` (string)
- `cost` (number)
- `credit_limit` (number)
- `current_balance` (number)
- `current_budget` (number)
- `current_spend` (number)
- `data`
- `dataset`
- `diagnostics`
- `documents`
- `done` (boolean)
- `error`
- `error_details` (object)
- `evidence`
- `evidence_pack_deferred_until_done` (boolean)
- `evidence_pack_instruction` (string)
- `excluded_by_request` (array)
- `exports`
- `followup_check_in`
- `forbidden_next_tools` (array)
- `free_run`
- `generated_at` (string)
- `guidance_added` (boolean)
- `healthy` (boolean)
- `is_running` (boolean)
- `kind` (string)
- `mcp_next_action` (string)
- `message` (string)
- `message_id` (string)
- `messages`
- `metadata`
- `name` (string)
- `new_budget` (number)
- `next_action` (string|null)
- `next_actions` (array)
- `next_research_instruction` (string)
- `no_spend` (boolean)
- `notepad`
- `ok` (boolean)
- `omitted` (array)
- `original_tool` (string)
- `output`
- `output_ready` (boolean)
- `phase_summaries`
- `previous_budget` (number)
- `product` (string)
- `requested_kind` (string)
- `required` (number)
- `research_agents`
- `research_harness` (string)
- `research_state`
- `resumed` (boolean)
- `retry_after_user_confirms` (object)
- `retryable` (boolean)
- `runtime_estimate`
- `schema_version` (string)
- `session`
- `session_id` (string)
- `session_revision` (string|number)
- `session_started` (boolean)
- `session_type` (string)
- `sidecar_guidance`
- `sidecar_notes`
- `sources`
- `status`
- `status_snapshot`
- `stopped` (boolean)
- `successful_completion` (boolean)
- `summary` (string)
- `tasks`
- `tool` (string)
- `top_up_url` (string)
- `total_spent` (number)
- `truncated` (boolean)
- `url` (string)
- `usage`
- `user_message_template` (string)
- `working_docs`

### `webhound_get_shareable_link` (~72 tokens)

Get Webhound Shareable Link

Make a report or dataset accessible to anyone with the link and return the share URL. This is share-only: reports use /document/:id, datasets use /dataset/:id, and it does not publish to Explore or create a /p/:slug publication.

Input parameters:

- `session_id` (string, required)

Output parameters:

- `action_started` (boolean)
- `api_message`
- `artifact_type` (string)
- `auto_recharge_enabled` (boolean)
- `billing_url`
- `blocked` (boolean)
- `body`
- `code` (string)
- `current_balance` (number)
- `data`
- `error`
- `error_details` (object)
- `explore_published` (boolean)
- `is_public` (boolean)
- `message` (string)
- `next_action` (string|null)
- `next_actions` (array)
- `no_spend` (boolean)
- `noindex` (boolean)
- `ok` (boolean)
- `original_tool` (string)
- `public_to_anyone_with_link` (boolean)
- `public_url` (string)
- `publication_id` (string|null)
- `publication_url` (string|null)
- `required` (number)
- `retry_after_user_confirms` (object)
- `retryable` (boolean)
- `route` (string)
- `schema_version` (string)
- `session_id` (string)
- `session_started` (boolean)
- `session_type` (string)
- `share_only` (boolean)
- `share_url` (string)
- `status`
- `summary` (string)
- `title` (string)
- `tool` (string)
- `top_up_url` (string)
- `user_message_template` (string)

### `webhound_get_claims` (~29 tokens)

Get Webhound Claims

Read normalized claim traces and provenance for a session.

Input parameters:

- `session_id` (string, required)

Output parameters:

- `action_started` (boolean)
- `api_message`
- `auto_recharge_enabled` (boolean)
- `billing_url`
- `blocked` (boolean)
- `body`
- `claim_count` (integer)
- `claim_type` (string)
- `claims` (array)
- `code` (string)
- `count` (integer)
- `current_balance` (number)
- `data`
- `error`
- `error_details` (object)
- `message` (string)
- `next_action` (string|null)
- `next_actions` (array)
- `no_spend` (boolean)
- `ok` (boolean)
- `original_tool` (string)
- `provenance_level` (string)
- `required` (number)
- `retry_after_user_confirms` (object)
- `retryable` (boolean)
- `schema_version` (string)
- `session_id` (string)
- `session_started` (boolean)
- `sources`
- `status`
- `summary` (string)
- `tool` (string)
- `top_up_url` (string)
- `total` (integer)
- `user_message_template` (string)

### `webhound_get_sources` (~28 tokens)

Get Webhound Sources

Read source inventory and citation counts for a session.

Input parameters:

- `session_id` (string, required)

Output parameters:

- `action_started` (boolean)
- `api_message`
- `auto_recharge_enabled` (boolean)
- `billing_url`
- `blocked` (boolean)
- `body`
- `claims`
- `code` (string)
- `count` (integer)
- `current_balance` (number)
- `data`
- `error`
- `error_details` (object)
- `message` (string)
- `next_action` (string|null)
- `next_actions` (array)
- `no_spend` (boolean)
- `ok` (boolean)
- `original_tool` (string)
- `provenance_level` (string)
- `required` (number)
- `retry_after_user_confirms` (object)
- `retryable` (boolean)
- `schema_version` (string)
- `session_id` (string)
- `session_started` (boolean)
- `source_count` (integer)
- `sources` (array)
- `status`
- `summary` (string)
- `tool` (string)
- `top_up_url` (string)
- `total` (integer)
- `user_message_template` (string)

### `webhound_search_sessions` (~32 tokens)

Search Webhound Sessions

Semantic search across prior Webhound sessions.

Input parameters:

- `limit` (integer)
- `query` (string, required)

Output parameters:

- `action_started` (boolean)
- `active_exact_matches_added` (integer)
- `api_message`
- `auto_recharge_enabled` (boolean)
- `billing_url`
- `blocked` (boolean)
- `body`
- `code` (string)
- `count` (integer)
- `current_balance` (number)
- `data`
- `error`
- `error_details` (object)
- `message` (string)
- `next_action` (string|null)
- `next_actions` (array)
- `no_spend` (boolean)
- `ok` (boolean)
- `original_tool` (string)
- `query` (string)
- `required` (number)
- `results`
- `retry_after_user_confirms` (object)
- `retryable` (boolean)
- `schema_version` (string)
- `session_started` (boolean)
- `sessions` (array)
- `status`
- `summary` (string)
- `tool` (string)
- `top_up_url` (string)
- `total` (integer)
- `user_message_template` (string)

### `webhound_list_sessions` (~44 tokens)

List Webhound Sessions

List recent Webhound sessions.

Input parameters:

- `limit` (integer)
- `page` (integer)
- `status` (string)
- `type` (string)

Output parameters:

- `action_started` (boolean)
- `api_message`
- `auto_recharge_enabled` (boolean)
- `billing_url`
- `blocked` (boolean)
- `body`
- `code` (string)
- `count` (integer)
- `current_balance` (number)
- `data`
- `error`
- `error_details` (object)
- `has_more` (boolean)
- `limit` (integer)
- `message` (string)
- `next_action` (string|null)
- `next_actions` (array)
- `no_spend` (boolean)
- `ok` (boolean)
- `original_tool` (string)
- `page` (integer)
- `page_size` (integer)
- `required` (number)
- `retry_after_user_confirms` (object)
- `retryable` (boolean)
- `schema_version` (string)
- `session_started` (boolean)
- `sessions` (array)
- `status`
- `summary` (string)
- `tool` (string)
- `top_up_url` (string)
- `total` (integer)
- `total_count` (integer)
- `total_pages` (integer)
- `user_message_template` (string)

### `webhound_get_session` (~72 tokens)

Get Webhound Session

Read the complete canonical session in one uncapped response: prompts, messages, phases, tasks, agents, final and working documents, dataset rows, claims, sources, notes, diagnostics, usage history, and artifact links. Nothing is paginated, truncated, or omitted.

Input parameters:

- `session_id` (string, required)

Output parameters:

- `accepted` (boolean)
- `action_started` (boolean)
- `activity` (object)
- `agent_instruction`
- `agents`
- `alerts` (array)
- `amount_added` (number)
- `api_message`
- `artifact_links`
- `artifacts`
- `assembly_triggered` (boolean)
- `auto_recharge_enabled` (boolean)
- `billing_url`
- `blocked` (boolean)
- `body`
- `budget` (number)
- `budget_control`
- `checked_at` (string)
- `code` (string)
- `complete_session` (boolean)
- `completion_reason` (string|null)
- `completion_state` (string)
- `content_hash` (string)
- `content_markdown` (string)
- `cost` (number)
- `credit_limit` (number)
- `current_balance` (number)
- `current_budget` (number)
- `current_spend` (number)
- `data`
- `dataset`
- `diagnostics`
- `documents`
- `done` (boolean)
- `error`
- `error_details` (object)
- `evidence`
- `followup_check_in`
- `forbidden_next_tools` (array)
- `free_run`
- `generated_at` (string)
- `guidance_added` (boolean)
- `healthy` (boolean)
- `is_running` (boolean)
- `kind` (string)
- `mcp_next_action` (string)
- `message` (string)
- `message_id` (string)
- `messages`
- `metadata`
- `name` (string)
- `new_budget` (number)
- `next_action` (string|null)
- `next_actions` (array)
- `no_spend` (boolean)
- `notepad`
- `notes`
- `ok` (boolean)
- `omitted` (array)
- `original_tool` (string)
- `output_ready` (boolean)
- `phase_summaries`
- `previous_budget` (number)
- `product` (string)
- `required` (number)
- `research_agents`
- `research_harness` (string)
- `research_state`
- `resumed` (boolean)
- `retry_after_user_confirms` (object)
- `retryable` (boolean)
- `runtime_estimate`
- `schema_version` (string)
- `session`
- `session_id` (string)
- `session_revision` (string|number)
- `session_started` (boolean)
- `session_type` (string)
- `sidecar_guidance`
- `sidecar_notes`
- `status`
- `status_snapshot`
- `stopped` (boolean)
- `successful_completion` (boolean)
- `summary` (string)
- `tasks`
- `tool` (string)
- `top_up_url` (string)
- `total_spent` (number)
- `truncated` (boolean)
- `url` (string)
- `usage`
- `user_message_template` (string)

### `webhound_upload_file` (~111 tokens)

Upload Webhound File

Upload a CSV, XLSX, PDF, DOCX, TXT, Markdown, or VTT ChatGPT attachment, local file, text, or base64 content for use in a report or dataset. Convert legacy XLS/DOC files to XLSX/DOCX first.

Input parameters:

- `content_base64` (string)
- `file_name` (string)
- `files` (array)
- `local_path` (string)
- `mime_type` (string)
- `text` (string)

Output parameters:

- `action_started` (boolean)
- `api_message`
- `auto_recharge_enabled` (boolean)
- `billing_url`
- `blocked` (boolean)
- `body`
- `code` (string)
- `current_balance` (number)
- `data`
- `error`
- `error_details` (object)
- `extraction_status` (string)
- `file_id` (string)
- `file_ids` (array)
- `file_name` (string)
- `filename` (string)
- `files` (array)
- `id` (string)
- `message` (string)
- `mime_type` (string)
- `next_action` (string|null)
- `next_actions` (array)
- `no_spend` (boolean)
- `ok` (boolean)
- `original_tool` (string)
- `required` (number)
- `retry_after_user_confirms` (object)
- `retryable` (boolean)
- `schema_version` (string)
- `session_started` (boolean)
- `size` (integer)
- `size_bytes` (integer)
- `status`
- `summary` (string)
- `tool` (string)
- `top_up_url` (string)
- `user_message_template` (string)

### `webhound_account` (~26 tokens)

Webhound Account

Read credits, recent usage, free-run status, and defaults. Does not spend.

Output parameters:

- `action_started` (boolean)
- `api_message`
- `authenticated` (boolean)
- `auto_recharge_enabled` (boolean)
- `billing`
- `billing_configured_for_uninterrupted_runs` (boolean)
- `billing_url`
- `blocked` (boolean)
- `body`
- `can_start_default_paid_run` (boolean)
- `code` (string)
- `credits`
- `current_balance` (number)
- `data`
- `defaults`
- `error`
- `error_details` (object)
- `free_run`
- `message` (string)
- `next_action` (string|null)
- `next_actions` (array)
- `no_spend` (boolean)
- `ok` (boolean)
- `original_tool` (string)
- `required` (number)
- `research_harness` (string)
- `retry_after_user_confirms` (object)
- `retryable` (boolean)
- `schema_version` (string)
- `session_started` (boolean)
- `status`
- `summary` (string)
- `tool` (string)
- `top_up_url` (string)
- `usage` (object)
- `user_message_template` (string)

### `webhound_diagnose` (~73 tokens)

Diagnose Webhound Session

Explain whether a session is healthy, done, usable, and what to do next. For a healthy running session, the correct next action is to keep waiting; budget use is the point of the run. Do not stop or force finalization because the run is slow.

Input parameters:

- `session_id` (string, required)

Output parameters:

- `accepted` (boolean)
- `action_started` (boolean)
- `activity` (object)
- `agent_instruction`
- `agents`
- `alerts` (array)
- `amount_added` (number)
- `api_message`
- `assembly_triggered` (boolean)
- `auto_recharge_enabled` (boolean)
- `billing_url`
- `blocked` (boolean)
- `body`
- `budget` (number)
- `budget_control`
- `checked_at` (string)
- `code` (string)
- `completion_reason` (string|null)
- `completion_state` (string)
- `cost` (number)
- `credit_limit` (number)
- `current_balance` (number)
- `current_budget` (number)
- `current_spend` (number)
- `data`
- `dataset`
- `documents`
- `done` (boolean)
- `error`
- `error_details` (object)
- `followup_check_in`
- `forbidden_next_tools` (array)
- `free_run`
- `guidance_added` (boolean)
- `healthy` (boolean)
- `is_running` (boolean)
- `kind` (string)
- `mcp_next_action` (string)
- `message` (string)
- `message_id` (string)
- `name` (string)
- `new_budget` (number)
- `next_action` (string|null)
- `next_actions` (array)
- `no_spend` (boolean)
- `ok` (boolean)
- `original_tool` (string)
- `output_ready` (boolean)
- `previous_budget` (number)
- `product` (string)
- `required` (number)
- `research_harness` (string)
- `resumed` (boolean)
- `retry_after_user_confirms` (object)
- `retryable` (boolean)
- `runtime_estimate`
- `schema_version` (string)
- `session_id` (string)
- `session_started` (boolean)
- `session_type` (string)
- `sidecar_guidance`
- `status`
- `status_snapshot`
- `stopped` (boolean)
- `successful_completion` (boolean)
- `summary` (string)
- `tool` (string)
- `top_up_url` (string)
- `total_spent` (number)
- `url` (string)
- `user_message_template` (string)

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/ai-webhound-webhound/webhound-mcp#diagnostics

## Score history

- 2026-08-03: 77
- 2026-08-02: 73
- 2026-08-01: 73
- 2026-07-31: 73
- 2026-07-29: 67
- 2026-07-28: 67
- 2026-07-27: 67
- 2026-07-26: 67

## Links

- npm package: https://www.npmjs.com/package/webhound-mcp
- Socket report: https://socket.dev/npm/package/webhound-mcp
- Website: https://www.webhound.ai/
- Changelog RSS feed: https://verifymcp.io/servers/ai-webhound-webhound/webhound-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/ai-webhound-webhound/webhound-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/ai-webhound-webhound/webhound-mcp
