Token导航 LogoToken导航TokenDH.com
Weaver MCP logo
运维云端stdio官方级别未说明来源级核验

Weaver MCP

MCP Server

Weaver MCP是一款数据统一与实体解析工具,通过多阶段流程将异构数据源转换为去重后的黄金记录,支持自动化管道和交互式调试。

工具数

23

提示词数

0

GitHub Stars

0

资源数

0
PythonClaude云端部署Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

adrianmoses

提供方

adrianmoses

最后核验

2026/5/17 20:23

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run weaver-mcp

详细介绍

Weaver MCP

MCP服务器 数据统一和实体解析.将异构数据源转换为统一的、重复数据消除的黄金记录。

概述

Weaver提供了一个完整的实体解析管道作为MCP工具,让Claude(或任何MCP客户端)编排:

  • 配置文件数据源 -了解数据质量、空值、基数和模式对齐
  • 生成候选配对 -高效阻塞以避免O(n²)比较
  • 得分比赛 -具有可解释性的可配置匹配规则
  • 解析实体 -基于图的统一实体聚类
  • 创造黄金纪录 -完整来源的幸存者规则
  • 分析结果 -LLM驱动的洞察和异常检测

建筑

Sources (CSV/Parquet/JSON)
        │
        ▼
  ┌─────────────┐
  │  1. Ingest   │  ← Schema detection, normalization, profiling
  │  & Profile   │
  └──────┬──────┘
         ▼
  ┌─────────────┐
  │ 2. Blocking  │  ← Candidate pair generation
  └──────┬──────┘
         ▼
  ┌─────────────┐
  │ 3. Matching  │  ← Pairwise scoring with explainability
  └──────┬──────┘
         ▼
  ┌─────────────┐
  │ 4. Resolve   │  ← Graph clustering into entities
  └──────┬──────┘
         ▼
  ┌─────────────┐
  │ 5. Golden    │  ← Survivorship rules, provenance
  │   Record     │
  └──────┬──────┘
         ▼
  ┌─────────────┐
  │ 6. Insights  │  ← LLM-powered analysis, reports
  └─────────────┘

Claude通过MCP协调这些组件,实现以下两个功能:

  • 自动化管道 -以最少的干预实现端到端的统一
  • 交互式调试 -问“为什么这些记录不匹配?”

安装

开发设置

# Clone the repository
git clone https://github.com/yourusername/weaver-mcp.git
cd weaver-mcp

# Install dependencies (requires Python 3.11+)
uv sync

# Run the server directly
uv run weaver-mcp

与Claude Desktop一起使用

添加到您的 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):

{
  "mcpServers": {
    "weaver": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/weaver-mcp", "weaver-mcp"]
    }
  }
}

重新启动克劳德桌面。您应该看到Weaver工具可用。

使用Claude代码

适用于任何兼容MCP的客户端。检查您的工具文档以了解MCP服务器配置。

可用工具

阶段0:分析(完成)

工具说明
profile_data_source分析CSV/Parquet的质量指标并筛选关键候选人

第一阶段:多源支持(进行中)

工具说明
ingest_source使用别名和元数据注册数据源
list_sources列出会话中所有已注册的源
analyze_schema_alignment跨源比较模式,建议映射
profile_attribute_distribution深入了解列值分布

第二阶段:封锁

工具说明
suggest_blocking_keys推荐阻断策略(精确、语音、n元语法)
generate_candidate_pairs执行阻塞,返回带有统计信息的配对
evaluate_blocking_coverage使用金标准样本估算召回率

第三阶段:匹配

工具说明
configure_matching_rules定义每个字段的加权比较
score_candidate_pairs使用阈值过滤进行批量评分
explain_match_score特定配对的详细细分

第四阶段:解决

工具说明
resolve_entities图聚类(连通分量,Louvain)
inspect_cluster查看所有记录并匹配群集中的边
split_cluster循环中的人类:分解一个坏集群
merge_clusters循环中的人:组合相关集群
visualize_match_graph以JSON格式返回节点/边以进行渲染

第五阶段:金唱片

工具说明
configure_survivorship_rules定义字段级合并策略
build_golden_records应用规则,输出为拼花游戏
audit_golden_record显示来源:哪个来源贡献了什么

第6阶段:分析

工具说明
summarize_unification管道统计(来源、记录、实体)
detect_anomalies标记数据或匹配中的可疑模式
query_unified_data通过Claude将自然语言转换为SQL
generate_report结构化数据质量报告

示例用法

分析数据源

Can you profile the data in examples/sample_data/music_tracks.csv?

退货:

  • 记录计数和重复统计
  • 列级分析(类型、空值、基数)
  • 建议屏蔽按适合性排名的关键候选人
  • 数据质量标志和警告

阻止关键评分

在比较之前,阻止密钥将记录分组。好的键平衡了选择性(不太宽)和覆盖率(不太窄)。

基数比得分解读
0.01 - 0.50cardinality × 2 (最大1.0)理想范围
>0.500.30太独特-使用前缀或n-gram
\<0.01排除不同值太少

空值大于20%的列被排除在外。

项目结构

weaver-mcp/
├── src/weaver/
│   ├── server.py           # MCP server entry point
│   ├── state.py            # Session state management (Phase 1+)
│   ├── tools/
│   │   ├── profiling.py    # Data profiling tools
│   │   ├── blocking.py     # Blocking tools (Phase 2+)
│   │   ├── matching.py     # Matching tools (Phase 3+)
│   │   └── ...
│   ├── db/
│   │   └── duckdb.py       # DuckDB analytical queries
│   ├── blocking/           # Blocking strategies (Phase 2+)
│   ├── matching/           # Matching engine (Phase 3+)
│   ├── graph/              # Graph clustering (Phase 4+)
│   ├── golden/             # Golden record builder (Phase 5+)
│   ├── analytics/          # Insights engine (Phase 6+)
│   └── schemas/
│       └── tool_inputs.py  # Pydantic validation
├── examples/
│   └── sample_data/        # Test datasets
├── tests/                  # Test suite
└── pyproject.toml

当前状态

第0阶段:基础 -完成

  • profile_data_source 工具加工
  • 用于CSV/Parquet的DuckDB集成
  • 阻止关键候选人建议

第一阶段:多源支持 -进行中

  • 会话状态管理
  • 跨源的架构对齐

ROADMAP.md 完整的6阶段开发计划。

发展

运行测试

uv run pytest

添加新工具

  1. 在中实现工具功能 src/weaver/tools/
  2. 在中添加Pydantic输入模型 src/weaver/schemas/tool_inputs.py
  3. 在中注册工具 src/weaver/server.py (list_tools()call_tool())
  4. 在中添加测试 tests/
  5. 更新此自述文件

设计原则

  1. 数据超过代码 -返回结构化JSON,让代理/工具渲染
  2. 可组合工具 -每个工具都能很好地完成一件事
  3. 开发者优先 -优化终端/笔记本电脑工作流程
  4. 性能意识 -在可能的情况下取样,记录权衡
  5. 可解释性 -每个比赛决定都可以被追踪和理解

贡献

欢迎投稿!请打开一个问题来讨论重大更改。

许可证

麻省理工学院

目录标签

目录标签

PythonClaude云端部署数据统一本地部署实体解析数据去重数据质量分析图聚类

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

23

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP