Phylogenetic inference via IQ-TREE 2 β never returns a topology without its support
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Phylogenetic inference over MCP, driving IQ-TREE 2 through piqtree.
A topology without support is not a result. infer_tree always runs a
bootstrap and always returns per-clade support. There is no flag to skip it.
5 tools, 62 tests against real IQ-TREE (no mocked engine), 10 mutation checks, and a real-process JSON-RPC handshake test.
A maximum-likelihood tree looks identical whether or not the data support it. Measured here, on alignments simulated from a known 7-taxon tree so the right answer is not in doubt:
| 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; nothing about the topology itself distinguishes them. The support
values do β and the false clade is the lowest-supported one in the tree.
That is the entire argument for this server. Returning a bare tree returns a result the caller cannot evaluate.
fraction_resolved β the share of clades clearing 0.70. The headline
number, before any individual grouping is repeated as fact.n_parsimony_informative alongside n_sites.
A 10,000-site alignment of near-identical sequences supports nothing.| tool | what it does |
|---|---|
infer_tree | ML tree plus bootstrap support, per clade. Never one without the other. |
select_substitution_model | Ranks 100+ models with ΞAIC/AICc/BIC, and says when the criteria disagree. |
compare_trees | RobinsonβFoulds distance and the clades that differ. Compares splits, not strings. |
simulate_alignment | Generates sequences along a tree you specify β the positive control. |
capabilities | Engine version, 215 substitution models, enforced limits. |
piqtree ships prebuilt wheels, so there is no compiler, no R and no conda step β but it requires Python 3.12+, and so does this package.
uvx fetches the released package on demand, so this needs no prior install β but
it must resolve a Python 3.12+ interpreter, since that is piqtree's wheel floor.
If uvx picks an older one, pin it with "args": ["--python", "3.12", "phylokit-mcp"].
If you installed it yourself instead, "command": "phylokit-mcp" works when the
executable is on your PATH; give the absolute path to the entry point in the
environment you installed into if it is not.
The same file ships as .mcp.json in this repo, which Claude Code
picks up automatically when the repo is your working directory.
Measured, not assumed:
rand_seed
does not fully reset IQ-TREE's internal state β building the same tree three
times gave call 1 == call 2 but call 3 different.The practical size: over six repeated 50-replicate calls, three of four clades were bit-identical and one moved 0.02 β a single replicate flipping, well inside the bootstrap's own sampling error (~0.07 at 50 replicates). The topology and every conclusion were unchanged. This is reported in every response rather than papered over, because an MCP server is long-lived by design and that is exactly the condition which exposes it.
Threads are pinned to 1 before piqtree is imported: likelihood sums accumulate in thread-completion order, floating-point addition is not associative, and near-tied topologies can flip on the last bits.
sequence_type="protein" and a
protein model (LG, WAG, β¦). Codon models are still not exposed.
The molecule type is declared, never sniffed: an alignment of only A/C/G/T
is a valid protein alignment too (Ala/Cys/Gly/Thr), so guessing would fit a
nucleotide model to protein data and return a tree, a likelihood and support
values that are all wrong and none of which complain.bootstrap_replicates but does not
expose the resulting values.GPL-2.0-only. The "only" is load-bearing: piqtree declares GPL-2.0-only,
which is incompatible with GPL-3.0, so the distributed combination cannot be
GPL-3. cogent3 is BSD and imposes nothing.
Unofficial. Not affiliated with, endorsed by, or sponsored by the IQ-TREE authors or the cogent3 project. IQ-TREE 2 is academic software and expects to be cited β if results from this server appear in published work, cite IQ-TREE 2 as directed at iqtree.org, not this wrapper. See NOTICE.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/phylokit-mcp)<a href="https://allmcps.com/mcp/phylokit-mcp"><img src="https://allmcps.com/api/badge/phylokit-mcp?style=directory" alt="Phylokit MCP on AllMCPs" /></a>