DataLake MCP
Model Context Protocol integration for DataLake
DataLake MCP
A managed Apache Iceberg data catalog for large-scale analytics on object storage with ACID transactions and schema flexibility.
Installation
npx @dotdo/mcp install datalakeTools
datalake_create
Create a new Iceberg data catalog.
Tool Schema:
{
"name": "datalake_create",
"description": "Create a new Iceberg data catalog.",
"inputSchema": {
"type": "object",
"properties": {
// Tool parameters
}
}
}datalake_delete
Permanently remove the data lake and all its tables.
Tool Schema:
{
"name": "datalake_delete",
"description": "Permanently remove the data lake and all its tables.",
"inputSchema": {
"type": "object",
"properties": {
// Tool parameters
}
}
}datalake_createTable
Create a new Iceberg table in the catalog.
Tool Schema:
{
"name": "datalake_createTable",
"description": "Create a new Iceberg table in the catalog.",
"inputSchema": {
"type": "object",
"properties": {
// Tool parameters
}
}
}datalake_dropTable
Remove an Iceberg table from the catalog.
Tool Schema:
{
"name": "datalake_dropTable",
"description": "Remove an Iceberg table from the catalog.",
"inputSchema": {
"type": "object",
"properties": {
// Tool parameters
}
}
}datalake_query
Execute SQL queries using R2 SQL engine.
Tool Schema:
{
"name": "datalake_query",
"description": "Execute SQL queries using R2 SQL engine.",
"inputSchema": {
"type": "object",
"properties": {
// Tool parameters
}
}
}datalake_insert
Insert data into an Iceberg table.
Tool Schema:
{
"name": "datalake_insert",
"description": "Insert data into an Iceberg table.",
"inputSchema": {
"type": "object",
"properties": {
// Tool parameters
}
}
}datalake_update
Update existing records in an Iceberg table.
Tool Schema:
{
"name": "datalake_update",
"description": "Update existing records in an Iceberg table.",
"inputSchema": {
"type": "object",
"properties": {
// Tool parameters
}
}
}datalake_delete
Delete records from an Iceberg table.
Tool Schema:
{
"name": "datalake_delete",
"description": "Delete records from an Iceberg table.",
"inputSchema": {
"type": "object",
"properties": {
// Tool parameters
}
}
}datalake_snapshot
Create a new snapshot for time-travel queries.
Tool Schema:
{
"name": "datalake_snapshot",
"description": "Create a new snapshot for time-travel queries.",
"inputSchema": {
"type": "object",
"properties": {
// Tool parameters
}
}
}datalake_timeTravel
Query data as it existed at a specific point in time.
Tool Schema:
{
"name": "datalake_timeTravel",
"description": "Query data as it existed at a specific point in time.",
"inputSchema": {
"type": "object",
"properties": {
// Tool parameters
}
}
}datalake_evolveSchema
Add, rename, or delete columns without rewriting data.
Tool Schema:
{
"name": "datalake_evolveSchema",
"description": "Add, rename, or delete columns without rewriting data.",
"inputSchema": {
"type": "object",
"properties": {
// Tool parameters
}
}
}datalake_listTables
List all tables in the catalog.
Tool Schema:
{
"name": "datalake_listTables",
"description": "List all tables in the catalog.",
"inputSchema": {
"type": "object",
"properties": {
// Tool parameters
}
}
}datalake_getSchema
Retrieve the schema for a specific table.
Tool Schema:
{
"name": "datalake_getSchema",
"description": "Retrieve the schema for a specific table.",
"inputSchema": {
"type": "object",
"properties": {
// Tool parameters
}
}
}Resources
datalake/created
Triggered when a new Iceberg data catalog is created.
Resource URI: datalake://created
datalake/deleted
Triggered when data lake is removed.
Resource URI: datalake://deleted
datalake/Table.created
Triggered when a new table is created in the catalog.
Resource URI: datalake://Table.created
datalake/Table.dropped
Triggered when a table is removed from the catalog.
Resource URI: datalake://Table.dropped
datalake/queried
Triggered when SQL query is executed via R2 SQL.
Resource URI: datalake://queried
datalake/Data.inserted
Triggered when data is inserted into a table.
Resource URI: datalake://Data.inserted
datalake/Data.updated
Triggered when records are updated in a table.
Resource URI: datalake://Data.updated
datalake/Data.deleted
Triggered when records are deleted from a table.
Resource URI: datalake://Data.deleted
datalake/Snapshot.created
Triggered when a new snapshot is created.
Resource URI: datalake://Snapshot.created
datalake/Query.timeTraveled
Triggered when historical data is queried.
Resource URI: datalake://Query.timeTraveled
datalake/Schema.evolved
Triggered when table schema is modified.
Resource URI: datalake://Schema.evolved
Usage with Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"datalake": {
"command": "npx",
"args": ["-y", "@dotdo/mcp", "serve", "datalake"]
}
}
}