Astra DB logo

Astra DB

Organization
datastax

An MCP server for Astra DB workloads

Publisherdatastax
Repositoryastra-db-mcp
LanguageTypeScript
Forks
22
Stars
38
Available tools
0
Transport typestdio
Categories
LicenseApache-2.0
Links
  • Connect tools to AI workflows

    Astra DB exposes MCP capabilities that can be used by compatible AI clients and agents.

  • 0 available tools

    Browse the callable actions below, including names and descriptions when provided by the server.

  • Ready-to-copy setup

    Use the installation snippets to configure this server in your preferred MCP client.

  • Open source signals

    38 stars and 22 forks from the linked repository.

Astra DB MCP Server

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.

Prerequisites

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:

  1. An Astra DB Application Token
  2. The Astra DB API Endpoint

To learn how to get these, please read the getting started docs.

Adding to an MCP client

Here's how you can add this server to your MCP client.

Claude Desktop

Claude Desktop

To add this to Claude Desktop, go to Preferences -> Developer -> Edit Config and add this JSON blob to claude_desktop_config.json:

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:

json
"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:

json
  "command": "cmd",
  "args": ["/k", "npx", "-y", "@datastax/astra-db-mcp"],

Cursor

Cursor

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.json that represents your Global MCP settings, and a project-specific .cursor/mcp.json file 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):

  • Name: Whatever you want
  • Type: Command
  • Command:
sh
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.

Available Tools

The server provides the following tools for interacting with Astra DB:

Collection Management

  • GetCollections: Get all collections in the database
  • CreateCollection: Create a new collection in the database (with vector support)
  • UpdateCollection: Update an existing collection in the database
  • DeleteCollection: Delete a collection from the database
  • EstimateDocumentCount: Get estimate of the number of documents in a collection

Record Operations

  • ListRecords: List records from a collection in the database
  • GetRecord: Get a specific record from a collection by ID
  • CreateRecord: Create a new record in a collection
  • UpdateRecord: Update an existing record in a collection
  • DeleteRecord: Delete a record from a collection
  • FindRecord: Find records in a collection by field value
  • FindDistinctValues: Find distinct values for a specific field in a collection

Bulk Operations

  • BulkCreateRecords: Create multiple records in a collection at once
  • BulkUpdateRecords: Update multiple records in a collection at once
  • BulkDeleteRecords: Delete multiple records from a collection at once

Vector Search

  • VectorSearch: Perform vector similarity search on vector embeddings
  • HybridSearch: Combine vector similarity search with text search

Utility

  • OpenBrowser: Open a web browser for authentication and setup
  • HelpAddToClient: Get assistance with adding Astra DB client to your MCP client

New Features and Capabilities

Vector Search Capabilities

The Astra DB MCP server now includes powerful vector search capabilities for AI applications:

VectorSearch

Perform similarity search on vector embeddings:

javascript
// 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
});

HybridSearch

Combine vector similarity search with text search for more accurate results:

javascript
// 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
});

Enhanced Collection Creation

The CreateCollection tool now supports more vector configuration options:

javascript
// 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"
});

Finding Distinct Values

The new FindDistinctValues tool allows you to find unique values for a field:

javascript
// Example usage
const distinctValues = await FindDistinctValues({
  collectionName: "my_collection",
  field: "category",                  // Field to find distinct values for
  filter: { active: true }            // Optional: Filter to apply
});

Optimized Bulk Operations

Bulk operations now use native batch processing for better performance:

javascript
// 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"]
});

Improved Error Handling

The server now provides more detailed error messages with error codes to help diagnose issues more easily.

Changelog

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.

Running evals

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.

bash
OPENAI_API_KEY=your-key  npx mcp-eval evals.ts tools.ts

❤️ Contributors

astra-db-mcp contributors

Badges

Astra DB MCP Server on Glama.ai

MseeP.ai Security Assessment

Verified on MseeP

Installation

TypingMind
Prerequisites:

Node.js 18+

{
  "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"
      }
    }
  }
}

Use Astra DB MCP with multiple AI models

TypingMind connects MCP tools at the workspace level, so once Astra DB is connected, you can use it with different AI models in TypingMind instead of setting it up separately for each model. This MCP runs locally through the TypingMind MCP connector on your device.

Setup guide to use the local connector

Use this when the MCP server needs access to local files, apps, or private resources on your computer.

1

Open the MCP settings

In TypingMind, go to Settings, Advanced Settings, then Model Context Protocol and choose Setup Connector.

  1. Open TypingMind in your browser.
  2. Click the Settings icon.
  3. Go to Advanced Settings.
  4. Open the Model Context Protocol section.
  5. Click Setup Connector and choose This Device.
TypingMind MCP connector setup screen with This Device selected
2

Run the connector command

Choose This Device, copy the command from TypingMind, and run it in Terminal. Keep the process running while you use MCP.

  1. Copy the setup command shown by TypingMind.
  2. Open Terminal on macOS or Windows Terminal on Windows.
  3. Paste and run the command.
  4. Approve the package install if Terminal asks you to proceed.
  5. Keep the Terminal window running while using MCP tools.
3

Add Astra DB as a server

When the connector status is Ready, click Edit Servers and paste the MCP server configuration.

  1. Wait until the connector status shows Ready.
  2. Click Edit Servers.
  3. Paste the Astra DB MCP server configuration.
  4. Save the server list.
  5. Refresh if you want to confirm the connector is still ready.
TypingMind MCP settings showing active server and Edit Servers button
{
  "mcpServers": {
    "astra-db": {
      "command": "npx",
      "args": [
        "-y",
        "@datastax/astra-db-mcp"
      ]
    }
  }
}
4

Use it across models

Save the server list, open Plugins, enable the Astra DB MCP tools, then select any supported AI model in TypingMind and use the tools in chat or assign them to an AI agent.

  1. Open the Plugins page in TypingMind.
  2. Enable the Astra DB MCP tools.
  3. Start a chat and choose the AI model you want to use.
  4. Use the MCP tools in chat or assign them to an AI agent.
  5. Switch to another AI model whenever needed without reconnecting MCP.
TypingMind chat using enabled MCP tools with a selected AI model
Can you use Astra DB to help me with this task?
Astra DB
Sure. I read it.
Here is what I found using Astra DB.

Frequently asked questions

What is the Astra DB MCP server used for?

Astra DB is an MCP server that lets compatible AI clients connect to external tools and context. In TypingMind, you can add this MCP server once and make its tools available in your AI workspace.

Can I use Astra DB MCP with multiple AI models in TypingMind?

Yes. TypingMind connects MCP tools at the workspace level, so you can use Astra DB with different AI models such as Claude, ChatGPT, Gemini, or other models you have configured in TypingMind without setting up the MCP server separately for each model.

Why use Astra DB MCP with TypingMind?

TypingMind is one of the best frontends for LLM chat because it brings multiple AI models, prompts, plugins, AI agents, API keys, and MCP tools into one workspace. With Astra DB connected, you can use its MCP tools across your preferred models while keeping your chat workflow organized in TypingMind.

How do I connect Astra DB MCP to TypingMind?

Astra DB runs through the TypingMind local MCP connector. This is best when the MCP server needs access to local files, desktop apps, command-line tools, or private resources on your computer.

What tools does Astra DB MCP provide in TypingMind?

Astra DB exposes MCP capabilities that can be enabled from the TypingMind Plugins page and used in chat or assigned to AI agents.

Do I need to share my API keys with TypingMind to use Astra DB MCP?

No. TypingMind is local-first and lets you keep your model providers, API keys, prompts, and MCP configuration under your control. If Astra DB requires authentication, add the required headers, OAuth settings, or local configuration for that MCP server when you create the connection.

Related MCP Servers

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇