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_page returns 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 at http://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 .env file 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