LlamaIndex Tools: AlgoVault
Composite BUY / SELL / HOLD trade calls, market‑regime classification, and cross‑venue funding‑arbitrage scans for crypto perpetual futures — exposed as native LlamaIndex tools, backed by the AlgoVault MCP server.
One import, zero MCP wiring, keyless free tier by default. Built by AlgoVault Labs.
pip install llama-index-tools-algovault
Why
AlgoVault is an API‑first signal‑interpretation layer for AI agents: it turns raw market data into a single composite verdict with a queryable, public track record. This ToolSpec gives a LlamaIndex agent four AlgoVault tools out of the box — no API key required to start (free tier), and a one‑line api_key for paid tiers.
The performance the verdicts are scored against (PFE win‑rate) is published live at algovault.com/track-record and via the MCP signal-performance resource.
Quick start (branded ToolSpec)
from llama_index.tools.algovault import AlgoVaultToolSpec
from llama_index.core.agent.workflow import FunctionAgent
from llama_index.llms.openai import OpenAI
# Keyless free tier (100 calls / month). Pass api_key="..." or set
# ALGOVAULT_API_KEY for paid tiers.
algovault = AlgoVaultToolSpec()
agent = FunctionAgent(
tools=algovault.to_tool_list(),
llm=OpenAI(model="gpt-4o"),
system_prompt="You are a crypto trading research assistant.",
)
resp = await agent.run("What's the current trade call for BTC?")
print(resp)
Call a tool directly:
algovault = AlgoVaultToolSpec()
print(algovault.get_trade_call("BTC")) # free
print(algovault.get_trade_call("ETH", timeframe="4h", exchange="BYBIT"))
print(algovault.get_market_regime("SOL", timeframe="1d")) # paid tier
print(algovault.scan_funding_arb(min_spread_bps=5, limit=5)) # paid tier
Authentication
| Mode | How | Tier |
|---|---|---|
| Keyless (default) | AlgoVaultToolSpec() |
Free — 100 calls / month |
| API key | AlgoVaultToolSpec(api_key="...") or ALGOVAULT_API_KEY env |
Paid tiers |
The key (when set) is sent as an Authorization: Bearer <key> header to https://api.algovault.com/mcp.
Tools
| Tool | Tier | Signature | Returns |
|---|---|---|---|
get_trade_call |
Free | coin, timeframe?, exchange?, include_reasoning=True, asset_class? |
Composite BUY/SELL/HOLD verdict + confidence, price, indicators, regime, reasoning |
get_trade_signal |
Free | (same as get_trade_call) |
Alias of get_trade_call, kept for back‑compat |
get_market_regime |
Paid | coin, timeframe="4h", exchange="HL" |
Regime: TRENDING_UP / TRENDING_DOWN / RANGING / VOLATILE |
scan_funding_arb |
Paid | min_spread_bps=5, limit=10 |
Cross‑venue funding‑rate spreads (long one venue, short the other) |
timeframe ∈ 1m 3m 5m 15m 30m 1h 2h 4h 8h 12h 1d (regime: 1h 4h 1d). exchange ∈ HL BINANCE BYBIT OKX BITGET ASTER EDGEX GATE MEXC KUCOIN PHEMEX BINGX HTX WEEX BITMART XT WHITEBIT. Defaults match the AlgoVault server (timeframe=15m, exchange=BINANCE for trade calls). On the free tier scan_funding_arb caps limit at 5.
Alternative: generic MCP client (no package)
AlgoVault is a standard Streamable‑HTTP MCP server, so any LlamaIndex agent can reach the same tools through the generic llama-index-tools-mcp adapter — by configuration alone, no AlgoVault‑specific code:
from llama_index.tools.mcp import BasicMCPClient, McpToolSpec
# keyless free tier
client = BasicMCPClient("https://api.algovault.com/mcp")
# paid tiers:
# client = BasicMCPClient(
# "https://api.algovault.com/mcp",
# headers={"Authorization": "Bearer <ALGOVAULT_API_KEY>"},
# )
spec = McpToolSpec(
client=client,
allowed_tools=["get_trade_call", "get_trade_signal", "get_market_regime", "scan_funding_arb"],
)
tools = spec.to_tool_list() # or: await spec.to_tool_list_async()
This package (llama-index-tools-algovault) is the branded, zero‑config, schema'd wrapper of that same surface: one import, the four tools pre‑wired with typed signatures and docstrings, keyless by default. Use whichever fits — they call the identical MCP endpoint.
Listing
Per run‑llama's current contribution policy, new integrations are published to PyPI independently rather than added to the run-llama/llama_index monorepo (which no longer accepts new integration packages). This package is therefore distributed via PyPI and GitHub; a LlamaHub catalog entry is requested separately through the directory's "Request an Integration" flow.
Development
uv run -- pytest -m "not live" # unit tests
uv run -- pytest -m live -s # live keyless call against api.algovault.com/mcp
uv build # sdist + wheel
Links
- Website — https://algovault.com
- Track record (live PFE win‑rate) — https://algovault.com/track-record
- MCP server —
https://api.algovault.com/mcp
Built by AlgoVault Labs. MIT licensed.
Release files for llama-index-tools-algovault 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| llama_index_tools_algovault-0.1.0.tar.gz | 7.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| llama_index_tools_algovault-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.9 kB
Release files / llama_index_tools_algovault-0.1.0.tar.gz
| Download URL | llama_index_tools_algovault-0.1.0.tar.gz |
|---|---|
| Size | 7.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c64a168cb7d58eee9286fd679bb4e28b3750d4e92071834128bd88fa1c26c4e8
|
|
BLAKE2b-256 checksum How to use checksums |
a21f64b609b615cbea888227b7a0d214387926a487e940de116c0c142350e04e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / llama_index_tools_algovault-0.1.0-py3-none-any.whl
| Download URL | llama_index_tools_algovault-0.1.0-py3-none-any.whl |
|---|---|
| Size | 8.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
40068430780e926548e3158c2a2024f5769e75c6f53db8feabd7f49323a19016
|
|
BLAKE2b-256 checksum How to use checksums |
7c0e65a386c35e41e704da28765413e1d08c0ad7b3a6e6ae4c853e282214b29b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|