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_sessionFROM usersWHERE created_at > NOW() - INTERVAL '30 days'GROUP BY dayORDER BY day DESC;-- Agent 分析慢查询EXPLAIN (ANALYZE, BUFFERS, FORMAT JSON)SELECT * FROM ordersWHERE user_id = 12345AND 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 csvwith 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,然后分析每个类别的平均值、最大值和标准差。| 特性 | SQLite | PostgreSQL |
|---|---|---|
| 部署 | 零配置 | 需要服务器 |
| 并发 | 读多写少 | 高并发 |
| 适用 | 本地/原型 | 生产环境 |
| 性能 | 极快(单机) | 快(可扩展) |
3. Redis MCP Server 🔴
类别: 缓存与键值存储 协议: MCP
Redis 是高性能缓存和消息系统的标准选择。Agent 掌握 Redis,就能处理缓存、会话、队列、实时数据等场景。
能力说明:
- 键值操作(GET / SET / DEL / EXISTS)
- 数据结构操作(List / Hash / Set / Sorted Set)
- 发布订阅(Pub/Sub)
- 过期策略和内存管理
Agent 使用场景:
# Agent 管理缓存redis-cli SET user:1234 '{"name":"Raymin","role":"admin"}' EX 3600redis-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 对比:
| 特性 | Supabase | Firebase |
|---|---|---|
| 数据库 | 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 设计要点:
- 先确定访问模式,再设计表结构(与关系型数据库相反)
- 善用复合主键 (PK + SK) 实现一对多关系
- 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_rateFROM eventsWHERE event_time >= now() - INTERVAL 24 HOURGROUP BY hourORDER BY hour;典型指令:
在 ClickHouse 中分析最近 7 天的用户行为数据,计算每小时的独立用户数、转化率和收入趋势。ClickHouse vs PostgreSQL 分析查询性能:
| 查询类型 | PostgreSQL | ClickHouse |
|---|---|---|
| 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 对比:
| 特性 | Prisma | Drizzle |
|---|---|---|
| 查询风格 | 面向对象 | SQL-like |
| 类型安全 | ✅ 极强 | ✅ 极强 |
| 性能 | 中等 | 极快 |
| 学习曲线 | 平缓 | 需要 SQL 基础 |
| Schema 管理 | Prisma Migrate | Drizzle Kit |
| 生态成熟度 | 极高 | 快速成长 |
本篇小结
| # | Skill | 类别 | 难度 | 价值 |
|---|---|---|---|---|
| 1 | PostgreSQL MCP | 关系型数据库 | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| 2 | SQLite MCP | 嵌入式数据库 | ⭐ | ⭐⭐⭐⭐ |
| 3 | Redis MCP | 缓存 | ⭐⭐ | ⭐⭐⭐⭐⭐ |
| 4 | MongoDB MCP | 文档数据库 | ⭐⭐ | ⭐⭐⭐⭐ |
| 5 | Supabase MCP | BaaS | ⭐⭐ | ⭐⭐⭐⭐⭐ |
| 6 | DynamoDB MCP | NoSQL | ⭐⭐⭐ | ⭐⭐⭐⭐ |
| 7 | Elasticsearch MCP | 搜索引擎 | ⭐⭐⭐ | ⭐⭐⭐⭐ |
| 8 | ClickHouse MCP | 分析数据库 | ⭐⭐⭐ | ⭐⭐⭐⭐ |
| 9 | Firebase MCP | BaaS | ⭐⭐ | ⭐⭐⭐⭐ |
| 10 | Prisma / Drizzle | ORM | ⭐⭐ | ⭐⭐⭐⭐⭐ |
核心观点: 数据库 Skills 是 Agent 从”玩具”到”工具”的分水岭。一个能操作数据库的 Agent,可以构建完整的应用;不能操作数据库的 Agent,只能写写脚本。
系列导航
- 👈 上一篇: 第一篇:代码审查与质量守护
- 👉 下一篇: 第三篇:浏览器自动化与爬虫
- 📖 系列目录:
- 第一篇:代码审查与质量守护
- ✅ 第二篇:数据库与数据存储(你在这里)
- 第三篇:浏览器自动化与爬虫
- 第四篇:搜索与信息获取
- 第五篇:云服务与 DevOps
- 第六篇:知识管理与 RAG
- 第七篇:版本控制与协作
- 第八篇:文档与文件处理
- 第九篇:通信与通知集成
- 第十篇:创意与可视化
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!