Skip to content
AssetFrame

MCP server

Connect Claude Code, Claude Desktop, Cursor and other agents to AssetFrame over the Model Context Protocol.

The Model Context Protocol (MCP) lets AI clients call tools on a server. AssetFrame runs a hosted MCP server over Streamable HTTP, so any MCP-capable client can read the published research. Discovery is keyless — listing, searching and the track record need no sign-in. Reading an individual report needs an OAuth sign-in (any account); the full Pro analysis additionally needs a Pro subscription.

Endpoint

https://www.assetframe.co.uk/api/mcp

Connect your agent

Claude Code

One command — it registers the server over HTTP transport.

claude mcp add --transport http assetframe https://www.assetframe.co.uk/api/mcp

Claude Desktop

Settings → Developer → Edit Config, then add the server to claude_desktop_config.json and restart.

{
  "mcpServers": {
    "assetframe": {
      "type": "http",
      "url": "https://www.assetframe.co.uk/api/mcp"
    }
  }
}

Cursor

Settings → MCP → Add new server, or add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "assetframe": {
      "url": "https://www.assetframe.co.uk/api/mcp"
    }
  }
}

Perplexity & other clients (via mcp-remote)

For clients without a native HTTP transport, bridge through mcp-remote. This also drives the OAuth pop-up needed for the Pro tool.

{
  "mcpServers": {
    "assetframe": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://www.assetframe.co.uk/api/mcp"]
    }
  }
}

ChatGPT

ChatGPT doesn’t support generic MCP servers yet. Use the REST API with a Custom GPT Action and import our OpenAPI schema instead.

LangChain / SDK clients

Load the tools into any MCP-aware framework:

# LangChain / MCP adapters (Python)
from langchain_mcp_adapters.client import MultiServerMCPClient

client = MultiServerMCPClient({
    "assetframe": {"transport": "streamable_http", "url": "https://www.assetframe.co.uk/api/mcp"},
})
tools = await client.get_tools()  # list_reports, search_reports, get_report, get_track_record

Tool reference

list_reportsFree · no auth

Params: asset_class?, status?, date?, limit? (1–200, default 50)

Returns: { total, returned, reports[], disclaimer } — Snapshot metadata per edition.

search_reportsFree · no auth

Params: query (required), limit?

Returns: Same shape as list_reports, filtered by instrument name or ticker.

get_reportOAuth sign-in

Params: date (YYYY-MM-DD), slug (e.g. BTC)

Returns: Snapshot metadata + snapshotText + short-lived snapshotPdfUrl. Requires an OAuth sign-in (any account).

get_track_recordFree · no auth

Params: (none)

Returns: { stats, open[], scored[], calibration, disclaimer }.

get_pro_reportOAuth + Pro

Params: date (YYYY-MM-DD), slug

Returns: Full Pro analysis text + short-lived Pro PDF link. Requires OAuth + active Pro.

Sample response

// get_report → date: "2026-06-18", slug: "AAPL"  (after OAuth sign-in)
{
  "id": "2026-06-18/AAPL",
  "date": "2026-06-18",
  "slug": "AAPL",
  "instrument": "Apple Inc.",
  "ticker": "AAPL",
  "assetClass": "US equity",
  "assetClassKey": "equity",
  "status": "Wait",
  "risk": "High",
  "bias": "Neutral",
  "confidence": 55,
  "windowEnd": "Thu 18 Jun 2026 21:00 UK",
  "hasPro": true,
  "url": "https://www.assetframe.co.uk/reports/2026-06-18/AAPL",
  "snapshotText": "AssetFrame Snapshot — Apple Inc. (AAPL) ...",
  "snapshotPdfUrl": "https://.../free.pdf?X-Amz-Expires=600...",
  "proAvailable": true,
  "proAccess": "Subscribe at https://www.assetframe.co.uk/pricing to unlock the full Pro analysis.",
  "disclaimer": "AssetFrame publishes general market research ..."
}

Authentication (OAuth)

Discovery — listing, searching and the track record — is keyless. Reading a report and the full Pro analysis both sign you in via the MCP Authorization spec: your client opens an OAuth window for your AssetFrame account. Any account can read Snapshots; the Pro report additionally needs a live Pro subscription.

  1. Connect to https://www.assetframe.co.uk/api/mcp with an OAuth-capable client (Claude Desktop, Cursor, or any client via mcp-remote).
  2. The client discovers our OAuth endpoints from /.well-known/oauth-protected-resource and /.well-known/oauth-authorization-server. Dynamic Client Registration is enabled, so there is nothing to pre-register.
  3. When you call get_report or get_pro_report, the client opens a sign-in window. Sign in with your AssetFrame account (for Pro, the account that holds your subscription).
  4. get_report returns the Snapshot; get_pro_report returns the full Pro text plus a short-lived Pro PDF link. Without an active subscription, get_pro_report returns a message pointing to /pricing.

Guidance for agents

If you are an AI agent presenting AssetFrame data to a user, follow these four rules.

Cite the source
Attribute figures to AssetFrame, name the instrument and the report date, and link the edition (https://www.assetframe.co.uk/reports/{date}/{slug}). Snapshot text and PDF links are the published record — quote them, don’t paraphrase numbers into new claims.
Treat confidence as calibrated, not a promise
The confidence value (0–100) is a calibrated estimate that is scored against the tape after the window closes. It is not a guarantee, a probability of profit, or a trade signal. Present it alongside the risk rating and the prediction window, never on its own.
Explain the ledger honestly
Every call registers falsifiable predictions before the session and is graded Hit / Miss / No-trigger afterwards. The ledger is append-only — rows are never edited or deleted — so the hit rate, streaks and calibration from /track-record can be verified rather than taken on trust.
Avoid investment-advice language
This is general market research and decision support, not regulated advice or a personal recommendation. Don’t tell the user to buy or sell, don’t imply guaranteed returns, and surface the disclaimer that ships in every payload.
AssetFrame publishes general market research and decision-support analysis. It is not investment advice and not a personal recommendation. We do not tell anyone to buy or sell. Markets are uncertain and you can lose money. No outcome is guaranteed. Do your own research and consider an FCA-authorised adviser. AssetFrame never places trades.