Repology Mcp Server

io.github.tschoonj由 GitHub 账号 tschoonj 发布v0.1.1更新于 Oct 24, 2026

MCP server that provides access to Repology package repository data

已验证STDIO仅桌面开发者工具数据与分析

概览

AI 生成的概览

让助手查询 Repology 软件包仓库数据,包括项目详情、仓库列表以及已报告的打包问题。

可以做什么
通过五个只读工具访问 Repology 软件包数据:search_projects 按名称子串搜索项目,get_project 返回单个项目的详细软件包信息,list_projects 可按维护者、类别以及仓库存在与否等条件筛选列出项目。另外两个工具 get_repository_problems 和 get_maintainer_problems 分别报告某个仓库或某位维护者软件包的打包问题。
适用场景
适合需要查询某个软件包被哪些仓库收录、比较各发行版之间的版本,或查看打包问题与维护者问题的场景。它面向打包、发行版和依赖关系研究,而非通用网页搜索。
运行要求
以 stdio 方式在本地运行。安装 PyPI 包 repology-mcp-server(例如使用 uv 或 pip),或运行已发布的容器镜像。未声明任何账户、API 密钥或环境变量;根据其提供的数据,需要能访问 Repology 的网络。
安装前请注意
这些工具为只读,且不要求任何凭据,因此主要需考虑对 Repology 的网络访问以及第三方软件包数据的准确性与时效性。维护者筛选需要电子邮件地址,该地址会发送到上游服务。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Repology Mcp Server,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Repology MCP Server

[CI] [Docker] [Docker Image] [PyPI] [License: MIT]

A Model Context Protocol (MCP) server that provides access to the Repology package repository data through a standardized interface.

Features

This MCP server exposes the following tools:

  • search_projects: Search for projects by name
  • get_project: Get detailed information about a specific project
  • list_projects: List projects with optional filtering
  • get_repository_problems: Get problems reported for repositories
  • get_maintainer_problems: Get problems reported for specific maintainers

Installation

Using uv (recommended)

bash
# Install dependenciesuv sync
# Install in development modeuv pip install -e .

Using pip

bash
pip install -e .

Usage

As a standalone server

bash
# Run with stdio transport (for Claude Desktop, etc.)repology-mcp-server
# Run with HTTP transportrepology-mcp-server --transport http --port 8000

With Claude Desktop

Add to your Claude Desktop configuration:

json
{  "mcpServers": {    "repology": {      "command": "uv",      "args": ["run", "repology-mcp-server"]    }  }}

Or using the pre-built Docker image:

json
{  "mcpServers": {    "repology": {      "command": "docker",      "args": ["run", "-i", "--rm", "ghcr.io/tschoonj/repology-mcp-server:latest"]    }  }}

With VS Code

Add to your VS Code settings (.vscode/settings.json or user settings):

json
{  "mcp.servers": {    "repology": {      "command": "uv",      "args": ["run", "repology-mcp-server"]    }  }}

Or using the pre-built Docker image:

json
{  "mcp.servers": {    "repology": {      "command": "docker",      "args": ["run", "-i", "--rm", "ghcr.io/tschoonj/repology-mcp-server:latest"]    }  }}

As a development server

bash
# Run in development mode with MCP inspectoruv run mcp dev src/repology_mcp/server.py

Using Docker

Pre-built images from GitHub Container Registry
bash
# Pull the latest imagedocker pull ghcr.io/tschoonj/repology-mcp-server:latest
# Run with stdio transportdocker run -i --rm ghcr.io/tschoonj/repology-mcp-server:latest
# Run with HTTP transport on port 8000docker run --rm -p 8000:8000 ghcr.io/tschoonj/repology-mcp-server:latest --transport http --port 8000
# Use a specific versiondocker pull ghcr.io/tschoonj/repology-mcp-server:1.0.0docker run -i --rm ghcr.io/tschoonj/repology-mcp-server:1.0.0
Local development with Docker
bash
# Build the Docker image locallydocker build -t repology-mcp-server .
# Run with stdio transportdocker run -i --rm repology-mcp-server
# Run with HTTP transport on port 8000docker run --rm -p 8000:8000 repology-mcp-server --transport http --port 8000

Development

Setup

bash
# Clone the repositorygit clone <repository-url>cd repology-mcp-server
# Install development dependenciesuv sync --extra dev

Running tests

bash
# Run all testsuv run pytest
# Run with coverageuv run pytest --cov=repology_mcp --cov-report=html
# Run specific test fileuv run pytest tests/test_client.py -v

Code formatting

bash
# Format codeuv run black src testsuv run isort src tests
# Type checkinguv run mypy src

API Reference

Tools

search_projects

Search for projects by name substring.

Parameters:

  • query (string): Search term to match against project names
  • limit (integer, optional): Maximum number of results (default: 10, max: 100)
get_project

Get detailed package information for a specific project.

Parameters:

  • project_name (string): Exact name of the project to retrieve
list_projects

List projects with optional filtering.

Parameters:

  • start_from (string, optional): Project name to start listing from
  • limit (integer, optional): Maximum number of results (default: 10, max: 200)
  • maintainer (string, optional): Filter by maintainer email
  • category (string, optional): Filter by category
  • inrepo (string, optional): Filter by repository presence
  • notinrepo (string, optional): Filter by repository absence
get_repository_problems

Get problems reported for a specific repository.

Parameters:

  • repository (string): Repository name (e.g., "freebsd", "debian")
  • start_from (string, optional): Project name to start from for pagination
get_maintainer_problems

Get problems reported for packages maintained by a specific person.

Parameters:

  • maintainer (string): Maintainer email address
  • repository (string, optional): Limit to specific repository
  • start_from (string, optional): Project name to start from for pagination

License

MIT License - see LICENSE file for details.

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests for new functionality
  5. Run the test suite
  6. Submit a pull request

来源:README.md,提交 f8b0700

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.1最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分