内容
Cassandra MCP 服务器 <br>
该模型上下文协议(MCP)服务器将 Apache Cassandra 数据库与 Claude Desktop 集成,通过自然语言交互实现数据库操作。
<br>
<br>
1. 使用 NPX 运行 Cassandra MCP 服务器
首先,将您的软件包发布到 npm(或在本地使用)。
```
npx @sahil1115/mcp-cassandra-server
```
所需的环境变量(在运行前或在 `.env` 文件中设置):
```
export CASSANDRA_PASSWORD=your_password
export CASSANDRA_CONTACT_POINTS=host1,host2
export CASSANDRA_LOCAL_DC=your_datacenter
export CASSANDRA_KEYSPACE=your_keyspace # 可选
export CASSANDRA_USERNAME=your_username # 默认值为 "cassandra"
```
<br>
<br>
2. 添加到 Claude Desktop 配置
将以下内容添加到您的 Claude Desktop 配置文件(通常为 `claude-desktop.config.json`):
```
{
"tools": [
{
"name": "mcp-cassandra-server",
"command": "npx @sahil1115/mcp-cassandra-server",
"env": {
"CASSANDRA_PASSWORD": "your_password",
"CASSANDRA_CONTACT_POINTS": "host1,host2",
"CASSANDRA_LOCAL_DC": "your_datacenter",
"CASSANDRA_KEYSPACE": "your_keyspace"
},
"stdio": true
}
]
}
```
Cassandra MCP 服务器功能
该模型上下文协议(MCP)服务器提供 Apache Cassandra 数据库与 Claude Desktop 之间的集成,通过自然语言交互实现数据库操作。
工具
1. execute_query: 在 Cassandra 数据库上执行 CQL 查询
* 支持所有类型的 CQL 查询(SELECT、INSERT、UPDATE、DELETE)
* 以结构化格式返回查询结果
* 可以传递参数以防止注入攻击
2. create_table: 在 Cassandra 数据库中创建新表
* 定义表模式,包括列名和数据类型
* 配置主键(简单主键或复合主键,包括分区键和聚类键)
* 如果表不存在,则自动创建
3. insert_data: 向 Cassandra 表中插入数据
* 向现有表中添加新记录
* 支持所有 Cassandra 数据类型
* 自动将 JavaScript 类型转换为 Cassandra 类型
4. update_data: 更新 Cassandra 表中的现有数据
* 根据指定条件修改记录
* 在单个操作中更新多个列
* 使用参数化查询以确保安全
5. delete_data: 从 Cassandra 表中删除数据
* 根据指定条件删除记录
* 在单个操作中删除单个或多个记录
6. list_tables: 列出当前 keyspace 中的所有表
* 获取可用表的概览
* 快速进行模式发现
# 使用示例
以下是使用自然语言与 Cassandra 数据库交互的示例:
## 查询数据
您可以提出以下问题:
- "显示 'users' 表中的所有用户"
- "查找客户 'ABC123' 的最新 10 条订单"
- "'customers' 表中用户的平均年龄是多少?"
## 创建表
您可以给出以下指示:
- "创建一个新的 'products' 表,包含 id、name、price 和 category 列"
- "设置一个以 email 为主键的 users 表"
- "创建一个以 device_id 和 timestamp 为主键的时间序列表,用于存储温度读数"
## 插入数据
您可以请求以下数据插入:
- "添加一个名为 Sarah Smith 的新用户,邮箱为 sarah@example.com,年龄为 32"
- "插入一个 ID 为 12345、名称为 'Wireless Earbuds'、价格为 $99.99 的产品"
- "添加一个设备为 ABC、当前时间为 timestamp 的温度读数 72.5°F"
## 更新数据
您可以请求以下更新:
- "更新 john@example.com 的用户电话号码为 555-123-4567"
- "将产品 12345 的价格更改为 $89.99"
- "将客户 ABC123 的所有订单标记为 'shipped'"
## 删除数据
您可以请求以下删除操作:
- "删除邮箱为 john@example.com 的用户"
- "删除 'discontinued' 类别中的所有产品"
- "删除 2023 年 1 月 1 日之前的温度读数"
## 复杂操作
您可以使用自然语言执行更复杂的操作:
- "查找上个月在纽约的客户下的所有订单。"
- "按类别计算当前季度的总销售额。"
- "列出基于登录次数的前 5 名最活跃用户。"