MP

musharna/phylokit-mcp

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

0 stars 0 forks 质量 74 趋势 20GPL-2.0

用于基于 IQ-TREE 3 进行系统发育推断的 MCP 服务器(通过 piqtree)——从未返回没有 bootstrap 支持的拓扑

概览

基于MCP的系统发育推断,推动IQ-TREE 3通过piqtree 0.8,后者将IQ-TREE 3集成到其转轮中。 infer_tree总是运行引导程序,并且总是返回每个分支的支持。没有跳过它的标志。 6 个工具。测试套件运行真实的 IQ-TREE 和真实的 MAFFT(无模拟引擎),包含 23 次突变检查和一个真实进程的 JSON-RPC 握手测试。 无论数据是否支持,最大似然树看起来都是相同的。这里测量的是从已知的7-分类树模拟的比对,因此正确答案毋庸置疑: 在60个站点中,树包含一个不存在的分支(C,D,G),并省略了一个存在的分支(E,F,G)。两次运行都返回一个完全解析的纽克字符串,形状相同;拓扑本身没有区分它们。支持值区分——而假分支是树中支持最低的分支。 这就是该服务器的全部论点。返回裸树返回的结果是调用者无法评估的。

概述(AI 翻译)

Phylokit-mcp 是一个 MCP 服务器,允许 AI 代理构建最大概然值 树用IQ-TREE 3,序列用MAFFT比对。

没有支持的拓扑不是结果。 infer_tree 总是运行 bootstrap并返回每个分支的支持。没有跳过的标志。

为什么要有这条规则

无论数据是否支持,最大似然树看起来都是一样的。 测量基于已知7-分类树(JC,100 复制品,种子1):

遗址 信息遗址 恢复了真正的树? 最低支系支持
300 51 是的,正是如此 1.00
60 11 不,射频2 0.57

在60个位点中,树包含一个不存在且省略的演化支(C,D,G) 一个有 (E,F,G) 的。两个运行都返回一个完全解析的 Newick 字符串 形状相同。只有支撑值区分它们,假分支是 _lowest supported_树上的一根。

这有用吗?

还没有。在我们的基准测试中,Claude 对这台服务器的准确性并不比 使用Python壳时,服务器成本更高。按路径获取文件时,关闭了大多数 成本差距,但并非全部。

本页由 AI 翻译,技术细节请以原文为准。

README

以下为原文 README 节选,完整内容请查看原文。

phylokit-mcp

phylokit-mcp is an MCP server that lets AI agents build maximum-likelihood trees with IQ-TREE 3 and align sequences with MAFFT.

A topology without support is not a result. infer_tree always runs a bootstrap and returns per-clade support. There is no flag to skip it.

Why the rule

A maximum-likelihood tree looks the same whether or not the data support it. Measured on alignments simulated from a known 7-taxon tree (JC, 100 replicates, seed 1):

Sites Informative sites Recovered the true tree? Lowest clade support
300 51 yes, exactly 1.00
60 11 no, RF 2 0.57

At 60 sites the tree contains a clade (C,D,G) that does not exist and omits one that does (E,F,G). Both runs return a fully resolved Newick string of the same shape. Only the support values tell them apart, and the false clade is the lowest-supported one in the tree.

What it reports that a Newick string cannot

  • Conflicting clades: groupings the data support at ≥0.70 that are absent from the reported tree. A support-annotated Newick string has nowhere to put them.
  • fraction_resolved: the share of clades clearing 0.70. The headline number, before any single grouping is repeated as fact.
  • Model runners-up with ΔAIC, not just a winner. On the 300-site alignment above, simulated under JC, the AIC winner is not JC (TPM2u and TPM2 tie), and several models, JC among them at ΔAIC 0.7, sit inside the conventional ±2 margin (seed=1, piqtree 0.8.3).
  • Length versus evidence: n_parsimony_informative alongside n_sites. A 10,000-site alignment of near-identical sequences supports nothing.

Tools

Tool What it does
infer_tree ML tree plus bootstrap support (nonparametric or UFBoot2), per clade.
在 GitHub 查看完整 README

安装

uvx phylokit-mcp
新手?先看 mcpskill.org 教程 →

配置

{ "mcpServers": { "phylokit": { "command": "uvx", "args": ["phylokit-mcp"] } } }