PypReader-MCP
一个MCP-Server,可以读取Python包的内容,允许大型语言模型(LLMs)和其他AI代理检查指定环境中的Python包内容。它提供了检索包描述、列出文件结构和读取源代码的工具。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"PypReader-MCP": {
"args": [
"--from",
"git+https://github.com/zakahan/pypreader-mcp.git",
"pypreader-mcp"
],
"command": "uvx",
"env": {
"CURRENT_LOGGING_LEVEL": "INFO",
"CURRENT_PYTHON_PATH": "\u003cyour-python-path\u003e"
}
}
}
}
该服务需要配置环境变量:CURRENT_LOGGING_LEVEL、CURRENT_PYTHON_PATH
服务介绍
pypreader-mcp
一个用于读取 Python 包内容的 MCP 服务器。该服务器允许大型语言模型(LLMs)和其他 AI 代理检查指定环境中的 Python 包内容。
概述
pypreader-mcp 在 AI 模型和本地 Python 环境之间充当桥梁。通过 MCP 暴露一组工具,它使 AI 能够以编程方式浏览已安装的包、查看其文件结构并读取其源代码。这对于代码分析、依赖项检查和自动化编程辅助等任务非常有用。
为什么要构建这个?
当我使用像 Cursor 或 Trae 这样的集成 AI 的编程 IDE 时,我总是发现当前使用的模型不知道我需要的第三方库。
但有时它们会假装知道,并且会生成一堆无法描述的东西;其他时候它们会在网上搜索,但结果大多不好,很难找到任何有用的信息。
所以我创建了这个 MCP 服务。它可以从官方网站 pypi.org 读取文档,或者从与你的 Python 对应的 site-packages 环境中读取源代码,从而更直接地了解你想要使用的第三方库的内容。
功能
该服务器为 MCP 客户端提供以下工具:
get_pypi_description(package_name: str): 从 PyPI 获取包的官方描述。get_package_directory(package_name: str): 列出指定已安装包的整个文件和目录结构。get_source_code_by_path(package_path: str): 获取包内特定文件的完整源代码。get_source_code_by_symbol(package_path: str, symbol_name: str): 获取指定符号(函数、类等)的定义(代码片段)。
使用方法
此工具设计为在基于 AI 的环境中作为 MCP 服务器使用,例如 Cursor 或 Trae。
配置
在你的 AI 环境的 MCP 服务器配置中,添加一个新的服务器,并设置如下参数。这允许 AI 直接从其 Git 仓库使用 uvx 运行服务。
json
{
"mcpServers": {
"PypReader": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/zakahan/pypreader-mcp.git",
"pypreader-mcp"
],
"env": {
"CURRENT_PYTHON_PATH": "",
"CURRENT_LOGGING_LEVEL": "INFO"
}
}
}
}
MCP 服务器参数
在你的 AI 环境中配置 MCP 服务器时,可以指定以下环境参数:
CURRENT_PYTHON_PATH: 指定目标包安装环境的 Python 可执行文件路径。如果未提供,则默认为运行服务器的 Python 可执行文件。你可以通过激活项目的 Python 环境并在终端中运行which python来找到正确的路径。CURRENT_LOGGING_LEVEL: 设置服务器的日志级别。选项包括DEBUG,INFO,WARNING,ERROR,CRITICAL。默认值为INFO。
如果你使用 Python 虚拟环境来配置你的 Python 项目,通常需要根据需要修改 python_path 以切换到指定的 Python 环境。
AI 编码示例
以 Trae 为例。截至 2025-07-02,doubao-seed-1.6 模型并不知道 fastmcp 包(实际上,大多数模型也不认识)。在正常情况下,它要么假装知道并输出一堆混乱、无法描述的错误内容(甚至认为我在谈论 FastAPI),要么进行笨拙的搜索并找到各种杂乱无章的信息。这次,我创建了一个配备了该项目mcp-server的Trae代理。结果如下:Trae能够理解我的项目,然后编写一个fastmcp服务来完成我的任务。
这是Trae完成我请求的任务的整个过程

这些是工具调用的具体细节

许可证
本项目采用MIT许可证。详情请参阅LICENSE文件。
最新更新?
- 2025-07-04: 重写了
get_source_code_by_symbol工具,修复了它无法读取属于子包的类或函数的问题。
下一步计划?
- 解决
python-package-name与实际路径不一致的问题,例如,包名google-adk的实际路径为google/adk,实际上被导入为google.adk。 - 为代理设计合适的提示词。(Trae版本见这里)