negillett avatar

AllocContext

negillett/alloc-context

Connects to Coinbase and Kraken via read-only API keys to pull your actual crypto holdings, then layers on scoped market data (OHLC for BTC/ETH, quote snapshots for alts), sentiment, macro indicators, and regime analysis. Exposes tools like get_context_bundle for a full snapshot, get_rebalance_plan for drift calculations, and check_allocation_band to see if you're outside target ranges. Runs locally via stdio for Cursor or hits the hosted endpoint at mcp.alloc-context.com with x402 micropayments on Base. Pricing is two to five cents per call depending on whether it's cached math or live portfolio ingest. Nothing persists on the server. Reach for this when you want an agent to reason about portfolio allocation without manually copying balances into prompts.

tools
8
transport
STDIO, HTTP
last updated
Jun 1, 2026

Tools

8 tools

Public tool metadata for what this MCP can expose to an agent.

get_market_contextReturn read-only fused market backdrop for crypto portfolio context: sentiment (Fear & Greed, Kalshi), macro events, FRED indicators, ETF flows, and market breadth — no portfolio holdings. Use get_context_bundle when you also need holdings, delta, or regime. freshness=cached r...3 params

Return read-only fused market backdrop for crypto portfolio context: sentiment (Fear & Greed, Kalshi), macro events, FRED indicators, ETF flows, and market breadth — no portfolio holdings. Use get_context_bundle when you also need holdings, delta, or regime. freshness=cached r...

Parameters* required
assetsarray
Optional asset symbols for market fields (default BTC and ETH), e.g. ['BTC', 'ETH', 'HYPE'].
freshnessstring
cached: read local ingest DB only. live: run ingest first (requires ingest API keys on the host).one of cached · live
scopestring
Rollup scope: daily (default) or weekly.one of daily · weekly
get_context_bundleReturn the full read-only ContextBundle JSON: portfolio holdings, market, sentiment, macro, regime hints, and delta vs the prior saved snapshot. Use get_market_context for market-only; use get_context_at for a historical snapshot. Optional target_pct and band attach allocation...5 params

Return the full read-only ContextBundle JSON: portfolio holdings, market, sentiment, macro, regime hints, and delta vs the prior saved snapshot. Use get_market_context for market-only; use get_context_at for a historical snapshot. Optional target_pct and band attach allocation...

Parameters* required
assetsarray
Optional asset symbols for market fields (default BTC and ETH), e.g. ['BTC', 'ETH', 'HYPE'].
bandnumber
Drift band width as a fraction (e.g. 0.15 = 15% outside target).
freshnessstring
cached: read local ingest DB only. live: run ingest first (requires ingest API keys on the host).one of cached · live
scopestring
Rollup scope: daily (default) or weekly.one of daily · weekly
target_pctobject
Optional target weights; when set, attaches allocation_analysis drift math to the response.
get_rebalance_planCompute read-only USD deltas and suggested exchange move lines to reach a BTC/ETH/CASH target split. Pure math — no exchange API calls. Requires allocation_pct, target_pct, and nav_usd. Use get_portfolio_state or get_context_bundle when you need live weights first.5 params

Compute read-only USD deltas and suggested exchange move lines to reach a BTC/ETH/CASH target split. Pure math — no exchange API calls. Requires allocation_pct, target_pct, and nav_usd. Use get_portfolio_state or get_context_bundle when you need live weights first.

Parameters* required
allocation_pctobject
Current BTC/ETH/CASH band weights; values typically sum to ~1.
bandnumber
Drift band width as a fraction (e.g. 0.15 = 15% outside target).
exchangestring
Spot exchange for move wording: kraken (default) or coinbase.one of kraken · coinbase
nav_usdnumber
Portfolio net asset value in USD.
target_pctobject
Target BTC/ETH/CASH band weights; values typically sum to ~1.
get_portfolio_stateFetch live read-only portfolio NAV, holdings[], and band weights from a supported spot exchange (e.g. Kraken, Coinbase) using credentials passed in this call (never stored). Requires exchange, api_key, and api_secret. Returns available=false with reason on invalid credentials...5 params

Fetch live read-only portfolio NAV, holdings[], and band weights from a supported spot exchange (e.g. Kraken, Coinbase) using credentials passed in this call (never stored). Requires exchange, api_key, and api_secret. Returns available=false with reason on invalid credentials...

Parameters* required
api_keystring
Read-only exchange API key (Coinbase CDP key name).
api_secretstring
Read-only API secret (Kraken base64 secret or Coinbase EC PEM).
bandnumber
Drift band width as a fraction (e.g. 0.15 = 15% outside target).
exchangestring
Spot exchange to query: kraken or coinbase.one of kraken · coinbase
target_pctobject
Optional target weights; when set, attaches allocation_analysis to the portfolio response.
check_allocation_bandCheck read-only drift: are BTC/ETH/CASH band weights outside the drift band vs target_pct? Returns rebalance_hint (within_band, consider_rebalance, etc.). Single scenario — use check_allocation_bands for multiple targets. Use get_rebalance_plan when you need USD move lines.3 params

Check read-only drift: are BTC/ETH/CASH band weights outside the drift band vs target_pct? Returns rebalance_hint (within_band, consider_rebalance, etc.). Single scenario — use check_allocation_bands for multiple targets. Use get_rebalance_plan when you need USD move lines.

Parameters* required
allocation_pctobject
Current BTC/ETH/CASH band weights; values typically sum to ~1.
bandnumber
Drift band width as a fraction (default 0.15 = 15%).
target_pctobject
Target BTC/ETH/CASH band weights; values typically sum to ~1.
get_context_atLoad a read-only ContextBundle snapshot from ingest history at a point in time. Use get_context_bundle for the latest snapshot; use get_context_delta to compare two timestamps. Returns unavailable when no snapshot matches as_of and match.6 params

Load a read-only ContextBundle snapshot from ingest history at a point in time. Use get_context_bundle for the latest snapshot; use get_context_delta to compare two timestamps. Returns unavailable when no snapshot matches as_of and match.

Parameters* required
as_ofstring
ISO-8601 timestamp for the snapshot to load.
assetsarray
Optional asset symbols for market fields (default BTC and ETH), e.g. ['BTC', 'ETH', 'HYPE'].
bandnumber
Drift band width as a fraction (e.g. 0.15 = 15% outside target).
matchstring
exact: snapshot at as_of only. at_or_before (default): latest snapshot on or before as_of.one of exact · at_or_before
scopestring
Rollup scope: daily (default) or weekly.one of daily · weekly
target_pctobject
Optional target weights; when set, attaches allocation_analysis drift math to the response.
get_context_deltaCompare two read-only ContextBundle snapshots and return notable_shifts between them. Requires prior_as_of; omit current_as_of to diff against the latest live bundle. Use get_context_at to load one snapshot without diffing.4 params

Compare two read-only ContextBundle snapshots and return notable_shifts between them. Requires prior_as_of; omit current_as_of to diff against the latest live bundle. Use get_context_at to load one snapshot without diffing.

Parameters* required
assetsarray
Optional asset symbols for market fields (default BTC and ETH), e.g. ['BTC', 'ETH', 'HYPE'].
current_as_ofstring
ISO-8601 timestamp of the later snapshot; omit for latest live bundle.
prior_as_ofstring
ISO-8601 timestamp of the earlier snapshot (required).
scopestring
Rollup scope: daily (default) or weekly.one of daily · weekly
check_allocation_bandsEvaluate read-only allocation drift against multiple target_pct/band scenarios in one call. Each scenario requires target_pct; optional name and band (default 0.15). Use check_allocation_band for a single target.2 params

Evaluate read-only allocation drift against multiple target_pct/band scenarios in one call. Each scenario requires target_pct; optional name and band (default 0.15). Use check_allocation_band for a single target.

Parameters* required
allocation_pctobject
Current BTC/ETH/CASH band weights; values typically sum to ~1.
scenariosarray
Scenario objects, each with required target_pct and optional name and band (default 0.15).

Sponsors

Readme

Details

Repository
github.com/negillett/alloc-context
Website
mcp.alloc-context.com/llms.txt
Category
Finance & Commerce
Package
alloc-context
Transport
STDIO, HTTP
Registry
MCP registry, active

Related Finance & Commerce MCP servers

View all
1northrosetech avatarGhl Mcp Servernorthrosetech/ghl-mcp-serverGoHighLevel CRM for AI agents. 60+ tools for contacts, messaging, calendars, and payments.0stars
2paladinfi avatarTrust Check Mcppaladinfi/trust-check-mcpFree OFAC SDN wallet screen + sample preview for AI agents on Base. Read-only, no payment surface.0stars
3payu-intrepos avatarPayU Docspayu-intrepos/payu-developer-mcpSearch PayU docs, browse the payment integration catalog, and fetch production-ready code.0stars
4rachit1987 avatarWonderkraftz - Premium Gifting Studiorachit1987/wonderkraftz-mcpBrowse and shop Wonderkraftz premium gifts. Recommendations, cart, and checkout via AI.0stars
5ravidsrk avatarMarketintellravidsrk/marketintellAI analyst desk for stocks, options & crypto with sourced trade setups and a public accuracy record.0stars
6realopengroup avatarMcp Serverrealopengroup/mcp-serverVerify crypto wallets and generate proof of funds letters for buying real estate with crypto.0stars