Skip to main content

Portfolio-aware crypto context — CEX or wallet holdings, holdings-scoped market, optional allocation analysis

Project description

AllocContext

mcp-name: io.github.AllocContext/alloc-context

Portfolio-aware crypto context for whatever you hold — discover your holdings, holdings-scoped market data, sentiment, macro, and regime; optional allocation analysis when you supply targets. Deterministic JSON over MCP.

New here? Cursor MCP setup — stdio in your editor, or self-hosting with local ingest. Organization: AllocContext on GitHub.

Privacy: nothing stored · one-time read-only · pass-through only when using live portfolio reads. See USE.md.

Quick start (Cursor, self-host)

1. Install

pip install "alloc-context[mcp]"
# From source: pip install -e ".[mcp]"

2. Config and secrets

Copy config/config.example.yaml to config/config.yaml. Copy .env.example to .env and add read-only exchange keys when you want portfolio ingest or macro feeds. See self-hosting.md.

3. MCP config

Add to your Cursor mcp.json (or project .cursor/mcp.json):

{
  "mcpServers": {
    "alloc-context": {
      "command": "alloc-context",
      "args": [
        "mcp",
        "--config",
        "/absolute/path/to/alloc-context/config/config.yaml"
      ],
      "env": {
        "ALLOC_CONTEXT_DB": "/absolute/path/to/alloc-context/state/alloccontext.db"
      }
    }
  }
}

Use absolute paths. See cursor-mcp.example.json.

4. Refresh facts (optional)

python -m alloccontext --config config/config.yaml ingest

Run before a session or when you want fresh macro/regime data. No cron required.

5. Ask your agent

Call get_context_bundle for a full snapshot. Pure math tools (check_allocation_band, get_rebalance_plan) work without portfolio credentials.

Full setup: cursor-mcp.md. Samples: examples.md.

Not financial advice.

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 (CEX keys or public EVM wallet address)
get_expectation_review Score optional local theses against context (pass-through)

Market context is holdings-scoped: band assets (BTC/ETH) use OHLC bars; alt holdings (e.g. HYPE) use quote snapshots when cached. See context-bundle.md#market-coverage.

See mcp.md for arguments and resources.

Self-host and development

Run ingest and MCP on your machine — the primary supported path.

See self-hosting.md, local-dev.md (./scripts/dev-up.sh), or docker-self-host.md.

git clone git@github.com:AllocContext/alloc-context.git
cd alloc-context
python3.11 -m venv .venv && source .venv/bin/activate
pip install -e ".[dev,mcp]"
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)

Optional HTTP MCP + x402 on your host: mcp-http.md.

AllocContext is self-host only — we do not operate mcp.alloc-context.com. Quickstart: agent-onramp.md · cursor-mcp.md.

Documentation

Document Purpose
docs/agent-onramp.md ~2 min quickstart
docs/cursor-mcp.md Cursor stdio MCP
docs/self-hosting.md Local ingest + MCP
docs/deterministic-context-mcp-pattern.md Ingest → rollup → MCP pattern
docs/mcp.md MCP tools
docs/examples.md Sample tool JSON (redacted)
docs/context-bundle.md ContextBundle schema
docs/USE.md License and use policy
docs/local-dev.md Local internal MCP + dev ingest
docs/docker-self-host.md Docker Compose self-host
docs/distribution.md PyPI and MCP Registry
docs/publishing.md Release workflow
docs/mcp-http.md Optional HTTP + x402 (your host)
docs/user-config.md Bridge user.yaml (legacy archive)

Contributing

GitHub Issues are welcome for bugs, schema feedback, and MCP API suggestions. Unsolicited pull requests are not expected — see CONTRIBUTING.md.

License

MIT License. Self-host via PyPI. See docs/USE.md.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

alloc_context-0.3.0.tar.gz (183.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

alloc_context-0.3.0-py3-none-any.whl (172.8 kB view details)

Uploaded Python 3

File details

Details for the file alloc_context-0.3.0.tar.gz.

File metadata

  • Download URL: alloc_context-0.3.0.tar.gz
  • Upload date:
  • Size: 183.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for alloc_context-0.3.0.tar.gz
Algorithm Hash digest
SHA256 8c551ff92e1cd8e6a8f77ca435e92f22d8a20ef7afd1ac5d4141e751e32cac95
MD5 c8526b37f472797ee6ad3c0cf974360c
BLAKE2b-256 8427886463bf412513f268bef669c446e568e20d8c202db94824c796684f8f17

See more details on using hashes here.

Provenance

The following attestation bundles were made for alloc_context-0.3.0.tar.gz:

Publisher: release.yml on AllocContext/alloc-context

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file alloc_context-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: alloc_context-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 172.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for alloc_context-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c36a184c2346d33bbb5bdf56ea6483406b76cd8775f02e5a443654a89a3daa0d
MD5 e10a71b7229513cba2e41adb95fe6abd
BLAKE2b-256 4bad5431103973cb13bfdc600458ff4bb63e629bcf5dcdebbc217d040ccadc2b

See more details on using hashes here.

Provenance

The following attestation bundles were made for alloc_context-0.3.0-py3-none-any.whl:

Publisher: release.yml on AllocContext/alloc-context

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page