AllocContext
Portfolio-aware crypto context for AI agents. Discover holdings, market, sentiment, macro, and regime; optional allocation analysis. Hosted streamable HTTP MCP with x402 on Base (USDC/EURC). Privacy: pass-through only — keys never stored. Also on PyPI: pip install "alloc-context\[mcp]". Integration: https://github.com/negillett/alloc-context/blob/main/docs/agent-integration.md
README
AllocContext
mcp-name: io.github.negillett/alloc-context
Portfolio-aware crypto context for agents — discover holdings, market, sentiment, macro, and regime; optional allocation analysis. Deterministic JSON over MCP with x402 pay-per-call on Base.
Privacy: nothing stored · one-time read-only · pass-through only — your keys and portfolio never persist on our servers. See USE.md.
Quick start (Cursor)
1. Install
pip install "alloc-context[mcp,hosted]"
# From source: pip install -e ".[mcp,hosted]"
2. User config
Copy config/user.example.yaml to
~/.config/alloc-context/user.yaml. Add read-only exchange keys for portfolio
discovery (optional) and an x402 payer for hosted market context. See
user-config.md.
3. MCP config
Add to your Cursor mcp.json (or project .cursor/mcp.json):
{
"mcpServers": {
"alloc-context": {
"command": "alloc-context",
"args": [
"mcp",
"--user-config",
"/Users/you/.config/alloc-context/user.yaml"
]
}
}
}
Use an absolute path for --user-config. Example:
cursor-mcp-bridge.example.json.
4. Ask your agent
Call get_context_bundle for a full snapshot (holdings when keys are set,
market/sentiment/macro via hosted upstream). Pure math tools
(check_allocation_band, get_rebalance_plan) work without exchange keys.
Full setup guide: cursor-mcp.md. Sample responses: examples.md.
Not financial advice.
Hosted MCP
| URL | https://mcp.alloc-context.com/mcp |
| Discovery | llms.txt, x402 manifest |
| Pricing | $0.02 cached context/math · $0.05 live ingest or portfolio |
| Payment | x402 on Base — USDC or EURC |
Agents and wallets connect directly to the hosted endpoint — see agent-integration.md. The Cursor bridge above combines local portfolio reads with this upstream for market context.
MCP tools
| Tool | Purpose |
|---|---|
get_context_bundle |
Full ContextBundle — holdings, market, sentiment, macro, delta, regime; optional allocation_analysis |
get_market_context |
Sentiment, macro, ETF, breadth, and market fields (no portfolio) |
get_context_at |
Saved snapshot from ingest history at a given as_of |
get_context_delta |
Notable shifts between two saved snapshots |
get_rebalance_plan |
USD rebalance moves from allocation, target, and NAV |
check_allocation_band |
Drift vs target and whether allocation is outside the band |
check_allocation_bands |
Batch band checks for multiple target scenarios |
get_portfolio_state |
Live NAV and holdings from Kraken or Coinbase |
Market context is holdings-scoped: band assets (BTC/ETH) use OHLC bars; alt
holdings (e.g. HYPE) use quote snapshots when cached. The bridge auto-scopes
assets from your portfolio (symbols only upstream). See
context-bundle.md#market-coverage.
See mcp.md for arguments, pricing, and resources.
Self-host and development
Run ingest and MCP entirely on your machine — no x402 upstream required.
See self-hosting.md (self_host: true in user config)
or local-dev.md for the dev stack.
git clone git@github.com:negillett/alloc-context.git
cd alloc-context
python3.11 -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
cp .env.example .env
cp config/config.example.yaml config/config.yaml
python -m alloccontext ingest --dry-run
python -m alloccontext rollup --scope daily --stdout
pytest
| Command | Purpose |
|---|---|
python -m alloccontext ingest |
Pull configured sources → SQLite |
python -m alloccontext rollup --scope daily --stdout |
ContextBundle JSON (facts) |
python -m alloccontext status |
Per-source ingest ages, snapshots, MCP /health |
alloc-context mcp |
MCP server (stdio or HTTP) |
HTTP MCP + x402: mcp-http.md. CLI entry point:
alloc-context (same as python -m alloccontext).
Documentation
| Document | Purpose |
|---|---|
| docs/cursor-mcp.md | Cursor stdio MCP (bridge default) |
| docs/user-config.md | Bridge user.yaml reference |
| docs/mcp.md | MCP tools and x402 |
| docs/agent-integration.md | Paid HTTP MCP + Bazaar for agents |
| docs/examples.md | Sample tool JSON (redacted) |
| docs/context-bundle.md | ContextBundle schema |
| docs/USE.md | Self-host vs hosted MCP (plain language) |
| docs/mcp-http.md | HTTP MCP + x402 setup |
| docs/mcp-discovery.md | Bazaar and agent discovery |
| docs/self-hosting.md | Optional Linux/systemd ingest + MCP |
| docs/local-dev.md | Local internal MCP + dev ingest |
| docs/architecture.md | Pipeline and trust boundaries |
| docs/data-sources.md | Ingest sources |
| docs/distribution.md | GitHub, PyPI, MCP Registry, directories |
| docs/publishing.md | Release workflow and version bumps |
| docs/security-ci.md | CI coverage, Bandit, and pip-audit gates |
Contributing
GitHub Issues are welcome for bugs, schema feedback, and MCP API suggestions. Unsolicited pull requests are not expected — see CONTRIBUTING.md.
License
Elastic License 2.0 — source-available, self-host friendly. See docs/USE.md for plain-language allowed uses.
Official hosted MCP: https://mcp.alloc-context.com/mcp
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.