An MCP server for Aptible.
Note
This MCP server is still under development.
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.
- 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
api_client.py- API client for interacting with the Aptible APImodels/- Pydantic models for Aptible resourcesbase.py- Base models and resource manager- Resource-specific models (account.py, app.py, etc.)
main.py- MCP tools implementation
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.pyOr 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.
To run tests + linting
just test
just typecheck
just lintAll resource models extend the base ResourceBase class and include:
id- Unique identifierhandle- Human-readable identifier- Additional resource-specific fields
Each resource type has a dedicated manager class that extends ResourceManager and provides:
list()- List all resourcesget(identifier)- Get a specific resourcecreate(data)- Create a new resource- Resource-specific operations