MCP server
by datastax
Astra DB offers cloud-native, scalable data storage and retrieval for AI apps, with seamless integration like AWS RDS an
Connects LLMs to Astra DB for cloud-native database operations. Enables AI applications to store and retrieve data from DataStax's managed database service.
Astra DB is an official MCP server published by datastax that provides AI assistants with tools and capabilities via the Model Context Protocol. Astra DB offers cloud-native, scalable data storage and retrieval for AI apps, with seamless integration like AWS RDS an It is categorized under databases.
You can install Astra DB in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.
Apache-2.0
Astra DB is released under the Apache-2.0 license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.
Enable Claude to query your database directly using natural language
Example
Ask 'Show me top 10 customers by revenue this month' and get SQL results instantly
Eliminate manual SQL writing for ad-hoc queries, get insights 10x faster
Generate complex reports and analytics without leaving conversation
Example
Analyze sales trends, cohort retention, user behavior patterns conversationally
Democratize data access—non-technical team members can query databases
Understand database structure, relationships, and data models
Example
'Explain the user_orders table schema and its relationships'
Onboard engineers faster, explore unfamiliar databases efficiently
Share your MCP server with the developer community
Useful MCP listing: Astra DB is the kind of server we cite when onboarding engineers to host + tool permissions.
Astra DB is among the better-indexed MCP projects we tried; the explainx.ai summary tracks the official description.
Astra DB is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.
Astra DB reduced integration guesswork — categories and install configs on the listing matched the upstream repo.
According to our notes, Astra DB benefits from clear Model Context Protocol framing — fewer ambiguous “AI plugin” claims.
We wired Astra DB into a staging workspace; the listing’s GitHub and npm pointers saved time versus hunting across READMEs.
According to our notes, Astra DB benefits from clear Model Context Protocol framing — fewer ambiguous “AI plugin” claims.
We evaluated Astra DB against two servers with overlapping tools; this profile had the clearer scope statement.
Strong directory entry: Astra DB surfaces stars and publisher context so we could sanity-check maintenance before adopting.
Astra DB has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.
showing 1-10 of 73
A Model Context Protocol (MCP) server for interacting with Astra DB. MCP extends the capabilities of Large Language Models (LLMs) by allowing them to interact with external systems as agents.
You need to have a running Astra DB database. If you don't have one, you can create a free database here. From there, you can get two things you need:
To learn how to get these, please read the getting started docs.
Here's how you can add this server to your MCP client.

To add this to Claude Desktop, go to Preferences -> Developer -> Edit Config and add this JSON blob to claude_desktop_config.json:
{
"mcpServers": {
"astra-db-mcp": {
"command": "npx",
"args": ["-y", "@datastax/astra-db-mcp"],
"env": {
"ASTRA_DB_APPLICATION_TOKEN": "your_astra_db_token",
"ASTRA_DB_API_ENDPOINT": "your_astra_db_endpoint"
}
}
}
}
Optional Keyspace Configuration:
By default, this server uses the keyspace configured in the underlying Astra DB library (typically default_keyspace). If you need to connect to a specific keyspace, you can add the ASTRA_DB_KEYSPACE variable to the env object above, like so:
"env": {
"ASTRA_DB_APPLICATION_TOKEN": "your_astra_db_token",
"ASTRA_DB_API_ENDPOINT": "your_astra_db_endpoint",
"ASTRA_DB_KEYSPACE": "your_desired_keyspace"
}
Windows PowerShell Users:
npx is a batch command so modify the JSON as follows:
"command": "cmd",
"args": ["/k", "npx", "-y", "@datastax/astra-db-mcp"],

To add this to Cursor, go to Settings -> Cursor Settings -> MCP
From there, you can add the server by clicking the "+ Add New MCP Server" button, where you should be brought to an mcp.json file.
Tip: there is a
~/.cursor/mcp.jsonthat represents your Global MCP settings, and a project-specific.cursor/mcp.jsonfile that is specific to the project. You probably want to install this MCP server into the project-specific file.
Add the same JSON as indiciated in the Claude Desktop instructions.
Alternatively you may be presented with a wizard, where you can enter the following values (for Unix-based systems):
env ASTRA_DB_APPLICATION_TOKEN=your_astra_db_token ASTRA_DB_API_ENDPOINT=your_astra_db_endpoint npx -y @datastax/astra-db-mcp
Note: ASTRA_DB_KEYSPACE is optional. If omitted, the default keyspace configured in the Astra DB library will be used.
Once added, your editor will be fully connected to your Astra DB database.
The server provides the following tools for interacting with Astra DB:
GetCollections: Get all collections in the databaseCreateCollection: Create a new collection in the database (with vector support)UpdateCollection: Update an existing collection in the databaseDeleteCollection: Delete a collection from the databaseEstimateDocumentCount: Get estimate of the number of documents in a collectionListRecords: List records from a collection in the databaseGetRecord: Get a specific record from a collection by IDCreateRecord: Create a new record in a collectionUpdateRecord: Update an existing record in a collectionDeleteRecord: Delete a record from a collectionFindRecord: Find records in a collection by field valueFindDistinctValues: Find distinct values for a specific field in a collectionBulkCreateRecords: Create multiple records in a collection at onceBulkUpdateRecords: Update multiple records in a collection at onceBulkDeleteRecords: Delete multiple records from a collection at onceVectorSearch: Perform vector similarity search on vector embeddingsHybridSearch: Combine vector similarity search with text searchOpenBrowser: Open a web browser for authentication and setupHelpAddToClient: Get assistance with adding Astra DB client to your MCP clientThe Astra DB MCP server now includes powerful vector search capabilities for AI applications:
Perform similarity search on vector embeddings:
// Example usage
const results = await VectorSearch({
collectionName: "my_vector_collection",
queryVector: [0.1, 0.2, 0.3, ...], // Your embedding vector
limit: 5, // Optional: Number of results to return (default: 10)
minScore: 0.7, // Optional: Minimum similarity score threshold
filter: { category: "article" } // Optional: Additional filter criteria
});
Combine vector similarity search with text search for more accurate results:
// Example usage
const results = await HybridSearch({
collectionName: "my_vector_collection",
queryVector: [0.1, 0.2, 0.3, ...], // Your embedding vector
textQuery: "climate change", // Text query to search for
weights: { // Optional: Weights for hybrid search
vector: 0.7, // Weight for vector similarity (0.0-1.0)
text: 0.3 // Weight for text relevance (0.0-1.0)
},
limit: 5, // Optional: Number of results to return
fields: ["title", "content"] // Optional: Fields to search in for text query
});
The CreateCollection tool now supports more vector configuration options:
// Example usage
const result = await CreateCollection({
collectionName: "my_vector_collection",
vector: true, // Enable vector search
dimension: 1536, // Vector dimension (e.g., 1536 for OpenAI embeddings)
metric: "cosine" // Similarity metric: "cosine", "euclidean", or "dot_product"
});
The new FindDistinctValues tool allows you to find unique values for a field:
// Example usage
const distinctValues = await FindDistinctValues({
collectionName: "my_collection",
field: "category", // Field to find distinct values for
filter: { active: true } // Optional: Filter to apply
});
Bulk operations now use native batch processing for better performance:
// Example: Bulk create records
const result = await BulkCreateRecords({
collectionName: "my_collection",
records: [
{ title: "Record 1", content: "Content 1" },
{ title: "Record 2", content: "Content 2" },
// ... more records
]
});
// Example: Bulk update records
const updateResult = await BulkUpdateRecords({
collectionName: "my_collection",
records: [
{ id: "record1", record: { title: "Updated Title 1" } },
{ id: "record2", record: { title: "Updated Title 2" } },
// ... more records
]
});
// Example: Bulk delete records
const deleteResult = await BulkDeleteRecords({
collectionName: "my_collection",
recordIds: ["record1", "record2", "record3"]
});
The server now provides more detailed error messages with error codes to help diagnose issues more easily.
All notable changes to this project will be documented in this file. The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
The evals package loads an mcp client that then runs the index.ts file, so there is no need to rebuild between tests. You can load environment variables by prefixing the npx command. Full documentation can be found here.
OPENAI_API_KEY=your-key npx mcp-eval evals.ts tools.ts
Run data quality queries to catch anomalies and inconsistencies
Example
Find duplicate records, missing values, orphaned foreign keys automatically
Maintain data integrity with less manual SQL work
Prerequisites
Time Estimate
15-30 minutes including configuration and testing
Steps
Troubleshooting
✓ Do
✗ Don't
💡 Pro Tips
Architecture
MCP server acts as bridge between Claude and database, translating natural language to SQL queries and returning results in structured format.
Protocols
Compatibility
✓ Use when
Use for ad-hoc data queries, exploratory analysis, report generation, schema exploration, and democratizing data access. Best for read-heavy analytics workloads.
✗ Avoid when
Avoid for production write operations, mission-critical transactions, real-time OLTP workloads, or when database contains sensitive PII without proper access controls. Use read replicas, not primary.