Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TRANSPORT | No | Transport backend (local-relay, future: tailscale) | local-relay |
| RELAY_REGISTRY_DIR | No | Directory containing registration JSON files | ~/.local/share/opencode-relay |
| DISCOVERY_INTERVAL_MS | No | How often to refresh instance list (ms) | 30000 |
| HEALTH_CHECK_TIMEOUT_MS | No | Timeout for health-checking each instance (ms) | 3000 |
| OPENCODE_SERVER_PASSWORD | No | HTTP Basic auth password for opencode instances | |
| OPENCODE_SERVER_USERNAME | No | HTTP Basic auth username | opencode |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_instances | List all discovered opencode instances across connected machines |
| refresh_instances | Re-scan for opencode instances, health-check each one, and return the updated list |
| list_sessions | List all sessions on an opencode instance, showing ID, title, message count, and status |
| get_session | Get session details and recent messages from an opencode instance, formatted as a readable conversation |
| create_session | Create a new chat session on an opencode instance |
| send_message | Send a message to a session on an opencode instance. Use async=true for long-running tasks (builds, multi-file edits) to avoid timeouts. |
| get_status | Get the status (idle/busy/retry) of all sessions on an opencode instance |
| abort_session | Abort a running session on an opencode instance |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |