Skip to main content
Glama

DataDabble MCP Server

A Model Context Protocol (MCP) server that wraps the DataDabble REST API, enabling Claude and other MCP clients to manage databases, fields, entries, visualizations, AI features, notifications, audit logs, and team accounts via natural language.

The server communicates with DataDabble's REST API rather than accessing MongoDB directly, respecting auth, validation, and business logic in the app layer.

Quick Start

Prerequisites

  • Python 3.11+

  • A running DataDabble instance (default: http://localhost:5000)

Install

pip install -e .

Configure

Copy .env.example to .env and set your values:

DATADABBLE_BASE_URL=http://localhost:5000/api/v1
DATADABBLE_EMAIL=user@example.com
DATADABBLE_PASSWORD=password
DATADABBLE_AUTO_LOGIN=true

Run

# As a module
python -m datadabble_mcp

# Or via the entry point
datadabble-mcp

Related MCP server: Airtable MCP Pro

Claude Desktop Configuration

Add to your Claude Desktop config (claude_desktop_config.json):

{
  "mcpServers": {
    "datadabble": {
      "command": "python",
      "args": ["-m", "datadabble_mcp"],
      "env": {
        "DATADABBLE_BASE_URL": "http://localhost:5000/api/v1",
        "DATADABBLE_EMAIL": "user@example.com",
        "DATADABBLE_PASSWORD": "password"
      }
    }
  }
}

Tools (42)

Auth (4)

Tool

Description

auth_login

Log in with email and password

auth_logout

Log out and clear tokens

auth_whoami

Get current user profile

auth_register

Register a new account

Databases (5)

Tool

Description

db_list

List all databases

db_create

Create a new database

db_get

Get a database by slug

db_update

Update title or description

db_delete

Delete a database

Fields (7)

Tool

Description

field_list

List fields in a database

field_create

Add a field (BOOL, INT, DEC, STR, DATE, EMAIL, URL, DICT, LIST)

field_get

Get a field by ID

field_update

Update a field (with optional data loss confirmation)

field_delete

Delete a field

field_reorder

Reorder fields

field_preview_type_change

Preview impact of changing a field's type

Entries (6)

Tool

Description

entry_list

List entries with pagination and filtering

entry_create

Create an entry

entry_get

Get an entry by ID

entry_update

Update an entry's values

entry_delete

Delete an entry

entry_validate_filter

Validate a filter expression

Visualizations (7)

Tool

Description

viz_list

List saved visualizations

viz_create

Create a visualization (bar, line, pie, scatter)

viz_get

Get a visualization by ID

viz_update

Update a visualization

viz_delete

Delete a visualization

viz_data

Get computed data for a visualization

viz_adhoc_data

Get visualization data without saving

AI (3)

Tool

Description

ai_insights

Get AI-generated insights about a database

ai_ask

Ask a natural language question about data

ai_suggest_query

Get a suggested filter from a description

Notifications (7)

Tool

Description

notification_list

List notifications

notification_unread_count

Get unread count

notification_mark_read

Mark one as read

notification_mark_all_read

Mark all as read

notification_delete

Delete a notification

notification_prefs_get

Get notification preferences

notification_prefs_update

Update notification preferences

Audit Logs (6)

Tool

Description

audit_list

List audit logs for a database

audit_stats

Get audit statistics for a database

audit_account_list

List account-level audit logs

audit_account_stats

Get account-level audit statistics

audit_account_users

List users in audit logs

audit_export

Export audit logs as CSV

Accounts & Teams (7)

Tool

Description

account_get

Get current account details

account_list

List all accounts

account_switch

Switch account context

account_members

List team members

account_invite

Invite a user by email

account_update_member

Update a member's role/permissions

account_remove_member

Remove a team member

Resources

URI

Description

datadabble://field-types

Field type reference

datadabble://filter-syntax

Filter expression language reference

datadabble://databases

List all databases (live)

datadabble://databases/{slug}

Database schema with fields and entry count

datadabble://databases/{slug}/sample

First 10 entries for context

Prompts

Name

Description

create-database

Create a database and add fields from a spec

analyze-database

Fetch schema, sample data, and AI insights

query-builder

Build a filter expression from natural language

bulk-create-entries

Create multiple entries from a JSON array

Development

# Install with dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Lint
ruff check src/ tests/

Architecture

src/datadabble_mcp/
├── server.py          # FastMCP server, lifespan, entry point
├── config.py          # Environment variable configuration
├── auth.py            # JWT auth manager (login, refresh, logout)
├── client.py          # httpx client with auth injection + auto-refresh
├── resources.py       # MCP resources (field types, filter syntax, schemas)
├── prompts.py         # MCP prompts (workflow templates)
└── tools/
    ├── auth_tools.py
    ├── database_tools.py
    ├── field_tools.py
    ├── entry_tools.py
    ├── viz_tools.py
    ├── ai_tools.py
    ├── notification_tools.py
    ├── audit_tools.py
    └── account_tools.py

The server uses stdio transport and auto-logs in on startup when credentials are configured. All API errors are returned as structured dicts (never raised as exceptions), so MCP clients always get a useful response.

F
license - not found
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/adamklockars/datadabble-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server