Skip to content

Registry

The registry is a JSON file that maps agent names to their connection details. Every send, ping, and MCP call looks up the target agent in the registry.

Default: registry.json in the current directory.

Override with:

  • --registry <path> flag (before the subcommand)
  • SOCIETY_REGISTRY environment variable
{
"agents": [
{
"name": "echo",
"url": "http://localhost:8001",
"description": "Echoes messages back",
"version": "1.0.0",
"skills": [
{ "id": "echo", "name": "Echo", "description": "Echoes input" }
],
"capabilities": {
"streaming": false,
"pushNotifications": false
},
"transport": null
},
{
"name": "server-claude",
"url": "http://localhost:8003",
"description": "Claude on remote server",
"transport": {
"type": "ssh",
"config": {
"host": "server",
"user": "deploy",
"key_path": "/home/you/.ssh/id_ed25519",
"port": "22",
"forward_port": "8003"
}
}
}
]
}
FieldTypeRequiredDescription
namestringYesUnique agent name
urlstringYesAgent URL (used for HTTP transport or display)
descriptionstringNoHuman-readable description
versionstringNoAgent version
skillsarrayNoList of {id, name, description}
capabilitiesobjectNo{streaming, pushNotifications} booleans
transportobjectNoTransport config (null = HTTP)

When transport is null or absent, HTTP transport is used with the url field directly.

Otherwise:

{
"type": "ssh|docker|stdio",
"config": { ... }
}

See Transports for config keys per type.

Terminal window
society onboard # interactive
society discover <url> # from running agent
society import <file> # bulk import
Terminal window
society list
Terminal window
society remove <name>
Terminal window
society export --output backup.json
society import backup.json

Import handles conflicts interactively: overwrite, skip, or rename.

If the registry file doesn’t exist when society runs, it creates an empty one automatically. You don’t need to create it manually.

The MCP server reloads the registry on every tools/list call. You can add or remove agents while the MCP server is running — clients pick up changes on their next tool list refresh.