CPAN包自述MCP服务器
 ](https://www.npmjs.com/package/cpan-package-readme-mcp-server) ](https://www.npmjs.com/package/cpan-package-readme-mcp-server) ](https://github.com/elchika-inc/cpan-package-readme-mcp-server)
MCP(模型上下文协议)服务器,使AI助手能够获取有关CPAN(综合Perl归档网络)包的全面信息,包括README内容、包元数据和搜索功能。
特性
- 包README检索:从托管在MetaCPAN上的Perl/CPAN模块中获取带有使用示例的格式化README内容
- 包裹信息:获取全面的包元数据,包括依赖关系、版本、作者信息和文档
- 程序包搜索:通过按类别、作者和相关性进行筛选来搜索CPAN存储库
- 智能缓存:智能缓存系统,可优化API的使用并提高响应时间
- MetaCPAN集成:与MetaCPAN API直接集成,以获取全面的软件包信息
- 错误处理:具有自动重试逻辑和回退策略的强大错误处理
MCP客户端配置
将此服务器添加到MCP客户端配置中:
{
"mcpServers": {
"cpan-package-readme": {
"command": "npx",
"args": ["cpan-package-readme-mcp-server"]
}
}
}可用工具
get_package_readme
检索CPAN包的全面README内容和使用示例。
参数:
{
"package_name": "LWP::UserAgent",
"version": "latest",
"include_examples": true
}package_name(字符串,必填):CPAN模块名称(例如,“Data::Dumper”、“LWP::UserAgent”)version(字符串,可选):特定包版本或“最新”(默认:“最新的”)include_examples(布尔值,可选):包括使用示例和代码片段(默认值:true)
退货: 格式化的README内容,包括安装说明、使用示例和API文档。
get_package_info
从MetaCPAN获取详细的包元数据、依赖关系和作者信息。
参数:
{
"package_name": "Mojolicious",
"include_dependencies": true,
"include_dev_dependencies": false
}package_name(字符串,必填):CPAN模块名称include_dependencies(布尔值,可选):包括运行时依赖关系(默认值:true)include_dev_dependencies(布尔值,可选):包括测试/开发依赖关系(默认值:false)
退货: 包元数据,包括版本信息、作者详细信息、许可证、下载统计数据和依赖关系信息。
搜索包
在CPAN存储库中搜索具有过滤功能的包。
参数:
{
"query": "web framework",
"limit": 20,
"author": "SRI"
}query(字符串,必填):搜索词(模块名称、描述、关键字)limit(number,可选):返回的最大结果数(默认值:20,最大值:100)author(字符串,可选):按作者/维护者CPAN ID筛选
退货: 包含名称、描述、作者和流行度指标的匹配包列表。
错误处理
服务器优雅地处理常见错误场景:
- 未找到包:返回带有类似模块建议的清晰错误消息
- 速率限制:实现指数回退的自动重试
- 网络超时:具有重试逻辑的可配置超时
- 模块名称无效:验证模块名称格式并提供指导
- MetaCPAN API失败:API不可用时的回退策略
许可证
麻省理工学院
