YMuskrat/arcticdb_mcp
MCP server for ArcticDB
arcticdb‑mcp – an MCP server for structured access to ArcticDB
What it is – arcticdb‑mcp is a small Python‑based server that wraps ArcticDB, an open‑source time‑series and versioned data store. It exposes the database’s functionality as a set of tools that can be called from an MCP (Model‑Context‑Protocol) client such as Claude Desktop, Cursor, Windsurf or Continue. In practice this lets a conversational AI assistant read, write, version, and query data in ArcticDB without the user having to write any code.
Why it matters – Modern LLM‑powered assistants often need to fetch or update large, versioned datasets (e.g., market data, sensor logs, experiment results). arcticdb‑mcp provides a ready‑made, traceable API that:
- Supports per‑symbol versioning and snapshots for full auditability.
- Offers pagination and server‑side slicing so that even huge symbols can be inspected within the limited token windows of LLMs.
- Works over simple stdio (the default for desktop MCP clients) or over HTTP/SSE, making it easy to embed in local scripts or remote services.
Key capabilities (49 tools)
- Library management – list, create, delete libraries; inspect options.
- Symbol operations – read/write/append/update/delete symbols; fetch heads/tails; query metadata; list versions.
- Batch actions – perform the same operation on many symbols in a single call (e.g.,
write_batch). - Snapshots – create named snapshots, list/delete them, and read symbols as they existed at a snapshot.
- Query helpers – filter,
isin, group‑by, date‑range, and resample operations that run directly in ArcticDB. - Maintenance – reload/compact symbol lists, defragment data, prune old versions.
- Paginated reads –
read_symbol_pagereturns a slice of rows together with version pinning information, enabling consistent multi‑page retrievals.
Installation
# recommended one‑liner
uvx arcticdb-mcp
# alternatives
pipx install arcticdb-mcp
pip install arcticdb-mcp # requires Python ≥3.9
Running
- StdIO (default) –
ARCTICDB_URI=lmdb:///path/to/db python -m arcticdb_mcp - HTTP/SSE – set
ARCTICDB_MCP_PORT=8000(or any port 1‑65535) and start the same command; the server will listen athttp://localhost:8000/sse.
Configuration – The only required setting is ARCTICDB_URI, which can point to:
- Local LMDB (
lmdb:///path/to/db) - AWS S3, Azure Blob, or any S3‑compatible endpoint (credentials passed in the URI query string)
- A
.envfile can also be used.
Typical conversational prompts
Show me the last 5 rows of AAPL in library finance
Create a snapshot of finance before I update symbols
List versions for symbol ES_intraday
Filter NVDA where price > 500 and volume >= 1000
Resample ES_intraday to 5min and aggregate price mean, volume sum
The assistant translates these natural‑language requests into the appropriate tool calls, and the server returns the data (or confirmation) in a format the LLM can embed in its reply.
Development – Clone the repo, install in editable mode (pip install -e .), and run locally with the same ARCTICDB_URI environment variable. A test harness (@modelcontextprotocol/inspector) is provided for quick sanity checks.
Roadmap – The project lists a handful of open capabilities (e.g., staged data handling, admin tools) that contributors can implement.
License – MIT.
Bottom line – arcticdb‑mcp is a practical bridge between ArcticDB’s high‑performance, versioned data storage and LLM‑driven assistants, enabling data‑centric AI workflows with full traceability and minimal scripting.
Related
- Project
- Project
- Project
- Project
- Project