Get started

Install

One command to bootstrap ASMP — or paste a prompt and let your agent do it.

Two ways in. Pick one.

One command

macOS or Linux, Python 3.10+:

curl -fsSL https://raw.githubusercontent.com/agent-service-manifest-protocol/agentservicemanifest.io/main/scripts/bootstrap-asmp.sh | bash

This will:

  1. Create ~/.asmp/services/ and ~/.asmp/host.yaml (if missing)
  2. Install a minimal registry server to ~/.asmp/bin/asmp-serve.py
  3. Install the asmp CLI to ~/.asmp/bin/asmp
  4. Start the registry on http://127.0.0.1:7700

Litmus — run the CLI gate checks:

~/.asmp/bin/asmp litmus

Or check health directly:

~/.asmp/bin/asmp health

Add ~/.asmp/bin to your PATH, then use asmp from anywhere. Full command reference: CLI.

The bootstrap registry is a thin stand-in until pip install asmp-registry ships. It handles list, discover, and register — no health polling yet.

Paste to your agent

Copy everything inside the box below into Claude Code, Cursor, Codex, or any agent with shell access. It installs ASMP and wires discovery into your global agent config.

Agent install prompt — copy all

Install ASMP (Agent Service Manifest Protocol) on this machine.

Goal: agents can discover local services by capability on turn one of every session.

Do all of the following. Run commands yourself — do not tell me what to run.

## 1. Bootstrap host layout + registry

Run:
curl -fsSL https://raw.githubusercontent.com/agent-service-manifest-protocol/agentservicemanifest.io/main/scripts/bootstrap-asmp.sh | bash

If that fails, manually:
- mkdir -p ~/.asmp/services ~/.asmp/bin
- Create ~/.asmp/host.yaml with registry.api http://127.0.0.1:7700 and registry.path ~/.asmp/services/
- curl -fsSL https://raw.githubusercontent.com/agent-service-manifest-protocol/agentservicemanifest.io/main/scripts/asmp-serve.py -o ~/.asmp/bin/asmp-serve.py
- python3 -m pip install --user pyyaml  (if needed)
- Start registry: nohup python3 ~/.asmp/bin/asmp-serve.py >> ~/.asmp/asmp-registry.log 2>&1 &

## 2. Verify registry

curl -s http://127.0.0.1:7700/health must return JSON with "status": "ok".

## 3. Wire global MCP (if this machine uses Cursor or Claude Code)

Find or create MCP config. Add an asmp-registry server that exposes service_find, service_list, service_health, service_register.

If ~/.asmp/bin/asmp-serve.py exists but no MCP bridge yet, use HTTP discovery as fallback and document the gap.

Preferred MCP entry (adapt path if you install a fuller bridge):
- command: python3
- args: path to an MCP server that wraps the :7700 registry

If aic-director-daemon exists on this machine, use:
  python3 <repo>/mcp_server/server.py
and register it as "asmp-registry" in:
- ~/.cursor/mcp.json under mcpServers
- ~/.claude/settings.json under mcpServers

Merge with existing servers — do not overwrite other MCP entries.

## 4. Register any services you find already running

For each local daemon/API you discover (email, databases, dashboards, MCP servers):
- Write ~/.asmp/services/{name}.asmp.yaml OR POST to http://127.0.0.1:7700/services
- Every manifest MUST include capabilities.provides (use tools.{name} if unsure)

## 5. Litmus tests (all must pass)

curl -s http://127.0.0.1:7700/health
curl -s http://127.0.0.1:7700/services
service_find or GET /capabilities?provides=... for at least one real capability if any service exists

## 6. Report back

Summarize: registry URL, service count, MCP config files changed, litmus results, and what I should reload (Cursor/Claude).

Docs: https://agentservicemanifest.io/what-is-asmp
Spec: https://agentservicemanifest.io/spec/registration-api

After install

1

Register a service

Write a manifest or use service_register via MCP. See Quickstart.

2

Make it discoverable

Every manifest needs capabilities.provides. See Manifest quality.

3

Reload your agent

Restart Cursor or Claude Code after editing global MCP config.

Troubleshooting

SymptomFix
Connection refused on :7700python3 ~/.asmp/bin/asmp-serve.py or re-run bootstrap script
No module named yamlpython3 -m pip install --user pyyaml
MCP works in one repo onlyAdd registry MCP to global ~/.cursor/mcp.json or ~/.claude/settings.json
service_find returns nothingManifests exist but lack capabilities.provides

Next