Basis Protocol
Attested risk scores for stablecoins, DeFi protocols and wallets, with receipts.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"basis": {
"url": "https://basisprotocol.xyz/mcp"
}
}
}Remote endpoints
https://basisprotocol.xyz/mcpstreamable-httpWhat it can do
Tool inventory
Tools (7)
🟢get_stablecoin_scores(limit, fields, sort_by)
Current SII scores (0-100) for scored stablecoins. Use before any decision involving stablecoins. Parameters: limit: max coins returned (default 25, max 500) fields: columns to return per coin (default id, symbol, name, issuer, score, grade, confidence, stale, computed_at); name "categories" for category scores sort_by: "score_desc" (default), "score_asc", or "symbol" One coin's detail: entity_read(query).
Input Schema
{
"type": "object",
"properties": {
"limit": {
"default": 25,
"title": "Limit",
"type": "integer"
},
"fields": {
"default": null,
"items": {
"type": "string"
},
"title": "Fields",
"type": "array"
},
"sort_by": {
"default": "score_desc",
"title": "Sort By",
"type": "string"
}
},
"title": "get_stablecoin_scoresArguments"
}🟢get_methodology(mode)
The Basis methodology. mode="summary" (default): index list, versions, component counts. mode="full": the complete SII formula, weights and component specifications (large).
Input Schema
{
"type": "object",
"properties": {
"mode": {
"default": "summary",
"title": "Mode",
"type": "string"
}
},
"title": "get_methodologyArguments"
}🟢basis_data(kind, entity, window, detail, severity, ...)
Market, governance and risk data in one tool. Pick a kind: liquidity_depth (entity=coin id), yield_data (entity=protocol, optional), governance_activity (entity=protocol slug; window=days, 90), bridge_flows (entity=bridge id, optional), exchange_health (entity=exchange id, optional), volatility (entity=asset id), incidents (entity=entity id, optional), peg_monitor (summary of latest deviation + status per coin; detail=true with entity returns that coin's 5-minute series, window=hours, 24), venue_shift (entity=operator slug, optional), asset_footprint (entity=token or symbol), divergence (capital-flow vs quality signals; severity=notable|alert|critical, limit=20, window=hours 24), treasury_events (entity=wallet, optional), riskiest_wallets (limit=20), scoring_backlog (limit=20). Responses are capped near 12 KB; an unknown kind returns the list of kinds.
Input Schema
{
"type": "object",
"properties": {
"kind": {
"title": "Kind",
"type": "string"
},
"entity": {
"default": null,
"title": "Entity",
"type": "string"
},
"window": {
"default": null,
"title": "Window",
"type": "integer"
},
"detail": {
"default": false,
"title": "Detail",
"type": "boolean"
},
"severity": {
"default": null,
"title": "Severity",
"type": "string"
},
"limit": {
"default": null,
"title": "Limit",
"type": "integer"
}
},
"required": [
"kind"
],
"title": "basis_dataArguments"
}⚪basis_answer(query, session_id)
Ask the Basis Agent a question about attested risk state. Answers cite attestation hashes; ungroundable queries are refused. Never recommends positions or forecasts. Pass your hub API key (x-api-key header or ?apikey=) to attribute reads. Multi-turn: pass the envelope's session_id back as session_id. Parameters: query: The question (max 4000 chars). session_id: Session UUID from a previous envelope (optional).
Input Schema
{
"type": "object",
"properties": {
"query": {
"title": "Query",
"type": "string"
},
"session_id": {
"default": null,
"title": "Session Id",
"type": "string"
}
},
"required": [
"query"
],
"title": "basis_answerArguments"
}⚪receipt_verify(hash, source)
Verify a receipt or citation hash from an envelope (basis_answer, entity_read). Resolves it against the attestation tables and returns what it attests to, or that it is unknown. ``source`` optionally restricts the table.
Input Schema
{
"type": "object",
"properties": {
"hash": {
"title": "Hash",
"type": "string"
},
"source": {
"default": null,
"title": "Source",
"type": "string"
}
},
"required": [
"hash"
],
"title": "receipt_verifyArguments"
}🟢entity_read(query)
Look up any entity by symbol, slug, contract/wallet address, operator or vault name. Returns {entity_type, id, score, grade, confidence, receipt_hash, links}. When nothing resolves returns {match: null, did_you_mean: [up to 5 candidates]} rather than an error.
Input Schema
{
"type": "object",
"properties": {
"query": {
"title": "Query",
"type": "string"
}
},
"required": [
"query"
],
"title": "entity_readArguments"
}🟢score_history(coin, days)
Daily SII score history for a stablecoin: a list of {date, score, grade} only. Parameters: coin: symbol, slug or contract address (resolved like entity_read) days: lookback window, 1-365 (default 30)
Input Schema
{
"type": "object",
"properties": {
"coin": {
"title": "Coin",
"type": "string"
},
"days": {
"default": 30,
"title": "Days",
"type": "integer"
}
},
"required": [
"coin"
],
"title": "score_historyArguments"
}Community
Evidence