Token导航 LogoToken导航

MCP Server · 开发工具

pycompat MCP

一个Python MCP服务器,用于解析、审计和查找PyPI包版本,并针对目标Python运行时进行完整的兼容性检查。可作为本地stdio进程或远程HTTP API服务器运行。

stdio官方级别未说明来源级核验工具 4
PythonClaude开发工具

快速开始

作者 / 组织
Adhvyth-T
提供方
Adhvyth-T

工具数量

4

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

pycompat MCP 属于开发工具类 MCP Server,公开资料标注 4 个工具,通过stdio 本地进程接入,适配 Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

开发工具

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

pip install -r requirements.txt

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 4 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

详细介绍

pycompat_mcp

一个Python MCP服务器,用于解析、审核和查找PyPI包版本,并对目标Python运行时进行完全兼容性检查。作为本地stdio进程或远程HTTP API服务器运行。

实时端点: https://pycompat.duckdns.org/mcp (可用性可能因地区而异)

______________________________________________________________________

快速连接

克劳德代码

claude mcp add --transport http pycompat https://pycompat.duckdns.org/mcp

克劳德桌面

{
  "mcpServers": {
    "pycompat": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://pycompat.duckdns.org/mcp"]
    }
  }
}

语言链/语言图

from langchain_mcp_adapters.client import MultiServerMCPClient

client = MultiServerMCPClient({
    "pycompat": {
        "url": "https://pycompat.duckdns.org/mcp",
        "transport": "streamable_http",
    }
})
tools = await client.get_tools()

OpenAI/LiteLLM

response = litellm.completion(
    model="gpt-4o",
    mcp_servers=[{"url": "https://pycompat.duckdns.org/mcp"}],
    messages=[{"role": "user", "content": "Resolve fastapi and pydantic for Python 3.11"}]
)

健康检查

curl https://pycompat.duckdns.org/health
# → {"status": "ok", "server": "pycompat_mcp"}

______________________________________________________________________

工具(4)

pycompat_resolve

解析包列表和目标Python版本的最新相互兼容版本。

它是如何工作的:

  1. 从PyPI获取每个包的实时元数据
  2. 按以下方式筛选版本 requires_python 反对 目标 Python(不是主机解释器)
  3. 为每个包选择最新的传递版本(贪婪,最新优先)
  4. 跑 约束传播 --检测到冲突时,扫描备选候选人以自动修复(最多5轮)
  5. 排放a requirements.txt 仅当已解决的集合完全无冲突时才阻止
  6. 否则,用可操作的提示抑制该块——建议增加 max_candidates 当冲突使用精确的针时(==)说明符

输入:

字段类型必填默认描述
packageslist[str]✅—PyPI包名称(最多30个)
python_versionstr✅—目标Python,例如。 "3.11"
max_candidatesint—5每个包要评估的版本(1-20)

输出: Markdown表格+ requirements.txt block+EOL/预发布警告+冲突详细信息

______________________________________________________________________

pycompat_package_info

获取单个PyPI包的完整元数据,可以选择特定版本。

输入:

字段类型必填描述
packagestr✅PyPI包名称
versionstr——具体版本;省略为最新

输出(JSON):

{
  "name": "numpy",
  "version": "2.4.3",
  "summary": "...",
  "requires_python": ">=3.10",
  "license": "BSD-3-Clause",
  "author": "...",
  "home_page": "...",
  "requires_dist": ["..."],
  "latest_versions": ["2.4.3", "2.4.2", "..."],
  "only_prerelease_versions": false
}

______________________________________________________________________

pycompat_check_pinned

审核一组现有的固定版本的相互兼容性和Python运行时兼容性。

输入:

字段类型必填描述
pinneddict[str, str]✅{"numpy": "1.26.4", "pandas": "2.2.1"}
python_versionstr✅目标Python,例如。 "3.11"

输出: Markdown表——每包Python OK/fail+任何跨包约束违规

______________________________________________________________________

pycompat_latest_versions

在一次轻量级调用中获取最多50个包的最新稳定版本。

比...更快 pycompat_package_info -每个包同时调用一个API,只返回版本号、发布日期和PyPI链接。

输入:

字段类型必填默认描述
packageslist[str]✅—PyPI包名称(最多50个)
include_prereleasebool—false当比稳定版本更新时,也返回最新的预发布版本

输出: Markdown表--包/最新稳定/(预发布)/已发布/PyPI链接

______________________________________________________________________

输入验证

检查行为
Python版本无效(abc)Pydantic验证错误
无意义次要版本(3.999)已拒绝--显示有效范围 3.0–3.13
EOL Python(2.7, 3.0–3.9)已接受,但在所有工具中都有警告
未来Python(3.14)已拒绝——请参阅中的维护者注释 models.py
重复的包(scikit-learn + scikit_learn)因归一化错误而被拒绝
重复的固定名称(Numpy + numpy)因归一化错误而被拒绝
包不在PyPI上清除错误,其他包继续解析
版本不在PyPI上与“找不到包”不同的错误

______________________________________________________________________

自足执行

运输方式

TRANSPORT env var模式用例
stdio (默认)本地子流程克劳德桌面,克劳德代码本地
http上的可流式HTTP API /mcp任何通过HTTP与MCP通信的LLM客户端

安装

git clone https://github.com/Adhvyth-T/pycompat_mcp.git
cd pycompat_mcp
pip install -r requirements.txt

在本地运行

标准 :

python server.py

HTTP:

# Windows (PowerShell)
$env:TRANSPORT="http"; python server.py

# Linux / macOS
TRANSPORT=http python server.py

Docker:

docker compose up --build

连接本地实例

克劳德代码--stdio:

claude mcp add pycompat python "/absolute/path/to/server.py"

克劳德代码——HTTP:

claude mcp add --transport http pycompat http://localhost:8000/mcp

______________________________________________________________________

文件结构

pycompat_mcp/
├── server.py         # Entry point — transport selection, health endpoint, mcp.run()
├── models.py         # Pydantic input models + shared validators (EOL list, version range)
├── pypi.py           # PyPI HTTP client + all metadata helpers
├── resolver.py       # Greedy resolver + constraint propagation loop
├── tools.py          # MCP tool definitions (4 tools)
├── requirements.txt
├── Dockerfile
├── docker-compose.yml
├── .mcp.json         # Claude Code project config (HTTP mode)
└── .gitignore

______________________________________________________________________

已知限制

限制详细信息
ABI/运行时不兼容numpy 2.0与pandas 1.5的C-ABI断点对PyPI元数据不可见——只捕获声明的约束违规
max_candidates window传播仅从已获取的版本中选取;可能需要严格的精确引脚冲突 max_candidates 提高到10-20
Python 3.14在验证时被拒绝,直到 VALID_PYTHON_MINORS 在 models.py 被碰撞——已存在一个注释占位符
Python 3.10 EOL计划于2026年10月-已在中注释占位符 EOL_PYTHON_VERSIONS 在 models.py

______________________________________________________________________

维护人员注意事项

Python 3.14发布时: 在 models.py,颠簸 VALID_PYTHON_MINORS["3"] 从 range(0, 14) → range(0, 15). 轨道:https://www.python.org/downloads/

当Python 3.10达到EOL(2026年10月)时: 在 models.py,取消评论 "3.10" 在 EOL_PYTHON_VERSIONS. 轨道:https://devguide.python.org/versions/

______________________________________________________________________

依赖项

包版本
mcp[cli]≥ 1.26.0
httpx≥ 0.28.1
packaging≥ 26.0
uvicorn≥ 0.42.0
starlette≥ 0.52.1

工具与能力

工具数量

4

资源数量

0

提示词数量

0

能力标签

Python包管理Python本地部署兼容性检查依赖解析PyPI工具开发工具

支持客户端

Claude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 4 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
pycompat MCP

MCP World · 本页

4stdio有1 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

pycompat MCP 怎么安装?

公开资料给出的安装命令是 pip install -r requirements.txt,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

pycompat MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

pycompat MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

pycompat MCP 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

pycompat MCP 支持哪些客户端?

公开资料标注支持 Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP