/docs/mcp
MCP and AI clients
Four read-only tools for agents, and the exact set-up for each client.
What the MCP server does
Four read-only tools that mirror the REST API, for AI agents and MCP clients. Server https://entryriskscore.com/api/v1/mcp, transport Streamable HTTP (stateless), protocol versions 2025-06-18, 2025-03-26 and 2024-11-05. Authentication is the same API key in a header (Authorization: Bearer YOUR_KEY or X-API-Key); there is no OAuth sign-in. Quota: only tools/call counts, one request per tool use, shared with the REST API; connecting and listing tools are free.
| Tool | Same as | Arguments (all optional) |
|---|---|---|
| get_risk_state | GET /state | symbol, profile, side |
| list_high_risk | GET /high-risk | profile, side |
| get_components | GET /components | symbol, side |
| get_ledger | GET /ledger | from_day, to_day |
Results are the same {data, meta} documents as the API. A coin outside your plan or an unknown symbol comes back as a tool error with a short reason; a missing or ended key is an HTTP 401/403, an exhausted quota HTTP 429.
Example request and answer
POST https://entryriskscore.com/api/v1/mcp
Authorization: Bearer YOUR_KEY
Content-Type: application/json
Accept: application/json, text/event-stream
{"jsonrpc": "2.0", "id": 1, "method": "tools/call",
"params": {"name": "get_risk_state", "arguments": {"symbol": "BTCUSDT", "side": "LONG"}}}The result's first text block is one plain sentence per row group; the second is the JSON document; structuredContent holds the same JSON:
BTCUSDT LONG — HIGH, Risk Score 86/100, for entries held 60 min, 8 h or 24 h (as of 07:40 UTC).
Client set-up
Replace YOUR_KEY with your key (dashboard → API & MCP). Formats change often; each section says when it was checked against the client's documentation. Test prompt for every client: "Using the entry-risk-score tools, which coin/sides are HIGH right now, and what does the Risk Score mean?"
Claude Code
Claude Code adds remote servers from the terminal (stored in your Claude Code settings).
claude mcp add --transport http entry-risk-score https://entryriskscore.com/api/v1/mcp \ --header "Authorization: Bearer YOUR_KEY"
Native Streamable HTTP with a header.
Checked on 2026-10-02 against the client's documentation.
Claude Desktop (via mcp-remote)
Settings → Developer → Edit Config opens claude_desktop_config.json. Claude Desktop starts local commands from this file, so the remote server is bridged with mcp-remote (needs Node.js 18+).
{
"mcpServers": {
"entry-risk-score": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://entryriskscore.com/api/v1/mcp",
"--header", "Authorization:${ERS_AUTH}"],
"env": { "ERS_AUTH": "Bearer YOUR_KEY" }
}
}
}Remote connectors added in the app UI use OAuth; this server uses a header key, so the bridge is the way.
Checked on 2026-10-02 against the client's documentation.
Codex (OpenAI Codex CLI and IDE extension)
Codex reads ~/.codex/config.toml (or .codex/config.toml in a trusted project); the CLI and the IDE extension share it. Put the key in an environment variable; Codex sends it as a Bearer token.
# ~/.codex/config.toml [mcp_servers.entry_risk_score] url = "https://entryriskscore.com/api/v1/mcp" bearer_token_env_var = "ERS_API_KEY" # or from the terminal: # codex mcp add entry_risk_score --url https://entryriskscore.com/api/v1/mcp --bearer-token-env-var ERS_API_KEY
Set ERS_API_KEY in the environment Codex runs in. A literal bearer_token in the file is not accepted for HTTP servers.
Checked on 2026-10-02 against the client's documentation.
Cursor
Edit ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project).
{
"mcpServers": {
"entry-risk-score": {
"url": "https://entryriskscore.com/api/v1/mcp",
"headers": { "Authorization": "Bearer YOUR_KEY" }
}
}
}Checked on 2026-10-02 against the client's documentation.
VS Code (GitHub Copilot agent mode)
Edit .vscode/mcp.json in the workspace, or run "MCP: Open User Configuration" for all workspaces. The input prompts for the key once and stores it securely.
{
"inputs": [
{ "type": "promptString", "id": "ers-key", "description": "Entry Risk Score API key", "password": true }
],
"servers": {
"entry-risk-score": {
"type": "http",
"url": "https://entryriskscore.com/api/v1/mcp",
"headers": { "Authorization": "Bearer ${input:ers-key}" }
}
}
}Checked on 2026-10-02 against the client's documentation.
Windsurf
Edit ~/.codeium/windsurf/mcp_config.json (Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json), or Settings → Cascade → MCP → View raw config. Restart or refresh after saving.
{
"mcpServers": {
"entry-risk-score": {
"serverUrl": "https://entryriskscore.com/api/v1/mcp",
"headers": { "Authorization": "Bearer ${env:ERS_API_KEY}" }
}
}
}Remote servers use serverUrl; headers support ${env:VAR}.
Checked on 2026-10-02 against the client's documentation.
Goose
Goose Desktop: Extensions → Add custom extension → type Streamable HTTP, with the request header below. Goose CLI: goose configure → Add Extension → Remote Extension (Streamable HTTP). Both share ~/.config/goose/config.yaml.
extensions:
entry-risk-score:
name: entry-risk-score
type: streamable_http
uri: https://entryriskscore.com/api/v1/mcp
enabled: true
headers:
Authorization: Bearer ${ERS_API_KEY}Checked on 2026-10-02 against the client's documentation.
Antigravity
Agent panel → … → MCP Servers → Manage MCP Servers → View raw config opens mcp_config.json (shared by the Antigravity editor and CLI; the location differs by version, so open it from the app). Remote servers need serverUrl; url is not accepted.
{
"mcpServers": {
"entry-risk-score": {
"serverUrl": "https://entryriskscore.com/api/v1/mcp",
"headers": { "Authorization": "Bearer YOUR_KEY" }
}
}
}Restart Antigravity after editing; the file holds your key, so do not commit it.
Checked on 2026-10-02 against the client's documentation.
Any Streamable-HTTP client, and bridges for stdio-only clients
A client that supports remote Streamable HTTP servers with custom headers needs the address and the header above. A client that can only start local (stdio) servers can use a bridge:
npx -y mcp-remote https://entryriskscore.com/api/v1/mcp --header "Authorization: Bearer YOUR_KEY"
mcp-remote is the bridge used for Claude Desktop above. supergateway is another stdio bridge; its flags for Streamable HTTP with headers could not be confirmed on 2026-10-02, so follow its README if you prefer it.
Checked on 2026-10-02.