Get started
Quickstart
Register your first service with ASMP in five minutes.
Get a service discoverable on your host. No plist editing. No parallel registry files.
Prerequisites
- macOS or Linux with a user home directory
- Python 3.10+ (for the reference registry server)
- A service that exposes an HTTP health endpoint (or skip health for now)
1. Create the ASMP directory
mkdir -p ~/.asmp/services
2. Write a host profile
Create ~/.asmp/host.yaml:
asmp: "0.1"
kind: host
host_id: "my-machine"
device_class: personal_computer
os:
name: macOS
arch: arm64
capabilities:
- files.local
- networking
registry:
path: ~/.asmp/services/
api: http://127.0.0.1:7700
policy:
agent_can_register: true
requires_approval: false
max_services: 100
allowed_ports: "7000-9999"
3. Write a service manifest
Create ~/.asmp/services/hello.asmp.yaml:
asmp: "0.1"
kind: service
name: hello
description: "Minimal example service"
version: "0.1.0"
created_by: you
owner: you
run:
command: python3
args: ["-m", "http.server", "8787"]
working_dir: ~/
endpoints:
- protocol: http
host: 127.0.0.1
port: 8787
visibility: loopback
health:
method: http
target: http://127.0.0.1:8787/
interval: 30s
timeout: 5s
capabilities:
provides:
- demo.hello
display:
icon: "👋"
section: examples
4. Start the registry
Fastest path — Install one-liner:
curl -fsSL https://raw.githubusercontent.com/agent-service-manifest-protocol/agentservicemanifest.io/main/scripts/bootstrap-asmp.sh | bash
Or paste the agent install prompt and let your agent handle it.
pip install asmp-registry is coming; today the bootstrap script installs a minimal server to ~/.asmp/bin/asmp-serve.py.
Once running, verify with the CLI:
asmp litmus
asmp list
asmp find --capability demo.hello
Or via curl:
curl http://127.0.0.1:7700/health
curl http://127.0.0.1:7700/services
curl "http://127.0.0.1:7700/capabilities?provides=demo.hello"
5. Discover from an agent
With the MCP bridge connected, an agent can ask:
service_find(capability="demo.hello")
Response includes name, description, endpoint, health status, and repo path.
Register via API
Instead of writing a file by hand, POST a manifest:
curl -X POST http://127.0.0.1:7700/services \
-H "Content-Type: application/json" \
-d @~/.asmp/services/hello.asmp.yaml
The registry validates, writes the file, and makes the service discoverable immediately.
What happens next
When the full registration flow is wired, the host will also:
- Generate a LaunchAgent plist (macOS) or systemd unit (Linux)
- Add reverse-proxy routes for non-loopback endpoints
- Queue for human approval if
requires_approval: true
Today, manifests + discovery work. Provisioning automation is on the roadmap.