关于 seedweaver-mcp
SeedWeaver 是根据 SQL DDL 或 JSON schema 生成关系一致的测试数据的 MCP 服务,面向需要准备数据库测试数据的开发者。它会处理外键与唯一约束,并可输出 SQL、JSON 或 CSV。
主要功能
- 01解析 SQL DDL 或 JSON schema
- 02按外键依赖顺序生成数据
- 03遵守主键、唯一和非空约束
- 04生成姓名、邮箱、日期等常见值
- 05输出 SQL、JSON 或 CSV
适用场景
- 01为带有关联表的数据库生成种子数据
- 02准备外键可解析的订单和用户记录
- 03根据 JSON schema 控制表行数与枚举
- 04生成可用于测试的 SQL 或 JSON 数据
MCP 相关
作为 MCP 服务,它向 MCP 客户端提供 schema 分析和测试数据生成工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
2收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| schema | string | 是 | 要分析的架构:原始 SQL DDL(CREATE TABLE ...)或包含 'tables' 数组的 JSON 架构对象。 |
详细介绍
SeedWeaver 🌱
直接通过 Claude、Cursor 或任何 MCP 客户端,根据真实数据库架构生成逼真且引用关系一致的测试数据。
粘贴你的 CREATE TABLE SQL(或 JSON 架构),SeedWeaver 就会生成种子数据,其中外键会指向实际存在的主键、符合唯一性约束,且值都很逼真(姓名、电子邮件、日期、小数)。与生成统计上随机垃圾数据的通用模拟数据工具不同,SeedWeaver 理解你的架构中的关系。
向 AI 提问:“为此架构生成 50 个用户和 200 个订单”——即可获得可立即运行的 INSERT 语句,其中每个
order.user_id都指向一个实际存在的用户。
为什么选择 SeedWeaver
大多数“虚假数据”工具(Faker 封装、随机生成器)生成的都是彼此孤立、不了解架构的数据行。一旦涉及外键,你就得重新手动处理关系。SeedWeaver:
- 解析外键 — 先生成被引用的表(按拓扑顺序),外键列会指向实际生成的键。
- 遵守约束 — 唯一列保持唯一,主键保持唯一,并遵守
NOT NULL。 - 读取真实架构 — 直接粘贴 Postgres/MySQL
CREATE TABLEDDL,无需手动配置。 - 生成逼真值 — 姓名、电子邮件、地址、公司、日期、小数、枚举值。
- 按需输出 — SQL
INSERT语句、JSON 或 CSV。
安装
npx -y seedweaver-mcp
添加到你的 MCP 客户端配置中(Claude Desktop / Cursor / Windsurf):
{
"mcpServers": {
"seedweaver": {
"command": "npx",
"args": ["-y", "seedweaver-mcp"]
}
}
}
工具
| 工具 | 功能 |
|---|---|
analyze_schema | 解析架构(SQL DDL 或 JSON),并报告表、列、关系和生成顺序。先运行此工具,确认 SeedWeaver 能正确读取你的架构。 |
generate_seed_data | 生成一致的测试数据。返回 SQL INSERT(默认)、JSON 或 CSV。 |
示例
根据 SQL DDL 生成:
Generate 20 rows of test data for:
CREATE TABLE users (
id UUID PRIMARY KEY,
email VARCHAR(255) UNIQUE NOT NULL,
full_name VARCHAR(100),
created_at TIMESTAMP
);
CREATE TABLE orders (
id SERIAL PRIMARY KEY,
user_id UUID NOT NULL REFERENCES users(id),
total DECIMAL(10,2),
status VARCHAR(20)
);
生成的每个 orders.user_id 都会是实际存在的 users.id。
根据 JSON 架构生成(可精细控制——枚举值、范围、每张表的行数):
{
"tables": [
{
"name": "users",
"rows": 20,
"columns": [
{ "name": "id", "type": "uuid", "primaryKey": true },
{ "name": "email", "type": "email", "unique": true },
{ "name": "name", "type": "fullName" }
]
},
{
"name": "orders",
"rows": 80,
"columns": [
{ "name": "id", "type": "serial", "primaryKey": true },
{ "name": "user_id", "type": "fk", "references": "users.id" },
{ "name": "total", "type": "decimal", "min": 5, "max": 500 },
{ "name": "status", "type": "enum", "values": ["pending", "paid", "shipped"] }
]
}
]
}
支持的列类型:uuid、serial、int、decimal、boolean、email、fullName、firstName、lastName、username、phone、address、city、country、company、url、word、sentence、paragraph、date、datetime、enum、fk。
免费版与 Pro 版
免费版功能齐全,适用于小型架构。Pro 版取消限制,并增加真实项目和 CI 所需的功能。
| 免费版 | Pro | |
|---|---|---|
| 每个架构的表数 | 2 | 无限制 |
| 每张表的行数 | 50 | 无限制 |
| 输出格式 | SQL、JSON | + CSV |
| 确定性种子(可复现的数据) | — | ✓ |
| 自定义区域设置 | — | ✓ |
| 用于 CI / 自动化 | — | ✓ |
→ 获取 SeedWeaver Pro — $19/mo
设置许可证密钥即可激活:
{
"mcpServers": {
"seedweaver": {
"command": "npx",
"args": ["-y", "seedweaver-mcp"],
"env": { "SEEDWEAVER_LICENSE": "your-key-here" }
}
}
}
许可证
SeedWeaver MCP 服务采用 MIT 许可证,可免费运行。Pro 功能需使用付费许可证密钥解锁。基于 Model Context Protocol 构建。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。