原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

phylokit-mcp

作者:musharna版本 0.9.1i★ 0i在你的电脑上运行
注册名称io.github.musharna/phylokit-mcp

安装

概览

作者提供的说明(英文原文)

Phylogenetic inference via IQ-TREE 3 — never returns a topology without its support

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 其他

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:2 项中通过 2 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 需要你自己填写: OMP_NUM_THREADS, MKL_NUM_THREADS

你需要

  • PyPI已安装 Python 的 uv(用于 uvx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "phylokit": {
      "command": "uvx",
      "args": [
        "phylokit-mcp"
      ],
      "env": {
        "OMP_NUM_THREADS": "your-value",
        "MKL_NUM_THREADS": "your-value"
      }
    }
  }
}

在终端中运行这条命令

claude mcp add phylokit --env OMP_NUM_THREADS=your-value --env MKL_NUM_THREADS=your-value -- uvx phylokit-mcp

运行前请先填写空着的值。

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "phylokit": {
      "command": "uvx",
      "args": [
        "phylokit-mcp"
      ],
      "env": {
        "OMP_NUM_THREADS": "your-value",
        "MKL_NUM_THREADS": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "phylokit": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "phylokit-mcp"
      ],
      "env": {
        "OMP_NUM_THREADS": "your-value",
        "MKL_NUM_THREADS": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

需要你填写的值

  • OMP_NUM_THREADS env
    Pinned so inference is reproducible; overriding it makes IQ-TREE runs non-deterministic.
  • MKL_NUM_THREADS env
    Pinned alongside OMP_NUM_THREADS for the same reproducibility reason.

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

哪些应用可以使用它

依据这个服务器的连接方式和各应用自己的文档,检查于 2026年11月10日。

在你的电脑上运行,适用于

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

全部应用及其优缺点 →

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月10日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 musharna 验证,该账户拥有此仓库

  • ✓ 通过

    仍在维护

    代码最后更新于今天

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“其他”中的其他服务器比较i

  • 星标数多于此分类中其他 19092 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 19092 个服务器的 95% 更新
  • 基础检查结果等于或优于此分类中其他 19092 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

phylokit-mcp 安全吗?

它在 2 项适用的基础检查中通过了 2 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于今天,最新版本(0.9.1)于前天进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。

有什么可以替代它?

同一分类中有:World Monitor, Claude Flow, Tldraw

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

World Monitor

Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 102 tools.

作者:koala73广泛使用★ 9万5天前更新

在云端运行✓ worldmonitor.app

Claude Flow

AI orchestration with hive-mind swarms, neural networks, and 87 MCP tools for enterprise dev.

作者:ruvnet广泛使用↓ 1.4万/周★ 8.1万14个月前更新

在你的电脑上运行

Tldraw

Draw and visually collaborate with your agents on tldraw's canvas.

作者:tldraw广泛使用★ 5.1万8个月前更新

在云端运行

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

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):

SitesInformative sitesRecovered the true tree?Lowest clade support
30051yes, exactly1.00
6011no, RF 20.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

ToolWhat it does
infer_treeML tree plus bootstrap support (nonparametric or UFBoot2), per clade.
select_substitution_modelRanks 100+ models with ΔAIC/AICc/BIC, and says when the criteria disagree.
compare_treesRobinson–Foulds distance and the clades that differ. Compares splits, not strings.
simulate_alignmentGenerates sequences along a tree you specify: the positive control.
align_sequencesAligns unaligned FASTA with MAFFT, inline or to a new file (out_path).
map_positionsMaps a residue to its alignment column, and that column to every other sequence.
capabilitiespiqtree and IQ-TREE versions, 215 substitution models, MAFFT version, limits.

Tools that take FASTA or Newick also take a file path (fasta_path, or trees_path for two trees), read by the server; a relative path resolves against the server's working directory.

The tests run real IQ-TREE and real MAFFT (no mocked engine), with 23 mutation checks and a real-process JSON-RPC handshake test.

Install

pip install phylokit-mcp

Requires Python 3.12+. IQ-TREE 3 comes through piqtree 0.8, which builds it into its wheel. align_sequences also needs the MAFFT binary on PATH, as does map_positions on unaligned input; the other tools work without it. Details: docs/INSTALL.md.

Configure your MCP client

{

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

If uvx picks a Python older than 3.12, use "args": ["--python", "3.12", "phylokit-mcp"].

What the benchmark shows

Claude with the server was compared with Claude writing Python in an environment we set up with piqtree, cogent3 and MAFFT, on 38 phylogenetics questions, 3 runs each. A tie means the server matches that result without you building the environment. Questions right in every run, server against Python: Claude Haiku 5.5 34 against 37, Sonnet 5.5 37 against 35, Opus 5.5 36 against 35 (on the commit that takes file paths). None is separated (pre-registered; Holm-adjusted McNemar p = 0.75 on both Haiku and Sonnet). The server cost about the same as Python on Haiku and more on Sonnet (1.23×) and Opus (1.26×).

The chart is the first Opus 5.5 run, on a release that took the data as text. Counting answers, the server got 110 of 114 right and Python 113; counting questions, 36 of 38 were right in every run against 37 (sign test p = 1). Per question the server took 6.0 times as long (95% CI 4.4 to 8.3) and cost 14.4 times as much (9.9 to 20.2), each a geometric mean of per-question ratios. Most of that cost was the model pasting the data file into tool calls; taking file paths (pre-registered re-run, 2026-10-18) brought it down to 1.26 times (1.04 to 1.55).

We wrote the questions and ran the benchmark ourselves; an outside re-run is welcome. The benchmark does not score support values; method, controls and other limitations are in benchmarks/agent_qa; the Haiku and Sonnet runs: 2026-10-20 re-run.

Reproducibility

Not bit-exact, in any setting: IQ-TREE reads the wall clock during its search, so the same request and seed can differ in the trailing digits of branch lengths and log-likelihood, and a support value can move: by about 0.05 (a replicate flipping) for the nonparametric bootstrap, and by no fixed bound for UFBoot2, whose replicates IQ-TREE draws inside the search (one clade moved 0.16 across six calls on one machine). The server reports deterministic_across_processes: false and the drift bound for the method used, null for UFBoot2. Compare trees with compare_trees and numbers with a tolerance, never by string equality. Measurements: docs/REPRODUCIBILITY.md.

Limitations

  • Nucleotide and protein, no codon models. Pass sequence_type="protein" and a protein model (LG, WAG, …). The molecule type is declared, never sniffed: an A/C/G/T-only alignment is also valid protein (Ala/Cys/Gly/Thr), and a wrong guess returns a wrong tree, likelihood and support with no warning.
  • Two bootstraps, no aLRT or approximate Bayes. The default is the nonparametric bootstrap (Felsenstein 1985), computed here, clades supported at 0.70; it is the only one that reports well-supported clades missing from the ML tree. support_method="ufboot" is IQ-TREE's UFBoot2 (Hoang et al. 2018), clades supported at 0.95.
  • Nonparametric cost is linear in replicates, each a full ML search: on 89 taxa x 435 sites one replicate took 25-93 s, and 1000 UFBoot2 replicates 83 s. Capped at 200 taxa, 1000 nonparametric and 10000 UFBoot2 replicates. Every tool sends a progress notification every 15 s, so a client idle timeout does not abort a long call.
  • Alignment is MAFFT `--auto`, single-threaded, and nothing else: no strategy choice, profile alignment or trimming; at most 200 sequences of 100,000 residues and 600 s. Gapped input is refused, not degapped. The tree tools refuse ragged input rather than align it.
  • Unrooted trees. No rooting, dating or ancestral reconstruction.

License

GPL-2.0-only, because piqtree is GPL-2.0-only, which is _incompatible_ with GPL-3.0. cogent3 is BSD.

If you publish results from this server, cite IQ-TREE 3, piqtree and (when it made the alignment) MAFFT, not this wrapper. The references are in CITATION.cff, and licensing and affiliation are in NOTICE.