Skip to main content

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)

# Install dependencies
uv sync

# Install in development mode
uv pip install -e .

Using pip

pip install -e .

Usage

As a standalone server

# Run with stdio transport (for Claude Desktop, etc.)
repology-mcp-server

# Run with HTTP transport
repology-mcp-server --transport http --port 8000

With Claude Desktop

Add to your Claude Desktop configuration:

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

Or using the pre-built Docker image:

{
  "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):

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

Or using the pre-built Docker image:

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

As a development server

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

Using Docker

Pre-built images from GitHub Container Registry

# Pull the latest image
docker pull ghcr.io/tschoonj/repology-mcp-server:latest

# Run with stdio transport
docker run -i --rm ghcr.io/tschoonj/repology-mcp-server:latest

# Run with HTTP transport on port 8000
docker run --rm -p 8000:8000 ghcr.io/tschoonj/repology-mcp-server:latest --transport http --port 8000

# Use a specific version
docker pull ghcr.io/tschoonj/repology-mcp-server:1.0.0
docker run -i --rm ghcr.io/tschoonj/repology-mcp-server:1.0.0

Local development with Docker

# Build the Docker image locally
docker build -t repology-mcp-server .

# Run with stdio transport
docker run -i --rm repology-mcp-server

# Run with HTTP transport on port 8000
docker run --rm -p 8000:8000 repology-mcp-server --transport http --port 8000

Development

Setup

# Clone the repository
git clone <repository-url>
cd repology-mcp-server

# Install development dependencies
uv sync --extra dev

Running tests

# Run all tests
uv run pytest

# Run with coverage
uv run pytest --cov=repology_mcp --cov-report=html

# Run specific test file
uv run pytest tests/test_client.py -v

Code formatting

# Format code
uv run black src tests
uv run isort src tests

# Type checking
uv 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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

repology_mcp_server-0.1.1.tar.gz (19.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

repology_mcp_server-0.1.1-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

Details for the file repology_mcp_server-0.1.1.tar.gz.

File metadata

  • Download URL: repology_mcp_server-0.1.1.tar.gz
  • Upload date:
  • Size: 19.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for repology_mcp_server-0.1.1.tar.gz
Algorithm Hash digest
SHA256 a20c6ada9d486ac304661fba5540ea2118e327adec5495f82be5d6b7dd696b01
MD5 7cd5ba7a8570f07ec6f2a794a4dc9ec4
BLAKE2b-256 cff49c478914ee77776350eba33ead3cb4330c980a720c68190c696d9a16403d

See more details on using hashes here.

Provenance

The following attestation bundles were made for repology_mcp_server-0.1.1.tar.gz:

Publisher: ci.yml on tschoonj/repology-mcp-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file repology_mcp_server-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for repology_mcp_server-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c92028d7a5dbcfa041217cc90b64bd68bcdefa686fc5ae29731a21cbef0566bd
MD5 a6335b69eb6f7500614190464b02edc1
BLAKE2b-256 1e34324cd3967215456ee2607910f3d707a5f333b6c3a4f0fc9f76a19a1b9d32

See more details on using hashes here.

Provenance

The following attestation bundles were made for repology_mcp_server-0.1.1-py3-none-any.whl:

Publisher: ci.yml on tschoonj/repology-mcp-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page