Skip to main content

MCP server that gives AI assistants full read/write access to ArcticDB

Project description

arcticdb-mcp

MCP server that gives AI assistants full read/write access to ArcticDB — versioned, queryable, serverless DataFrames at scale.


Why ArcticDB + AI

Most databases give your AI assistant data. ArcticDB gives it versioned data — every write is a new version, every version is recoverable. This means your AI can:

  • Detect when a new data update introduced anomalies by comparing it to the previous version
  • Roll back to a known-good state without any data loss
  • Query billions of rows with date range, filter, and groupby — without loading them into memory
  • Work across LMDB (local), S3, Azure Blob, and MinIO with zero infrastructure changes

Quickstart

1. Install

pip install arcticdb-mcp

2. Add to your MCP client config

{
  "mcpServers": {
    "arcticdb": {
      "command": "python",
      "args": ["-m", "arcticdb_mcp"],
      "env": {
        "ARCTICDB_URI": "lmdb:///path/to/your/database"
      }
    }
  }
}

Windows users: use two slashes with the drive letter — lmdb://C:/path/to/your/database

3. Connect and start asking questions

"Show me the last 5 rows of AAPL in the finance library"
"Filter NVDA prices greater than 500 in 2024"
"Compare the latest version of this symbol to the previous one"
"Create a snapshot of the finance library before I update it"

Backends

Backend URI format
Local (LMDB) lmdb:///path/to/db (Linux/Mac) · lmdb://C:/path/to/db (Windows)
AWS S3 s3://s3.amazonaws.com:bucket?region=us-east-1&access=KEY&secret=SECRET
Azure Blob azure://AccountName=X;AccountKey=Y;Container=Z
MinIO / S3-compatible s3://your-endpoint:bucket?access=KEY&secret=SECRET

Set the URI via environment variable:

export ARCTICDB_URI="lmdb:///path/to/your/database"

Or use a .env file in your working directory.


Tools

Libraries

Tool Description
list_libraries List all libraries in the Arctic instance
create_library Create a new library
delete_library Delete a library and all its data
library_exists Check whether a library exists
get_library Get a library's name and symbol list

Symbols

Tool Description
list_symbols List all symbols in a library
read_symbol Read a symbol's full data. Use as_of for a specific version
head_symbol Read the first n rows of a symbol
tail_symbol Read the last n rows of a symbol
write_symbol Write data to a symbol, creating a new version
append_symbol Append rows to an existing symbol
update_symbol Overwrite a date range of a timeseries symbol
delete_symbol Delete a symbol and all its versions
delete_data_in_range Delete rows within a date range, creating a new version
symbol_exists Check whether a symbol exists
get_symbol_info Get row count, column names, and last update time
read_metadata Read a symbol's metadata without loading data
write_metadata Update a symbol's metadata
list_versions List all versions of a symbol with timestamps

Snapshots

Tool Description
create_snapshot Snapshot the current state of a library
list_snapshots List all snapshots in a library
delete_snapshot Delete a named snapshot
read_symbol_from_snapshot Read a symbol as it existed at snapshot time

Queries

Tool Description
query_filter Filter rows with >, >=, <, <=, ==, != conditions
query_filter_isin Filter rows where a column value is in a list
query_groupby Group by a column and aggregate (mean, sum, min, max, count)
query_date_range Filter a datetime-indexed symbol by date range
query_resample Resample a datetime-indexed symbol (1h, 1D, 1W, ...)

Development

git clone https://github.com/YMuskrat/arcticdb-mcp
pip install -e ".[dev]"

# Test with MCP Inspector
ARCTICDB_URI=lmdb:///tmp/test_db npx @modelcontextprotocol/inspector python -m arcticdb_mcp

License

MIT

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

arcticdb_mcp-0.1.0.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

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

arcticdb_mcp-0.1.0-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

Details for the file arcticdb_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: arcticdb_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for arcticdb_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 28da998b205b3df064dab49a3b4ccf738ebd59279ad6c981433764351714e676
MD5 688276d208f41e4cb39b370832cb048e
BLAKE2b-256 d81feadff4e36b1cda8e47a0e6af7fe0244e33271978653439df3f4ee056bc25

See more details on using hashes here.

File details

Details for the file arcticdb_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: arcticdb_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for arcticdb_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 da6726cf6813f693a108c63f35ed2d28b73012910e62cfb6c61b098025ca2f38
MD5 77417ea2e2ca8834b577764f4c1ea902
BLAKE2b-256 e5265588bfa6e79f4657d222732baf831f9fde0dda0d9e68f44c88377a998dff

See more details on using hashes here.

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