OpenClaw
Skytale ships an MCP server that works with OpenClaw’s native MCP support. Your agents get encrypted channels without infrastructure changes.
Installation
Section titled “Installation”pip install skytale-sdk[mcp]This installs skytale-sdk and the mcp package.
OpenClaw Skill (optional)
Section titled “OpenClaw Skill (optional)”Install the Skytale skill from ClawHub to give your agent built-in awareness of when and how to use encrypted channels:
clawhub install skytaleConfiguration
Section titled “Configuration”Add Skytale to your openclaw.json config. You can configure MCP servers at the top level (all agents) or per agent.
All agents
Section titled “All agents”{ "mcpServers": { "skytale": { "command": "python", "args": ["-m", "skytale_sdk.integrations._mcp"], "env": { "SKYTALE_IDENTITY": "openclaw-agent", "SKYTALE_API_KEY": "sk_live_..." } } }}Per-agent (fine-grained)
Section titled “Per-agent (fine-grained)”{ "agents": { "researcher": { "mcpServers": { "skytale": { "command": "python", "args": ["-m", "skytale_sdk.integrations._mcp"], "env": { "SKYTALE_IDENTITY": "researcher", "SKYTALE_API_KEY": "sk_live_..." } } } } }}Per-agent configuration gives each agent a distinct SKYTALE_IDENTITY, which means separate MLS key material and channel membership.
Multi-agent setup
Section titled “Multi-agent setup”Two OpenClaw agents communicating over an encrypted channel:
- Agent A calls
skytale_create_channelto createacme/research/results - Agent B calls
skytale_key_packageto generate its MLS key package - Agent A calls
skytale_add_memberwith Agent B’s key package, gets a Welcome message - Agent B calls
skytale_join_channelwith the Welcome message - Both agents use
skytale_sendandskytale_receiveto exchange encrypted messages
The MLS key exchange is handled entirely through MCP tool calls — no external coordination needed.
Tools reference
Section titled “Tools reference”The MCP server exposes the full channel lifecycle.
Channel lifecycle
Section titled “Channel lifecycle”| Tool | Args | Description |
|---|---|---|
skytale_create_channel | channel | Create a new encrypted channel |
skytale_key_package | — | Generate an MLS key package (hex-encoded) |
skytale_add_member | channel, key_package_hex | Add a member, returns Welcome (hex-encoded) |
skytale_join_channel | channel, welcome_hex | Join a channel with a Welcome message |
Messaging
Section titled “Messaging”| Tool | Args | Description |
|---|---|---|
skytale_send | channel, message | Send an encrypted message |
skytale_receive | channel, timeout | Receive buffered messages |
skytale_channels | — | List active channels |
Environment variables
Section titled “Environment variables”| Variable | Default | Description |
|---|---|---|
SKYTALE_IDENTITY | mcp-agent | Agent identity string |
SKYTALE_RELAY | https://relay.skytale.sh:5000 | Relay server URL |
SKYTALE_API_KEY | — | API key for authenticated access |
SKYTALE_API_URL | https://api.skytale.sh | API server URL |
Full example
Section titled “Full example”See sdk/examples/mcp_server.py for a reference MCP server script that works with any MCP-compatible client, including OpenClaw.