Deterministic package-manager-style resolver for AI skills
Project description
Aptitude Resolver
A deterministic, package-manager-style resolver for AI skills.
Install
Install the published package as a CLI tool:
uv tool install aptitude-resolver
aptitude --help
Run it without a persistent install:
uvx aptitude-resolver --help
The package installs these console commands:
aptitudeaptitude-resolveraptitude-mcp
aptitude is the command most users should run.
For MCP hosts that should launch the published package without a persistent install, use:
uvx aptitude-resolver mcp
Configure Registry Access
Registry-backed commands use the public Aptitude registry by default. Provide a read token:
export APTITUDE_READ_TOKEN=your-read-token
Override the registry URL only for local development or self-hosted registries:
export APTITUDE_SERVER_BASE_URL=http://localhost:8000
export APTITUDE_READ_TOKEN=reader-token
aptitude policy show can still inspect local policy without contacting the registry.
Usage
Launch the install-first wizard:
aptitude
Install a skill by query:
aptitude install "Postman Primary Skill"
Inspect effective local policy and config layers:
aptitude policy show
Replay an existing lockfile:
aptitude sync --lock aptitude.lock.json
Show the full command and flag surface:
aptitude manifest
MCP Server
Aptitude ships a local stdio MCP server for agents and MCP-compatible apps. The recommended MCP host configuration runs the published PyPI package locally through uvx:
{
"mcpServers": {
"aptitude": {
"command": "uvx",
"args": [
"aptitude-resolver",
"mcp"
],
"env": {
"APTITUDE_READ_TOKEN": "your-local-read-token"
}
}
}
}
The MCP server process still runs locally. uvx only resolves the published package and starts its mcp command over stdio.
The MCP server exposes tools for search, inspect, resolve, policy inspection, install, and lock sync. Mutating tools require explicit filesystem targets.
If Aptitude is already installed as a persistent tool, MCP hosts can also use the direct executable:
{
"mcpServers": {
"aptitude": {
"command": "aptitude-mcp",
"args": [],
"env": {
"APTITUDE_READ_TOKEN": "your-local-read-token"
}
}
}
}
Replace APTITUDE_READ_TOKEN with a token accepted by the target Aptitude Server.
What Works Today
- discovery-backed query resolution
- candidate version selection
- recursive dependency graph resolution
- policy filtering and graph governance
- lockfile generation and replay
- archive-based skill materialization from verified
tar.zstartifacts - local config loading from
aptitude.toml - CLI and MCP interfaces
Source
Source and contributor documentation live in the project repository:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aptitude_resolver-0.1.7.tar.gz.
File metadata
- Download URL: aptitude_resolver-0.1.7.tar.gz
- Upload date:
- Size: 83.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
848eb906b5366b535dba37c543868ed38ddfc69424e7de1cc9ad9e1f68782e33
|
|
| MD5 |
fa7b7e2b6435e77384036b03bb17aafd
|
|
| BLAKE2b-256 |
185e2699e9fffe98ebd22d3b4ad2607695bf426e33d027910705f769fb724dec
|
File details
Details for the file aptitude_resolver-0.1.7-py3-none-any.whl.
File metadata
- Download URL: aptitude_resolver-0.1.7-py3-none-any.whl
- Upload date:
- Size: 133.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4037de4be6bb3e805d8c53469c99af5a501690602e643d2a8eceb6de448380f5
|
|
| MD5 |
05109848eac8e51701727ac529499219
|
|
| BLAKE2b-256 |
4aa2c93d0c0090655e0be7ec3a146ce633f0d6a9b45b88c811f63bef4449b125
|