平铺树MCP服务器
一种实现模型上下文协议(MCP)的服务器 树木平铺法 -通过递归地将解空间划分为互斥和集体穷举(MECE)子集来探索解空间的系统方法。
基于中描述的方法 平铺树方法.
什么是种树方法?
平铺树木的方法可以帮助你 系统地探索问题的所有可能解决方案 通过:
- 从完整的解决方案空间开始 -应对挑战的所有可能方法
- 使用MECE原理进行拆分 -划分为不重叠的类别(相互排斥),但共同涵盖一切(共同穷尽)
- 递归细分 -继续拆分每个子集,直到达成具体的想法/项目
- 评估叶子 -评估每种具体解决方案的可行性
关键的见解是:就像瓷砖完全覆盖墙壁而没有重叠一样,你的类别应该精确地划分解决方案空间。
为什么使用这种方法?
- 保证完整性:你不会忽视可行的解决方案
- 激发创造性思维:系统性探索表面——你通常不会考虑的想法
- 实现客观比较:所有解决方案都来自同一结构化过程
- 识别差距:缺失的类别变得明显
- 随着时间的推移而演变:随着技术和环境的变化,重新审视树木
安装
npm install
npm run build配置
添加到您的MCP设置文件(例如。, claude_desktop_config.json):
{
"mcpServers": {
"tiling-trees": {
"command": "node",
"args": ["/path/to/tiling-trees-mcp/dist/index.js"]
}
}
}核心概念
瓷砖
每个图块代表解决方案空间的一个子集 精确定义 以避免与兄弟姐妹重叠。
MECE 分割
分割图块时,选择创建的属性/维度 相互排斥,共同耗尽 子集:
- 互斥:没有属于多个类别的解决方案
- 集体穷尽:每个解决方案只属于一个类别
拆分属性
用于分区的维度(示例):
- 能源:电气、化学、机械、核能
- 规模:纳米、微米、介观、宏观
- 物理机制:传导、对流、辐射
- 时间范围:即时、短期、长期
- 成本:低、中、高
小贴士物理和数学导向的分裂通常效果最好,因为物理定律简洁而全面。
叶子
终端节点代表 具体的想法或项目 准备进行评估。
评估
费率生效日期:
- 影响 (1-10):成功后的潜在影响
- 可行性 (1-10):利用现有资源取得成功的可能性
- 独特性 (1-10):与现有解决方案相比有多新颖
- 时间范围:预期发展时间表
可用工具
1.创建树
创建新的平铺树以探索问题
从定义你的挑战开始。树以一个代表所有可能解决方案的根图块开始。
{
"name": "Transportation Decarbonization",
"problemStatement": "How can we reduce carbon emissions in transportation by 80% by 2050?"
}2.split_tile
将图块拆分为MECE子集 (核心业务)
选择一个有意义的属性,并创建完全分隔父空间的类别。
{
"tileId": "root-tile-id",
"splitAttribute": "Transportation mode",
"splitRationale": "Different modes have distinct technical constraints and emission profiles",
"subsets": [
{
"title": "Road vehicles",
"description": "Cars, trucks, buses, motorcycles - vehicles operating on roads",
"isLeaf": false
},
{
"title": "Rail",
"description": "Trains, trams, subways - vehicles on rails",
"isLeaf": false
},
{
"title": "Aviation",
"description": "Airplanes, helicopters - atmospheric flight vehicles",
"isLeaf": false
},
{
"title": "Maritime",
"description": "Ships, boats, ferries - water-based transport",
"isLeaf": false
}
]
}3.mark_mece
验证拆分是否真正是MECE
创建拆分后,验证完整性和排他性。
{
"tileId": "parent-tile-id",
"isMECE": true,
"coverageNotes": "Covers all major transportation modes. Edge cases like cable cars fall under 'Rail'. Space transport excluded as not relevant to 2050 target."
}4.添加文件到拆分
添加缺失的类别 到现有的分裂
当你意识到某个类别被遗漏时,添加它(使MECE状态无效)。
{
"parentId": "parent-tile-id",
"newTiles": [
{
"title": "Pipeline transport",
"description": "Movement of goods through pipelines (oil, gas, etc.)",
"isLeaf": false
}
]
}5.评估瓷砖
评估叶子图块 (具体解决方案)
用定量指标评估可行性。
{
"tileId": "leaf-tile-id",
"impact": 8,
"feasibility": 6,
"uniqueness": 4,
"timeframe": "5-10 years",
"notes": "High impact but faces infrastructure challenges",
"calculationsOrPilots": "Pilot study in 3 cities showed 60% reduction in emissions"
}6.平均分析
分析解决方案空间覆盖率
识别未探索的分支、未验证的拆分和下一步。
{
"treeId": "tree-id"
}退货:
- 瓷砖尚未分裂(勘探间隙)
- MECE未验证拼接
- 未评估的叶子
- 覆盖率
- 下一步建议
7.获取未经探索的瓷砖
找出差距 在你的探索中
获取尚未分割的瓷砖。
8.获取顶部标签
寻找最佳解决方案
通过影响力、可行性、独特性或综合得分获得最高评分的叶子。
{
"criteria": "combined",
"limit": 10,
"treeId": "tree-id"
}9.出口树
导出以进行可视化
以JSON、Markdown、Mermaid图或DOT(GraphViz)格式导出。
{
"treeId": "tree-id",
"format": "mermaid"
}附加工具
get_trees:列出所有瓷砖树get_tile:获取特定互动程序的详细信息explore_path:从图块探索树结构get_leaf_tiles:获取所有具体想法/项目search_tiles:按内容搜索update_tile:更新互动程序信息get_statistics:总体统计
10.验证_拆分_质量
检测常见的反模式 一瞬间
自动检查:
- 模糊语言:不精确的术语,如“自然”、“传统”、“简单”
- 接住所有水桶:阻止探索的“其他”或“杂项”等类别
- 混合尺寸:沿着不一致的属性进行拆分
- 反向分裂:使用预先存在的解决方案分类法而不是第一原则
- 覆盖范围不完整:MECE未验证拆分
{
"tileId": "parent-tile-id"
}退货:
- 质量分数(0-100)
- 严重性问题列表(错误/警告)
- 改进的具体建议
11.获取树验证报告
验证整个树 为了质量
获取具有总体质量分数的树中所有分割的验证报告。
{
"treeId": "tree-id"
}常见故障模式
根据实际使用情况,请注意以下反模式:
1.回溯分裂(分类学导入)
问题:从文献中已知的解决方案类型开始,将您锁定在现有的类别中。
坏:将“电池改进”划分为{锂离子优化、镍氢电池改进、铅酸电池改进} 好:按{化学类型、电极材料、电解质状态、结构}划分
为什么:反向分裂只会产生变化 *在...之内* 已知类别。第一性原理分裂发现了全新的可能性。
2.包罗万象
问题:创建“其他材料”或“杂项”类别会妨碍系统探索。
坏:{硅、石墨、锂金属、其他材料} 好:{结晶、非结晶、复合、层状}
为什么:你不能系统地拆分“其他一切”。如果你不知道什么属于一个类别,那么分割维度需要修改。
使用 validate_split_quality 自动检测包罗万象的桶(错误严重程度)。
3.模糊语言(“毫无意义的词”)
问题:“自然”、“强迫”、“传统”等术语缺乏物理精度,并造成不可避免的重叠。
坏:{自然冷却、强制冷却} 好:{被动对流、主动强制空气、液体冷却、相变}
为什么“天然”并不代表独特的物理性质,它可能意味着很多事情。请改用可测量的属性。
使用 validate_split_quality 自动标记模糊术语(警告严重性)。
4.混合尺寸(类别错误)
问题:沿不一致的维度拆分会产生固有的重叠。
坏:蔬菜分为{红蔬菜、甜蔬菜、脆蔬菜}-混合颜色、味道和质地 好:按一维分割:{根、茎、叶、果实、花}或{生食,需要烹饪}
为什么一种蔬菜可以是又红又甜又脆的。类别必须相互排斥。
使用 validate_split_quality 以检测混合维度警告。
5.不完全覆盖
问题:分裂中缺失的可能性留下了未探索的空白。
解决方案:始终使用验证拆分 mark_mece 并使用 get_coverage_analysis 找出差距。
验证工作流程
创建拆分后,验证质量:
// Check a specific split
validate_split_quality({
tileId: "
"
})
// Response:
{
"score": 70,
"issues": [
{
"type": "vague_language",
"severity": "warning",
"message": "Tile 'Advanced materials' uses vague term 'advanced'",
"suggestion": "Replace 'advanced' with measurable properties..."
}
],
"recommendations": [
"Replace vague terms with measurable physical properties"
]
}
// Check entire tree
get_tree_validation_report({
treeId: ""
})
// Response includes overall score and all split reports工作流示例
问题:提高电池能量密度
步骤1:创建树
create_tree({
name: "Battery Energy Density Improvements",
problemStatement: "How can we increase battery energy density by 3x?"
})第二步:首先通过化学方法进行拆分
split_tile({
tileId: "",
splitAttribute: "Battery chemistry",
splitRationale: "Fundamental chemistry determines theoretical energy density limits",
subsets: [
{ title: "Lithium-based", description: "Li-ion, Li-polymer, Li-metal, Li-S, Li-air" },
{ title: "Sodium-based", description: "Na-ion and variants" },
{ title: "Metal-air", description: "Zn-air, Al-air (excluding Li-air)" },
{ title: "Solid-state", description: "Solid electrolyte batteries (any chemistry)" },
{ title: "Alternative chemistries", description: "Mg, Ca, multivalent ion, organic" }
]
})步骤3:验证MECE
mark_mece({
tileId: "",
isMECE: true,
coverageNotes: "Covers main battery chemistry families. Some overlap (e.g., Li-air could be 'metal-air'), resolved by treating Li as primary classifier."
})第四步:继续拆分
按方法拆分“锂基”:
- 电极材料改进
- 电解质改善
- 电池架构创新
- 制造工艺优化
第五步:接触树叶并评估
当你达成具体想法时:
evaluate_tile({
tileId: "",
impact: 9,
feasibility: 7,
uniqueness: 5,
timeframe: "2-3 years",
calculationsOrPilots: "Lab tests show 40% capacity increase; volume expansion remains challenge"
})步骤6:分析覆盖范围
get_coverage_analysis({ treeId: "" })第7步:找到最佳解决方案
get_top_leaves({
criteria: "combined",
limit: 5,
treeId: ""
})最佳实践
1.准确定义
为每个图块编写明确的定义,以确保没有重叠。如果可能的话,要数学/物理。
好:“仅使用电池动力(无内燃机)的电动汽车” 坏:“清洁汽车”
2.选择良好的分割属性
- 更喜欢基于物理/数学的尺寸
- 确保该属性创建自然、完整的分区
- 记录未来参考的基本原理
3.严格验证MECE
- 检查兄弟图块之间的重叠
- 验证是否涵盖了所有可能性
- 文档边缘案例
4.分割到适当的深度
- 不要停得太早(你会错过解决方案)
- 不要走得太深太快(你会只见树木不见森林)
- 叶节点应该足够具体,以便进行评估
5.诚实评价
- 尽可能根据数据进行评级
- 文件假设
- 包括计算或试点结果
- 在评估中保持一致
6.定期回访
- 技术不断发展
- 上下文发生变化
- 以前不可行的分支机构可能会变得有前景
AI助手使用此MCP的提示
在帮助用户铺设树木时:
- 从问题澄清开始 -确保问题陈述具体
- 建议物理/数学拆分 在适用的情况下,避免追溯性地从已知解决方案中拆分
- 拆分后运行验证 -使用
validate_split_quality及早发现反模式 - 标志模糊语言 -注意“自然”、“传统”、“先进”等术语
- 防止所有桶都被抓住 -绝不允许“其他”或“杂项”类别
- 强制使用单一维度 -确保每次拆分都使用一个一致的属性
- 鼓励精准 -推动可测量属性和明确定义
- 使用覆盖率分析 -定期检查未勘探区域
- 平衡广度和深度 -深入之前先广泛探索
- 及时评估 -提醒用户用计算/飞行员来评价假期,而不仅仅是凭直觉
主动验证:每次拆分后,自动运行 validate_split_quality 并就任何问题提出建设性建议。这有助于用户正确学习方法。
与Web界面集成
此MCP服务器补充了平铺树web界面。将服务器用于:
- 系统探索和验证
- 程序化树构建
- 覆盖率分析
- 批量操作
使用web界面:
- 视觉探索
- 演示
- 合作会议
- 快速修改
从MCP导出→ 导入到web界面,实现两全其美。
按域拆分属性示例
工程/物理
- 能源
- 尺度(纳米/微米/宏观)
- 物理机制
- 材料类型
- 相(固体/液体/气体/等离子体)
业务/战略
- 市场细分
- 收入模式
- 地理区域
- 客户类型
- 分销渠道
软件/计算
- 体系结构模式
- 数据结构
- 计算复杂度类
- 部署模型
- 接口类型
研究/科学
- 方法论(实验/理论/计算)
- 生物体/系统类型
- 时间尺度
- 空间尺度
- 测量技术
故障排除
Q: 我的分裂有重叠——我该怎么办? A: 优化定义,使类别相互排斥。有时这意味着选择不同的分割属性。
Q: 我的分类无法涵盖所有内容 A: 暂时添加一个“其他”类别,然后使用更好的分割属性重新访问,以创建自然、完整的分区。
Q: 我怎么知道什么时候停止分手? A: 当你达到具体、可评估的想法/项目时,停下来。如果一个图块仍然太抽象,无法评估影响/可行性,请继续拆分。
Q: 对于同一个问题,我可以有多棵树吗? A: 是的!不同的拆分策略会产生不同的见解。比较树以找到最有用的分区。
许可证
麻省理工学院
