100 个 Agent Skills 盘点(二):数据库与数据存储

2687 字
13 分钟
100 个 Agent Skills 盘点(二):数据库与数据存储

封面
封面

写在前面#

这是「100 个 Agent Skills 盘点」系列的第二篇。上一篇我们聊了代码审查,这一篇进入 Agent 的”数据层”——数据库与数据存储能力。

为什么数据库 Skills 对 Agent 至关重要?

因为几乎所有有价值的应用都离不开数据。Agent 如果不能与数据库交互,就只能做一个”代码生成器”,而不能做”应用构建者”。掌握数据库 Skills,意味着 Agent 能直接读写数据、调试查询、优化性能,甚至自动迁移 Schema。


1. PostgreSQL MCP Server 🐘#

类别: 关系型数据库 协议: MCP (Model Context Protocol)

PostgreSQL 是世界上最先进的开源关系型数据库。PostgreSQL MCP Server 让 Agent 能直接与 PG 交互,执行查询、管理 Schema、分析性能。

能力说明:

  • 执行 SQL 查询(SELECT / INSERT / UPDATE / DELETE)
  • 查看和修改表结构(CREATE / ALTER TABLE)
  • 分析查询计划(EXPLAIN ANALYZE)
  • 管理索引和约束

Agent 使用场景:

-- Agent 执行数据分析查询
SELECT
date_trunc('day', created_at) AS day,
COUNT(*) AS new_users,
AVG(session_duration) AS avg_session
FROM users
WHERE created_at > NOW() - INTERVAL '30 days'
GROUP BY day
ORDER BY day DESC;
-- Agent 分析慢查询
EXPLAIN (ANALYZE, BUFFERS, FORMAT JSON)
SELECT * FROM orders
WHERE user_id = 12345
AND status = 'pending';

典型指令:

查看 orders 表的结构,找出所有未建立索引的外键列,
并生成创建索引的 SQL 语句。

💡 核心价值: PostgreSQL MCP 是 Agent 数据能力的”瑞士军刀”,几乎所有关系型数据操作都能覆盖。


2. SQLite MCP Server 💎#

类别: 嵌入式数据库 协议: MCP

SQLite 是世界上部署最广泛的数据库——每部手机、每个浏览器里都有它。对 Agent 来说,它是本地数据处理的最佳选择。

能力说明:

  • 零配置、零依赖的本地数据库
  • 支持完整的 SQL 语法
  • 适合数据清洗、临时分析、原型开发
  • 单文件存储,便于 Agent 管理

Agent 使用场景:

# Agent 用 SQLite 做数据分析
import sqlite3
conn = sqlite3.connect(':memory:')
conn.execute('''
CREATE TABLE metrics (
name TEXT, value REAL, timestamp DATETIME
)
''')
# 导入 CSV 数据进行分析
import csv
with open('data.csv') as f:
reader = csv.DictReader(f)
for row in reader:
conn.execute(
'INSERT INTO metrics VALUES (?, ?, ?)',
(row['name'], float(row['value']), row['ts'])
)
# Agent 运行分析查询
result = conn.execute('''
SELECT name, AVG(value), MAX(value), MIN(value)
FROM metrics
GROUP BY name
ORDER BY AVG(value) DESC
''').fetchall()

典型指令:

把这个 CSV 文件导入 SQLite,然后分析每个类别的
平均值、最大值和标准差。
特性SQLitePostgreSQL
部署零配置需要服务器
并发读多写少高并发
适用本地/原型生产环境
性能极快(单机)快(可扩展)

3. Redis MCP Server 🔴#

类别: 缓存与键值存储 协议: MCP

Redis 是高性能缓存和消息系统的标准选择。Agent 掌握 Redis,就能处理缓存、会话、队列、实时数据等场景。

能力说明:

  • 键值操作(GET / SET / DEL / EXISTS)
  • 数据结构操作(List / Hash / Set / Sorted Set)
  • 发布订阅(Pub/Sub)
  • 过期策略和内存管理

Agent 使用场景:

Terminal window
# Agent 管理缓存
redis-cli SET user:1234 '{"name":"Raymin","role":"admin"}' EX 3600
redis-cli GET user:1234
# Agent 查看缓存命中率
redis-cli INFO stats | grep -E "keyspace_hits|keyspace_misses"
# Agent 清理过期缓存
redis-cli --scan --pattern "cache:*" | head -20
# Agent 实现分布式锁
import redis
r = redis.Redis()
lock = r.lock("my-resource", timeout=10)
if lock.acquire(blocking=True):
try:
# 临界区操作
process_data()
finally:
lock.release()

典型指令:

检查 Redis 的内存使用情况,找出占用内存最多的 10 个 key,
并分析是否有可以清理的过期数据。

常见 Redis 数据结构应用:

数据结构应用场景示例
String缓存、计数器SET page:views 1000
Hash对象存储HSET user:1 name "Raymin"
List消息队列LPUSH queue:tasks "task1"
Set标签、去重SADD post:1:tags "python"
Sorted Set排行榜ZADD leaderboard 100 "player1"

4. MongoDB MCP Server 🍃#

类别: 文档数据库 协议: MCP

MongoDB 的灵活 Schema 使它成为快速迭代项目的首选。Agent 可以直接操作文档、聚合数据、管理索引。

能力说明:

  • CRUD 操作(find / insertOne / updateOne / deleteOne)
  • 聚合管道(aggregate pipeline)
  • 索引管理
  • Schema 分析

Agent 使用场景:

// Agent 使用聚合管道分析数据
db.orders.aggregate([
{ $match: { status: "completed", date: { $gte: ISODate("2026-01-01") } } },
{ $group: {
_id: "$category",
totalRevenue: { $sum: "$amount" },
avgOrderValue: { $avg: "$amount" },
orderCount: { $sum: 1 }
}},
{ $sort: { totalRevenue: -1 } },
{ $limit: 10 }
]);

典型指令:

分析 orders 集合中最近 30 天的数据,
按类别汇总销售额,找出增长最快的产品类别。

5. Supabase MCP Server ⚡#

类别: 后端即服务 (BaaS) 协议: MCP

Supabase = PostgreSQL + 实时订阅 + 认证 + 存储 + Edge Functions。它是 Firebase 的开源替代,Agent 可以用它快速构建完整后端。

能力说明:

  • 数据库操作(基于 PostgreSQL)
  • 用户认证管理
  • 文件存储
  • 实时数据订阅
  • Edge Functions 部署

Agent 使用场景:

// Agent 创建 Supabase 表和 RLS 策略
const { data, error } = await supabase
.from('posts')
.select(`
id, title, content,
author:profiles(name, avatar),
comments(count)
`)
.eq('status', 'published')
.order('created_at', { ascending: false })
.range(0, 9);

典型指令:

在 Supabase 中创建一个博客系统的基础表结构,
包括 posts、comments、profiles 表,
并配置 RLS 策略确保用户只能编辑自己的内容。

Supabase vs Firebase 对比:

特性SupabaseFirebase
数据库PostgreSQL (关系型)Firestore (文档型)
开源✅ 完全开源❌ 闭源
实时基于 PostgreSQL CDC原生支持
查询语言SQL专有查询 API
自托管✅ 支持❌ 不支持

6. DynamoDB MCP Server 🏗️#

类别: NoSQL 键值/文档存储 协议: MCP

AWS DynamoDB 是 Serverless 架构的标配数据库。Agent 掌握 DynamoDB 就能构建高可用、自动扩展的应用。

能力说明:

  • PutItem / GetItem / Query / Scan 操作
  • 二级索引(GSI / LSI)管理
  • 容量模式切换(On-demand / Provisioned)
  • DynamoDB Streams 处理

Agent 使用场景:

# Agent 设计 DynamoDB 数据模型
import boto3
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('UserActivities')
# 单表设计:一个表服务多种访问模式
table.put_item(Item={
'PK': 'USER#12345',
'SK': 'ACTIVITY#2026-06-10T10:00:00',
'type': 'login',
'ip': '192.168.1.1',
'device': 'iPhone',
'ttl': int(time.time()) + 86400 * 90 # 90天过期
})

典型指令:

为一个社交应用设计 DynamoDB 单表数据模型,
需要支持:按用户查询动态、按时间排序、按标签搜索。

⚠️ DynamoDB 设计要点:

  1. 先确定访问模式,再设计表结构(与关系型数据库相反)
  2. 善用复合主键 (PK + SK) 实现一对多关系
  3. GSI 是访问模式扩展的关键,但有额外成本

7. Elasticsearch MCP Server 🔎#

类别: 搜索引擎 协议: MCP

Elasticsearch 是全文搜索和日志分析的行业标准。Agent 用它可以构建搜索引擎、分析日志、做数据可视化。

能力说明:

  • 全文搜索(match / fuzzy / wildcard)
  • 聚合分析(terms / histogram / percentile)
  • 索引管理(mapping / settings / aliases)
  • 管道处理(ingest pipeline)

Agent 使用场景:

// Agent 构建搜索查询
{
"query": {
"bool": {
"must": [
{ "match": { "title": "AI agent skills" } }
],
"filter": [
{ "range": { "published_at": { "gte": "2026-01-01" } } },
{ "term": { "status": "published" } }
]
}
},
"highlight": {
"fields": { "title": {}, "content": {} }
},
"sort": [{ "_score": "desc" }, { "published_at": "desc" }],
"size": 20
}

典型指令:

在 Elasticsearch 中搜索包含 "MCP server" 的文章,
按相关性排序,高亮显示匹配的片段,
并按发布时间聚合出每月的文章数量。

8. ClickHouse MCP Server ⚡#

类别: 列式分析数据库 协议: MCP

ClickHouse 是 OLAP 领域的性能王者。Agent 用它处理海量数据分析查询,速度比传统数据库快 100-1000 倍。

能力说明:

  • 高性能聚合查询
  • 列式存储优化
  • 实时数据导入
  • 物化视图

Agent 使用场景:

-- Agent 在 ClickHouse 中做实时分析
SELECT
toStartOfHour(event_time) AS hour,
uniqExact(user_id) AS unique_users,
countIf(event_type = 'purchase') AS purchases,
sumIf(amount, event_type = 'purchase') AS revenue,
round(purchases / unique_users * 100, 2) AS conversion_rate
FROM events
WHERE event_time >= now() - INTERVAL 24 HOUR
GROUP BY hour
ORDER BY hour;

典型指令:

在 ClickHouse 中分析最近 7 天的用户行为数据,
计算每小时的独立用户数、转化率和收入趋势。

ClickHouse vs PostgreSQL 分析查询性能:

查询类型PostgreSQLClickHouse
10 亿行 COUNT~30 秒~0.3 秒
多维聚合~60 秒~1 秒
时间序列分析~45 秒~0.5 秒

9. Firebase MCP Server 🔥#

类别: 后端即服务 协议: MCP

Firebase 是 Google 的移动和 Web 应用开发平台。Agent 用它可以快速构建实时应用,无需管理服务器。

能力说明:

  • Firestore 文档操作
  • 实时数据同步
  • 用户认证(Email / Google / Phone)
  • Cloud Functions 部署
  • Hosting 管理

Agent 使用场景:

// Agent 构建实时聊天功能
import { collection, onSnapshot, addDoc, query, orderBy } from 'firebase/firestore';
// 实时监听消息
const messagesRef = collection(db, 'rooms', roomId, 'messages');
const q = query(messagesRef, orderBy('createdAt', 'asc'));
onSnapshot(q, (snapshot) => {
snapshot.docChanges().forEach((change) => {
if (change.type === 'added') {
displayMessage(change.doc.data());
}
});
});
// 发送消息
await addDoc(messagesRef, {
text: messageText,
userId: currentUser.uid,
createdAt: serverTimestamp()
});

典型指令:

使用 Firebase 构建一个实时协作白板应用的后端,
支持多人同时绘制、实时同步、历史记录回放。

10. Prisma / Drizzle ORM 🧬#

类别: 数据库 ORM 协议: 直接集成

ORM 让 Agent 用面向对象的方式操作数据库,不用写原生 SQL。Prisma 和 Drizzle 是 TypeScript 生态中最流行的两个选择。

能力说明:

  • 类型安全的数据库查询
  • Schema 迁移管理
  • 关系映射
  • 数据库无关性

Agent 使用场景:

// Prisma - Agent 生成类型安全的查询
const usersWithOrders = await prisma.user.findMany({
where: {
orders: {
some: {
status: 'completed',
amount: { gte: 100 }
}
}
},
include: {
orders: {
where: { status: 'completed' },
orderBy: { createdAt: 'desc' },
take: 5
},
_count: { select: { orders: true } }
}
});
// Drizzle - 更接近 SQL 的体验
const result = await db
.select({
userId: users.id,
name: users.name,
orderCount: sql<number>`count(${orders.id})`,
totalSpent: sql<number>`sum(${orders.amount})`
})
.from(users)
.leftJoin(orders, eq(users.id, orders.userId))
.groupBy(users.id)
.having(sql`count(${orders.id}) > 5`)
.orderBy(desc(sql`sum(${orders.amount})`));

Prisma vs Drizzle 对比:

特性PrismaDrizzle
查询风格面向对象SQL-like
类型安全✅ 极强✅ 极强
性能中等极快
学习曲线平缓需要 SQL 基础
Schema 管理Prisma MigrateDrizzle Kit
生态成熟度极高快速成长

本篇小结#

#Skill类别难度价值
1PostgreSQL MCP关系型数据库⭐⭐⭐⭐⭐⭐⭐⭐
2SQLite MCP嵌入式数据库⭐⭐⭐⭐⭐
3Redis MCP缓存⭐⭐⭐⭐⭐⭐⭐
4MongoDB MCP文档数据库⭐⭐⭐⭐⭐⭐
5Supabase MCPBaaS⭐⭐⭐⭐⭐⭐⭐
6DynamoDB MCPNoSQL⭐⭐⭐⭐⭐⭐⭐
7Elasticsearch MCP搜索引擎⭐⭐⭐⭐⭐⭐⭐
8ClickHouse MCP分析数据库⭐⭐⭐⭐⭐⭐⭐
9Firebase MCPBaaS⭐⭐⭐⭐⭐⭐
10Prisma / DrizzleORM⭐⭐⭐⭐⭐⭐⭐

核心观点: 数据库 Skills 是 Agent 从”玩具”到”工具”的分水岭。一个能操作数据库的 Agent,可以构建完整的应用;不能操作数据库的 Agent,只能写写脚本。


系列导航#

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
100 个 Agent Skills 盘点(二):数据库与数据存储
https://blog.lraymin.cn/posts/agent-skills-database/
作者
Claude
发布于
2026-06-18
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
Raymin
Code & Input & Output
公告
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
标签
站点统计
文章
14
分类
4
标签
44
总字数
28,713
运行时长
0 天
最后活动
0 天前

文章目录