Token导航 LogoToken导航TokenDH.com
Pypi Query MCP Server logo
搜索检索stdio官方级别未说明来源级核验

Pypi Query MCP Server

MCP Server

A Model Context Protocol (MCP) server for Python package intelligence, providing structured queries for PyPI packages and GitHub repositories. Features include dependency analysis, version tracking, and package metadata retrieval for LLM interactions.

工具数

10

提示词数

0

GitHub Stars

18

资源数

0
包管理PythonClaudeClaude DesktopClaudeCursorWindsurfCline

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

loonghao

提供方

loonghao

最后核验

2026/5/18 02:15

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uvx pypi-query-mcp-server

详细介绍

PyPI查询MCP服务器

](https://pypi.org/project/pypi-query-mcp-server/)

用于查询PyPI包信息、依赖关系和兼容性检查的模型上下文协议(MCP)服务器。

特性

  • 📦 查询PyPI包信息(名称、版本、描述、依赖关系)
  • 🐍 Python版本兼容性检查
  • 🔍 高级依赖性分析和递归解析
  • 📥 包含依赖项收集的包下载
  • 📊 下载统计数据和流行度分析
  • 🏆 顶级套餐排名和趋势
  • 🎯 MCP提示模板,用于指导分析和决策
  • 🏢 私有PyPI存储库支持
  • ⚡ 带缓存的快速异步操作
  • 🛠️ 易于与MCP客户端集成

安装

使用uvx(推荐)

# Run directly with uvx
uvx pypi-query-mcp-server

# Or install and run with specific script
uvx --from pypi-query-mcp-server pypi-query-mcp

使用pip

# Install from PyPI
pip install pypi-query-mcp-server

# Run the server
python -m pypi_query_mcp.server

来源

git clone https://github.com/loonghao/pypi-query-mcp-server.git
cd pypi-query-mcp-server
uv sync
uv run pypi-query-mcp

配置

克劳德代码(推荐)

使用内置的MCP管理将PyPI查询MCP服务器添加到Claude代码中:

# Add with local scope (project-specific)
claude mcp add pypi uvx pypi-query-mcp-server -s local

# Add with user scope (available across all projects) 
claude mcp add pypi uvx pypi-query-mcp-server -s user
📖 详细指南:参见 CLAUDE_CODE_INTEGRATION.md 获取全面的Claude Code集成文档。

克劳德桌面

添加到您的Claude Desktop配置文件中:

MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "pypi-query": {
      "command": "uvx",
      "args": ["--from", "pypi-query-mcp-server", "pypi-query-mcp"],
      "env": {
        "PYPI_INDEX_URL": "https://pypi.org/pypi",
        "PYPI_INDEX_URLS": "https://mirrors.aliyun.com/pypi/simple/,https://pypi.tuna.tsinghua.edu.cn/simple/",
        "PYPI_CACHE_TTL": "3600",
        "PYPI_LOG_LEVEL": "INFO"
      }
    }
  }
}

使用私有存储库

{
  "mcpServers": {
    "pypi-query": {
      "command": "uvx",
      "args": ["--from", "pypi-query-mcp-server", "pypi-query-mcp"],
      "env": {
        "PYPI_INDEX_URL": "https://pypi.org/pypi",
        "PYPI_PRIVATE_PYPI_URL": "https://private.pypi.company.com",
        "PYPI_PRIVATE_PYPI_USERNAME": "your_username",
        "PYPI_PRIVATE_PYPI_PASSWORD": "your_password",
        "PYPI_CACHE_TTL": "3600"
      }
    }
  }
}

克莱恩

添加到您的Cline MCP设置(cline_mcp_settings.json):

{
  "mcpServers": {
    "pypi-query": {
      "command": "uvx",
      "args": ["--from", "pypi-query-mcp-server", "pypi-query-mcp"],
      "env": {
        "PYPI_INDEX_URL": "https://pypi.org/simple/",
        "CACHE_TTL": "3600"
      }
    }
  }
}

光标

添加到光标MCP配置(.cursor/mcp.json):

{
  "mcpServers": {
    "pypi-query": {
      "command": "uvx",
      "args": ["--from", "pypi-query-mcp-server", "pypi-query-mcp"],
      "env": {
        "PYPI_INDEX_URL": "https://pypi.org/simple/",
        "CACHE_TTL": "3600"
      }
    }
  }
}

帆板运动

添加到您的Windsurf MCP配置(~/.codeium/windsurf/mcp_config.json):

{
  "mcpServers": {
    "pypi-query": {
      "command": "uvx",
      "args": ["--from", "pypi-query-mcp-server", "pypi-query-mcp"],
      "env": {
        "PYPI_INDEX_URL": "https://pypi.org/simple/",
        "CACHE_TTL": "3600"
      }
    }
  }
}

环境变量

基本配置

  • PYPI_INDEX_URL:主PyPI索引URL(默认值:https://pypi.org/pypi)
  • PYPI_CACHE_TTL:缓存生存时间(秒)(默认值:3600)
  • PYPI_LOG_LEVEL:日志记录级别(默认值:INFO)
  • PYPI_REQUEST_TIMEOUT:HTTP请求超时(秒)(默认值:30.0)

多镜像源支持

  • PYPI_INDEX_URLS:其他PyPI索引URL(逗号分隔,可选)
  • PYPI_EXTRA_INDEX_URLS:用于回退的额外PyPI索引URL(逗号分隔,可选)

私有存储库支持

  • PYPI_PRIVATE_PYPI_URL:私有PyPI存储库URL(可选)
  • PYPI_PRIVATE_PYPI_USERNAME:私有PyPI用户名(可选)
  • PYPI_PRIVATE_PYPI_PASSWORD:私人PyPI密码(可选)

高级依赖性分析

  • PYPI_DEPENDENCY_MAX_DEPTH:递归依赖关系分析的最大深度(默认值:5)
  • PYPI_DEPENDENCY_MAX_CONCURRENT:最大并发依赖查询数(默认值:10)
  • PYPI_ENABLE_SECURITY_ANALYSIS:启用安全漏洞分析(默认值:false)

配置示例

# Use multiple mirror sources for better availability
export PYPI_INDEX_URL="https://pypi.org/pypi"
export PYPI_INDEX_URLS="https://mirrors.aliyun.com/pypi/simple/,https://pypi.tuna.tsinghua.edu.cn/simple/"
export PYPI_EXTRA_INDEX_URLS="https://test.pypi.org/simple/"

# Private repository configuration
export PYPI_PRIVATE_PYPI_URL="https://private.pypi.company.com"
export PYPI_PRIVATE_PYPI_USERNAME="your_username"
export PYPI_PRIVATE_PYPI_PASSWORD="your_password"

可用的MCP工具

服务器提供以下MCP工具:

核心包信息

  1. get_package_info -获取全面的包裹信息
  2. get_package_versions -列出软件包的所有可用版本
  3. get_package_dependency -分析包依赖关系

Python兼容性

  1. check_package_python_compatibility -检查Python版本兼容性
  2. get_package_compatible_python_versions -获取所有兼容的Python版本

高级依赖性分析

  1. resolve_dependency -通过详细分析递归解决所有包依赖关系
  2. download_package -将包和所有依赖项下载到本地目录

下载统计数据和流行度

  1. get_download_统计数据 -获取任何软件包的全面下载统计数据
  2. get_download_trends -分析下载趋势和时间序列数据(过去180天)
  3. get_top_downloaded_packages -按下载次数获取最受欢迎的软件包

MCP提示模板

  1. 分析包装质量 -生成全面的包装质量分析提示
  2. compare_包 -生成详细的包比较提示
  3. 建议_备选方案 -生成查找包替代方案的提示
  4. resolve_dependency冲突 -生成解决依赖关系冲突的提示
  5. 计划_版本_升级 -生成计划软件包版本升级的提示
  6. audit_security_risks -生成安全风险审计提示
  7. 计划包装迁移 -生成全面的包迁移计划提示
  8. generate_migration_checklist -生成详细的迁移检查表提示

环境分析模板

  1. 分析环境依赖性 -生成分析当前环境依赖关系的提示
  2. check_outdated_packages -生成检查具有更新优先级的过时软件包的提示
  3. generate_update_plan -生成创建综合包更新计划的提示

趋势分析模板

  1. 分析数据 -生成用于分析每日PyPI下载趋势的提示
  2. find_trending_packages -生成提示以发现一段时间内的趋势包
  3. track_package_updates -生成跟踪最近包更新和发布的提示
📖 了解有关提示模板的更多信息:参见 PROMPT_TEMPLATES.md 查看详细的文档和示例。

使用示例

在MCP客户端(Claude Desktop、Cline、Cursor、Windsurf)中配置后,您可以提出以下问题:

基本包查询

  • “Django 4.2的依赖关系是什么?”
  • FastAPI与Python 3.9兼容吗
  • “显示请求包的所有版本”
  • numpy支持哪些Python版本
  • “获取熊猫套餐的详细信息”

高级依赖性分析

  • “请帮我分析PySide2与Python 3.10的完整依赖树”
  • “解决Django的所有依赖关系,包括开发依赖关系”
  • “FastAPI的所有传递依赖关系是什么?”

软件包下载

  • “请帮我将PySide2及其Python 3.10的所有依赖项下载到我的本地计算机上”
  • “将请求包及其所有依赖项下载到./downloads文件夹”
  • “收集Django开发所需的所有包”

下载统计数据和流行度分析

  • “本月请求包的下载统计数据是什么?”
  • “显示numpy在过去180天的下载趋势”
  • “今天下载量最大的10个Python包是什么?”
  • “比较Django、Flask和FastAPI的受欢迎程度”
  • “本周哪个web框架的下载量最高?”

MCP提示模板

  • “使用analyze_package_quality提示符评估请求包”
  • “生成Django、FastAPI和Flask构建API的比较提示”
  • “创建从Flask迁移到FastAPI的迁移计划提示”
  • “使用结构化提示帮助我解决依赖冲突”
  • “为我的生产包生成安全审核提示”

环境分析

  • “分析我当前的Python环境依赖关系,并检查过时的包”
  • “检查我的环境中哪些软件包有可用的安全更新”
  • “使用保守策略为我的生产环境制定更新计划”
  • “帮助我确定需要立即更新的包与计划更新的包”

趋势分析

  • “今天下载量最大的Python包是什么?”
  • “本周向我展示机器学习领域的趋势包”
  • “跟踪最近的安全更新和新软件包发布”
  • “在web开发中找到我应该考虑的上升包”

对话示例

用户:“检查Django 4.2是否与Python 3.9兼容”

AI助手:我将为您检查Django 4.2与Python 3.9的兼容性。

*\[使用get_package_info和check_package_python_compatibility工具\]*

用户:“FastAPI的主要依赖项是什么?”

AI助手:让我获取FastAPI的依赖关系信息。

*\[使用get_package_dependences工具\]*

用户:“显示requests包的下载统计数据,并告诉我哪个更受欢迎:requests还是urllib3?”

AI助手:我将获得这两个软件包的下载统计数据,并比较它们的受欢迎程度。

*\[对两个包都使用get_download_statistics工具\]*

程序化使用

# Example: Check if Django is compatible with Python 3.9
result = await mcp_client.call_tool("check_package_python_compatibility", {
    "package_name": "django",
    "target_python_version": "3.9"
})

# Example: Get package information
info = await mcp_client.call_tool("get_package_info", {
    "package_name": "requests"
})

# Example: Get download statistics
stats = await mcp_client.call_tool("get_download_statistics", {
    "package_name": "numpy",
    "period": "month"
})

# Example: Get top downloaded packages
top_packages = await mcp_client.call_tool("get_top_downloaded_packages", {
    "period": "week",
    "limit": 10
})

开发状态

🎉 核心功能已实现并准备就绪!

当前实施状态:

  • ✅ 项目基本结构
  • ✅ 带缓存的PyPI API客户端
  • ✅ MCP工具实现(包信息、版本、依赖关系)
  • ✅ Python版本兼容性检查
  • ✅ 高级依赖性分析和递归解析
  • ✅ 包含依赖项收集的包下载
  • 下载统计数据和流行度分析
  • 顶级套餐排名和趋势
  • ✅ 具有多平台测试的CI/CD管道
  • ⏳ 私有存储库支持(计划中)

贡献

欢迎投稿!请随时提交拉取请求。

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

目录标签

目录标签

包管理PythonClauderesearch-and-datapypimcppackage-intelligencePyPI查询本地部署依赖分析Python兼容性MCP协议

支持客户端

Claude DesktopClaudeCursorWindsurfCline

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

10

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

来源信息

继续浏览同类 MCP