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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
28da998b205b3df064dab49a3b4ccf738ebd59279ad6c981433764351714e676
|
|
| MD5 |
688276d208f41e4cb39b370832cb048e
|
|
| BLAKE2b-256 |
d81feadff4e36b1cda8e47a0e6af7fe0244e33271978653439df3f4ee056bc25
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da6726cf6813f693a108c63f35ed2d28b73012910e62cfb6c61b098025ca2f38
|
|
| MD5 |
77417ea2e2ca8834b577764f4c1ea902
|
|
| BLAKE2b-256 |
e5265588bfa6e79f4657d222732baf831f9fde0dda0d9e68f44c88377a998dff
|