Skip to content

aptible/aptible-mcp

Repository files navigation

Aptible MCP

An MCP server for Aptible.

Note

This MCP server is still under development.

Overview

This project provides MCP tools for interacting with the Aptible API. It uses Pydantic models for standardized data handling and provides consistent CRUD operations for Aptible resources.

Features

  • Standardized models for Aptible resources (Account, App, Database, etc.)
  • Consistent CRUD operations across resource types
  • Pydantic validation for request/response data
  • Type hints for better developer experience

Structure

  • api_client.py - API client for interacting with the Aptible API
  • models/ - Pydantic models for Aptible resources
    • base.py - Base models and resource manager
    • Resource-specific models (account.py, app.py, etc.)
  • main.py - MCP tools implementation

Usage

This MCP server assumes you are currently logged in via the Aptible CLI. This README also assumes you have uv and just installed, which you can do using Homebrew by running brew install uv just.

Once logged in via the Aptible CLI, start the MCP server with:

uv run python main.py

Or add the MCP server to your client config:

{
  "mcpServers": {
    "aptible": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/aptible-mcp",
        "run",
        "main.py"
      ]
    }
  }
}

To determine where this configuration should live, reference the documentation for your MCP Client. For reference, Claude Desktop stores its configuration in ~/Library/Application Support/Claude/claude_desktop_config.json on MacOS and %APPDATA%\Claude\claude_desktop_config.json on Windows. Claude Code stores its configuration in ~/.claude.json.

Testing

To run tests + linting

just test

just typecheck

just lint

Resource Models

All resource models extend the base ResourceBase class and include:

  • id - Unique identifier
  • handle - Human-readable identifier
  • Additional resource-specific fields

Resource Managers

Each resource type has a dedicated manager class that extends ResourceManager and provides:

  • list() - List all resources
  • get(identifier) - Get a specific resource
  • create(data) - Create a new resource
  • Resource-specific operations

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors