AI Data MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DATA_MCP_HTTP_TOKEN | No | Bearer token required when using the optional shared HTTP transport. Set it in both the server and client environments and run npm run start:http. The service listens only on loopback; /mcp requires this token. Not required for the default STDIO transport. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| mysql_list_connectionsA | List configured MySQL connection IDs, environments, databases, and effective access modes. Passwords are never returned. Use this before other tools when the connection ID is unknown. |
| mysql_list_tablesA | List tables and views in a MySQL schema with pagination and an optional name filter. Returns table type, engine, row estimate, and storage size. This tool is read-only in every environment. |
| mysql_describe_tableA | Inspect columns and indexes for one exact MySQL table or view. Returns types, nullability, defaults, comments, and ordered index columns. This tool is read-only in every environment. |
| mysql_queryA | Run exactly one parameterized read-only MySQL statement. Works in every environment, including prod. Data MCP rejects writes, locking reads, file access, session mutation, multiple statements, and selected resource-exhaustion functions; it also runs the statement in a read-only transaction and caps returned data. |
| mysql_executeA | Execute one parameterized DML or DDL statement on a non-production connection. Never runs against a connection marked prod. Use mysql_execute_transaction for atomic multi-statement DML; run DDL separately because MySQL may implicitly commit it. |
| mysql_execute_transactionA | Atomically execute 1-20 parameterized INSERT, REPLACE, UPDATE, or DELETE statements on one non-production connection. Rolls back on the first error. Prod, DDL, reads, transaction control, and session control are rejected. |
| redis_list_connectionsA | List configured Redis connection IDs, environments, logical databases, and effective access modes. Passwords are never returned. |
| redis_scan_keysA | Incrementally scan Redis keys without using the blocking KEYS command. Returns the next cursor and a bounded page of keys. |
| redis_commandA | Run one explicitly allowlisted read-only Redis command with tokenized arguments. KEYS, scripting, administration, pub/sub, transactions, blocking operations, and all mutations are rejected. |
| redis_executeA | Execute one explicitly allowlisted Redis mutation on a non-production connection. Production, scripts, transactions, administration, pub/sub, flush, and arbitrary commands are rejected. |
| mongo_list_connectionsA | List configured MongoDB connection IDs, environments, databases, and effective access modes. Connection URIs and credentials are never returned. |
| mongo_list_collectionsB | List MongoDB collections and metadata with a bounded result size and optional case-insensitive name filter. |
| mongo_findA | Run a bounded MongoDB find query with filter, projection, sort, skip, and max-time controls. This tool is read-only in every environment. |
| mongo_count_documentsB | Count documents matching a MongoDB filter with a bounded max execution time. This tool is read-only in every environment. |
| mongo_aggregateA | Run a bounded read-only MongoDB aggregation. Data MCP recursively rejects $out and $merge stages and appends a result limit. |
| mongo_insert_oneA | Insert one document into a non-production MongoDB collection. Production connections are always read-only. |
| mongo_update_manyA | Update matching documents in a non-production collection. Empty filters require allow_all=true; production is always blocked. |
| mongo_delete_manyA | Delete matching documents from a non-production collection. Empty filters require allow_all=true; production is always blocked. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 18 tools
Tools are cleanly separated by database prefix (mysql_, mongo_, redis_) and distinct actions (list, describe, query, execute, find, aggregate, insert, update, delete). Read vs write vs specialized operations are clearly delineated in descriptions, leaving no meaningful ambiguity.
All names follow a consistent snake_case pattern with a database prefix and verb-based naming. Minor verb variations (query/find/command) are conventional for each database and do not break predictability.
18 tools across three databases (MySQL, MongoDB, Redis) is well-scoped; each database has a focused set covering essential read/write operations without redundancy. The count is justified by the multi-database purpose.
Covers core CRUD for MySQL (via execute), MongoDB, and Redis (via allowlisted commands), with safety constraints. Minor gaps include no batch insert for MongoDB, no single-document update/delete, and no explicit Redis key deletion/expiration tools.