This server connects Claude to Repology, the cross-distribution package repository tracker. You get five tools: search_projects for fuzzy matching package names, get_project for detailed version info across distros, list_projects with filters for maintainer or repository presence, and two problem reporting endpoints for repositories and maintainers. Useful when you need to compare how different Linux distributions package the same software, track packaging issues across ecosystems, or audit what a specific maintainer handles. It wraps Repology's API with pagination support and returns structured data about package versions, statuses, and known problems. Works through stdio or HTTP, ships with Docker images and PyPI packages.
A Model Context Protocol (MCP) server that provides access to the Repology package repository data through a standardized interface.
This MCP server exposes the following tools:
# Install dependencies
uv sync
# Install in development mode
uv pip install -e .
pip install -e .
# Run with stdio transport (for Claude Desktop, etc.)
repology-mcp-server
# Run with HTTP transport
repology-mcp-server --transport http --port 8000
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"]
}
}
}
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"]
}
}
}
# Run in development mode with MCP inspector
uv run mcp dev src/repology_mcp/server.py
# 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
# 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
# Clone the repository
git clone <repository-url>
cd repology-mcp-server
# Install development dependencies
uv sync --extra dev
# 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
# Format code
uv run black src tests
uv run isort src tests
# Type checking
uv run mypy src
Search for projects by name substring.
Parameters:
query (string): Search term to match against project nameslimit (integer, optional): Maximum number of results (default: 10, max: 100)Get detailed package information for a specific project.
Parameters:
project_name (string): Exact name of the project to retrieveList projects with optional filtering.
Parameters:
start_from (string, optional): Project name to start listing fromlimit (integer, optional): Maximum number of results (default: 10, max: 200)maintainer (string, optional): Filter by maintainer emailcategory (string, optional): Filter by categoryinrepo (string, optional): Filter by repository presencenotinrepo (string, optional): Filter by repository absenceGet 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 paginationGet problems reported for packages maintained by a specific person.
Parameters:
maintainer (string): Maintainer email addressrepository (string, optional): Limit to specific repositorystart_from (string, optional): Project name to start from for paginationMIT License - see LICENSE file for details.
com.mcparmory/google-sheets
domdomegg/google-sheets-mcp
henilcalagiya/google-sheets-mcp
cct15/war-dashboard-data
moooonad/mcp-google-sheets-full
io.github.br0ski777/csv-to-json