Koskamo

The White Report MCP

A remote, read-only MCP server providing access to The White Report's crypto and AI news archive. It exposes tools to retrieve the latest articles, search the archive by keyword, fetch full machine-readable article twins, get market tickers, and view graded public calls.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

The White Report MCP logo, by Cyan Eclipse Technologies LLCCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-01Published by Cyan Eclipse Technologies LLC
MCP endpoint (Streamable HTTP)
https://thewhitereport.com/mcp.php
Vendor documentation

What you can do with it

  • Retrieve the latest news articles from The White Report
  • Search the article archive by keyword or ticker
  • Fetch full machine-readable article twins with facts and sources
  • View graded public calls and market snapshots

Source and maintenance

Community listingRegistry 0.1.0
Maintenance checked

Protocol and capabilities

Server
white-report 0.1.0
MCP protocol
2025-06-18
Tools
12 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {}
}

Tools

12 advertised

get_latest — Get Latest Articles
Advertised by the server during the last successful anonymous check.
Advertised read-only

Newest White Report articles (headline, summary, dates, URLs). Start here for the newest coverage; use search_articles instead when you have a topic or keyword, and get_article for one article's full text once you have its slug.

get_latest input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "description": "How many articles (1-20, default 5)."
    }
  }
}
get_latest annotations
{
  "title": "Get Latest Articles",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
search_articles — Search Articles
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search the article archive by keyword (headline, summary, key facts, entities, tickers). Use get_latest instead for the newest articles without a query; open a hit's full text with get_article (the slug comes from the search results).

search_articles input schema
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "description": "Max results (1-20, default 10)."
    },
    "query": {
      "type": "string",
      "description": "Keyword or phrase."
    }
  }
}
search_articles annotations
{
  "title": "Search Articles",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_article — Get Article
Advertised by the server during the last successful anonymous check.
Advertised read-only

Full machine-readable article (the JSON twin: facts, sources, call, full text). Use search_articles or get_latest first if you do not have a slug.

get_article input schema
{
  "type": "object",
  "required": [
    "slug"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "description": "Article slug, as returned by search_articles or get_latest, e.g. institutions-sold-the-dip."
    }
  }
}
get_article annotations
{
  "title": "Get Article",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_ticker — Get Market Ticker
Advertised by the server during the last successful anonymous check.
Advertised read-only

Market snapshot: crypto top 5, SI stocks, and metrics, with the snapshot timestamp. For the publication's dated predictions and their grades, use get_scoreboard instead.

get_ticker input schema
{
  "type": "object",
  "properties": {}
}
get_ticker annotations
{
  "title": "Get Market Ticker",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_scoreboard — Get Scoreboard
Advertised by the server during the last successful anonymous check.
Advertised read-only

Every dated public call The White Report has made, its grade date, and its grade (null while pending). Start here for the track record in human-readable form; use calls_list instead for the sealed machine-format envelopes (wr.calls.v1) behind the same calls.

get_scoreboard input schema
{
  "type": "object",
  "properties": {}
}
get_scoreboard annotations
{
  "title": "Get Scoreboard",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
calls_list — List Calls (Machine Format)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Machine format (wr.calls.v1, testnet): sealed per-call envelopes from the graded-calls ledger. Optional filters: state (grade_state), asset (substring of asset_or_event). Historical record only. Use calls_get for one call's full envelope once you have its call_id, calls_since to sync only what is new, and get_scoreboard instead for the human-readable track record.

calls_list input schema
{
  "type": "object",
  "properties": {
    "asset": {
      "type": "string",
      "description": "Substring match on asset_or_event, e.g. BTC."
    },
    "state": {
      "type": "string",
      "description": "Filter by grade_state, e.g. OPEN."
    }
  }
}
calls_list annotations
{
  "title": "List Calls (Machine Format)",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
calls_get — Get One Call (Machine Format)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Machine format (wr.calls.v1, testnet): the full sealed envelope for one call id (e.g. ep.6). Use calls_list first if you do not have a call_id.

calls_get input schema
{
  "type": "object",
  "required": [
    "call_id"
  ],
  "properties": {
    "call_id": {
      "type": "string",
      "description": "Call id, as returned by calls_list or calls_since, e.g. ep.6."
    }
  }
}
calls_get annotations
{
  "title": "Get One Call (Machine Format)",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
calls_since — Calls Since Timestamp (Machine Format)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Machine format (wr.calls.v1, testnet): call envelopes with published_at after the given ISO-8601 UTC timestamp (v1 basis: published_at). Use calls_list instead when you need state/asset filters rather than a time window.

calls_since input schema
{
  "type": "object",
  "required": [
    "since"
  ],
  "properties": {
    "since": {
      "type": "string",
      "description": "ISO-8601 UTC timestamp, e.g. 2026-10-24T00:00:00Z."
    }
  }
}
calls_since annotations
{
  "title": "Calls Since Timestamp (Machine Format)",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
event_briefs_list — List Event Briefs (Machine Format)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Machine format (wr.event.v1, testnet): the scheduled-event coverage calendar and brief index (id, version, event, sla_met). Use event_brief_get for one brief's full sealed envelope once you have its id.

event_briefs_list input schema
{
  "type": "object",
  "properties": {}
}
event_briefs_list annotations
{
  "title": "List Event Briefs (Machine Format)",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
event_brief_get — Get Event Brief (Machine Format)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Machine format (wr.event.v1, testnet): one sealed event brief envelope by id; version optional (default: latest version). Use event_briefs_list first if you do not have a brief id.

event_brief_get input schema
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Brief id, as returned by event_briefs_list."
    },
    "version": {
      "type": "integer",
      "description": "Version number; omit for latest."
    }
  }
}
event_brief_get annotations
{
  "title": "Get Event Brief (Machine Format)",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
telemetry_latest — Latest Telemetry (Machine Format)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Machine format (wr.telemetry.v1, testnet): the latest sealed compile envelope per telemetry metric; optional metric filter. Use telemetry_series instead for every envelope of one metric over time.

telemetry_latest input schema
{
  "type": "object",
  "properties": {
    "metric": {
      "type": "string",
      "description": "Metric id, as enumerated by this tool when metric is omitted; omit for the latest envelope of every metric."
    }
  }
}
telemetry_latest annotations
{
  "title": "Latest Telemetry (Machine Format)",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
telemetry_series — Telemetry Series (Machine Format)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Machine format (wr.telemetry.v1, testnet): every sealed compile envelope for one metric id, oldest first. Use telemetry_latest instead when you only need the newest envelope per metric.

telemetry_series input schema
{
  "type": "object",
  "required": [
    "metric"
  ],
  "properties": {
    "metric": {
      "type": "string",
      "description": "Metric id, as enumerated by telemetry_latest (call it with metric omitted to list all metric ids)."
    }
  }
}
telemetry_series annotations
{
  "title": "Telemetry Series (Machine Format)",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
225 ms
95th percentile latency
225 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 225 ms · metadata changed · 12 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http the-white-report-mcp https://thewhitereport.com/mcp.php

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add the-white-report-mcp --url https://thewhitereport.com/mcp.php

Cursor

Merge this server into .cursor/mcp.json in your project, then enable the-white-report-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "the-white-report-mcp": {
      "url": "https://thewhitereport.com/mcp.php"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "the-white-report-mcp": {
      "type": "streamableHttp",
      "url": "https://thewhitereport.com/mcp.php",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start the-white-report-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "the-white-report-mcp": {
      "type": "http",
      "url": "https://thewhitereport.com/mcp.php"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http the-white-report-mcp https://thewhitereport.com/mcp.php

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "the-white-report-mcp": {
      "url": "https://thewhitereport.com/mcp.php"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "the-white-report-mcp": {
      "serverUrl": "https://thewhitereport.com/mcp.php"
    }
  }
}

Let your agent find its tools

Find servers like The White Report MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.