Ecosystem
Composability
How ASMP composes with MCP, A2A, and host runtimes.
ASMP does not compete with existing protocols. It fills a gap they leave open.
Protocol map
| Protocol | Layer | Question | Example |
|---|---|---|---|
| MCP | Tool | What tools can I use? | search_web(), read_file() |
| A2A / ACP | Agent | What agents can I talk to? | Delegate to a coding agent |
| ASMP | Host | What services run here? | email-daemon on :8787 |
| launchd/systemd | Runtime | How does it stay running? | LaunchAgent plist |
| Caddy/nginx | Network | How do I route to it? | email.localhost |
Composition patterns
ASMP → MCP
Service registers via ASMP with capabilities. MCP bridge exposes those capabilities as callable tools.
A2A → ASMP
An agent discovered via A2A registers a new service it built via ASMP POST /services.
ASMP → launchd
Host reads manifest run and lifecycle fields. Generates LaunchAgent plist. Loads it.
ASMP → Caddy
Host reads endpoints with visibility: tailnet or public. Generates proxy route.
ASMP → Omni
Memory pointer layer reads ASMP to know what systems exist before routing retrieval queries.
ASMP → Knox
Policy engine reads data.sensitivity and policy.requires_approval before granting access.
What ASMP replaces
In ecosystems with parallel registries:
| Before | After |
|---|---|
~/.config/reeves/apps.yaml | ~/.asmp/services/*.asmp.yaml |
config/services.yaml (dashboard) | Dashboard reads ~/.asmp/services/ |
| Manual LaunchAgent creation | Generated from manifest |
| Manual Caddyfile edits | Generated from endpoints |
| Two registries that drift | One directory, many consumers |