rashidazarang

Aptly MCP Server

Community rashidazarang
Updated

A Model Context Protocol (MCP) server for managing Debian package repositories using the Aptly package repository management tool.

Aptly MCP Server

A Model Context Protocol (MCP) server for managing Debian package repositories using the Aptly package repository management tool.

Overview

This MCP server provides AI assistants with direct access to Aptly functionality through standardized tools and resources. It enables natural language interaction with Debian package repositories, including creation, management, and publishing operations.

Features

MCP Tools

  • aptly_create_repo: Create new local repositories
  • aptly_list_repos: List all repositories with filtering options
  • aptly_add_packages: Add packages to repositories from uploaded files
  • aptly_search_packages: Search packages across repositories
  • aptly_create_snapshot: Create snapshots from repositories or other snapshots
  • aptly_publish_repo: Publish repositories/snapshots for apt consumption
  • aptly_create_mirror: Create mirrors of remote repositories
  • aptly_upload_files: Upload package files to the server
  • aptly_list_mirrors: List all configured mirrors
  • aptly_update_mirror: Update mirrors with latest packages
  • aptly_delete_repo: Delete repositories with safety checks

MCP Resources

  • repositories: Dynamic listing of all repositories with metadata
  • packages: Searchable package databases across repositories
  • mirrors: Remote mirror status and configuration
  • publications: Published repository information and endpoints
  • snapshots: Available snapshots with creation dates and descriptions

Installation

cd aptly-mcp
npm install
npm run build

Configuration

Environment Variables

export APTLY_API_URL=http://localhost:8080  # Default Aptly API endpoint
export APTLY_AUTH_TOKEN=your_token_here     # Optional authentication token

Claude Desktop Configuration

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "aptly": {
      "command": "node",
      "args": ["/path/to/aptly-mcp/build/index.js"],
      "env": {
        "APTLY_API_URL": "http://localhost:8080"
      }
    }
  }
}

Remote Aptly Server

For remote Aptly servers with authentication:

{
  "mcpServers": {
    "aptly": {
      "command": "node",
      "args": ["/path/to/aptly-mcp/build/index.js"],
      "env": {
        "APTLY_API_URL": "https://aptly.example.com",
        "APTLY_AUTH_TOKEN": "your-auth-token"
      }
    }
  }
}

Usage Examples

Once configured with Claude Desktop, you can use natural language commands:

Repository Management

  • "Create a new repository called 'production-packages' for production releases"
  • "List all repositories and show their package counts"
  • "Delete the 'test-repo' repository"

Package Operations

  • "Add all .deb files from the 'uploads' directory to the 'main' repository"
  • "Search for packages containing 'nginx' across all repositories"
  • "Remove the 'old-package' from the 'main' repository"

Snapshot Management

  • "Create a snapshot of the 'main' repository called 'v1.0-release'"
  • "List all snapshots and their creation dates"
  • "Create a merged snapshot from 'main' and 'contrib' repositories"

Publishing

  • "Publish the 'main' repository to the 'stable' distribution"
  • "Update the published 'testing' repository with the latest snapshot"
  • "List all published repositories and their endpoints"

Mirror Management

  • "Create a mirror of the Ubuntu main repository"
  • "Update all mirrors to get the latest packages"
  • "Show the status of the 'ubuntu-main' mirror"

Development

Building

npm run build

Testing

npm run inspector  # Launch MCP inspector for testing

Watching for Changes

npm run watch

API Documentation

The server connects to Aptly's REST API. Ensure your Aptly instance is running with API enabled:

aptly api serve -listen=":8080"

Security Considerations

  • Use Unix domain sockets instead of network ports in production
  • Implement proper authentication for remote Aptly servers
  • Consider using a reverse proxy with HTTPS for production deployments
  • Validate all inputs to prevent injection attacks

License

MIT License

MCP Server ยท Populars

MCP Server ยท New

    conorluddy

    Context-Pods

    ๐Ÿซ› Local-first Model Context Protocol management suite. Provides an MCP to create and manage other local MCPs. Useful for local Tooling etc.

    Community conorluddy
    vfarcic

    DevOps AI Toolkit

    Intelligent dual-mode agent for deploying applications to ANY Kubernetes cluster through dynamic discovery and plain English governance

    Community vfarcic
    paiml

    Depyler

    Compiles Python to Rust, helping transition off of Python to Energy Efficient and Safe Rust Code

    Community paiml
    campfirein

    Cipher

    Cipher is an opensource memory layer specifically designed for coding agents. Compatible with Cursor, Windsurf, Claude Desktop, Claude Code, Gemini CLI, AWS's Kiro, VS Code, and Roo Code through MCP, and coding agents, such as Kimi K2. Built by https://byterover.dev/

    Community campfirein
    neilberkman

    Clippy ๐Ÿ“Ž

    Unified clipboard tool for macOS that intelligently handles both text and file copying

    Community neilberkman