6.6 KiB
Host Skills Integration Guide
This guide covers agent-specific setup for integrating OpenSpace. For installation and general concepts, see the main README.
Quick recommendation:
- Use stdio if you want the simplest setup.
- For nanobot, prefer SSE if you want OpenSpace to run as a standalone server.
- For openclaw, prefer streamable-http for remote HTTP transport.
Common remote endpoints:
- Start
openspace-mcp --transport sse --host 127.0.0.1 --port 8080and usehttp://127.0.0.1:8080/sse - Start
openspace-mcp --transport streamable-http --host 127.0.0.1 --port 8081and usehttp://127.0.0.1:8081/mcp
The endpoint is common; the host config syntax is not. nanobot uses tools.mcpServers, while openclaw uses openclaw mcp set.
Pick your agent:
| Agent | Setup Guide |
|---|---|
| nanobot | Setup for nanobot |
| openclaw | Setup for openclaw |
| Other agents | Follow the generic setup in the main README |
Setup for nanobot
1. Copy host skills
cp -r host_skills/skill-discovery/ /path/to/nanobot/nanobot/skills/
cp -r host_skills/delegate-task/ /path/to/nanobot/nanobot/skills/
2. Option A: stdio (simplest)
{
"tools": {
"mcpServers": {
"openspace": {
"command": "openspace-mcp",
"toolTimeout": 1200,
"env": {
"OPENSPACE_HOST_SKILL_DIRS": "/path/to/nanobot/nanobot/skills",
"OPENSPACE_WORKSPACE": "/path/to/OpenSpace",
"OPENSPACE_CLOUD_MODE": "live",
"OPENSPACE_CLOUD_API_KEY": "sk-xxx"
}
}
}
}
}
Tip
LLM credentials are auto-detected from nanobot's
providers.*config — no need to setOPENSPACE_LLM_API_KEY.
3. Option B: remote HTTP transport
{
"tools": {
"mcpServers": {
"openspace": {
"type": "sse",
"url": "http://127.0.0.1:8080/sse",
"toolTimeout": 1200
}
}
}
}
Or:
{
"tools": {
"mcpServers": {
"openspace": {
"type": "streamableHttp",
"url": "http://127.0.0.1:8081/mcp",
"toolTimeout": 1200
}
}
}
}
toolTimeout still matters here. Changing transport to sse or streamableHttp does not remove nanobot's per-call timeout for slow MCP tools.
Setup for openclaw
1. Copy host skills
cp -r host_skills/skill-discovery/ /path/to/openclaw/skills/
cp -r host_skills/delegate-task/ /path/to/openclaw/skills/
2. Option A: stdio via mcporter
openclaw uses mcporter as its MCP runtime. Register the server and pass env vars in one command:
mcporter config add openspace --command "openspace-mcp" \
--env OPENSPACE_HOST_SKILL_DIRS=/path/to/openclaw/skills \
--env OPENSPACE_WORKSPACE=/path/to/OpenSpace \
--env OPENSPACE_CLOUD_MODE=live \
--env OPENSPACE_CLOUD_API_KEY=sk-xxx
3. Option B: remote HTTP transport
openclaw mcp set openspace '{"url":"http://127.0.0.1:8081/mcp","transport":"streamable-http","connectionTimeoutMs":10000}'
If you specifically want legacy SSE instead, OpenClaw also supports:
openclaw mcp set openspace '{"url":"http://127.0.0.1:8080","connectionTimeoutMs":10000}'
connectionTimeoutMs controls connection establishment for the remote server. It does not guarantee unlimited runtime for a long-running MCP tool call.
Environment Variables (Agent-Specific)
The three env vars in each agent's setup above are the most important. For the full env var list, config files reference, and advanced settings, see the Configuration Guide in the main README.
What needs OPENSPACE_CLOUD_API_KEY?
| Capability | Without API Key | With API Key |
|---|---|---|
cloud_auth_flow |
✅ creates/stores an agent key with user credentials | ✅ verifies the current key |
execute_task |
✅ works (local skills only) | ✅ + cloud skill search |
search_skills |
✅ works (local results only) | ✅ local results only |
cloud_browse_skills |
❌ fails | ✅ lets the agent browse cloud packages and import selected skills into the local package taxonomy |
fix_skill |
✅ drains repair job locally | ✅ drains repair job locally |
upload_skill |
❌ fails | ✅ resolves package placement and uploads to cloud |
Run openspace-cloud-auth bootstrap-agent-key --email you@example.com --agent-name openspace-local-agent to create or recover an owner-scoped agent key and store OPENSPACE_CLOUD_MODE=live together with OPENSPACE_CLOUD_API_KEY. execute_task falls back to local-only when cloud is off. Explicit cloud-only operations report a configuration error when cloud is disabled.
How It Works
Your Agent (nanobot / openclaw / ...)
│
│ MCP protocol (stdio | HTTP/SSE | streamable-http)
▼
openspace-mcp ← cloud, execution, evolution, and upload tools
├── cloud_auth_flow ← register/login and provision cloud agent keys
├── execute_task ← multi-step grounding agent loop
├── search_skills ← local skill search
├── cloud_browse_skills ← LLM-guided cloud package/skill browsing and local taxonomy import
├── fix_skill ← run a manual FIX job through evolution
└── upload_skill ← resolve placement and push skill to cloud community
The two host skills teach the agent when and how to call these tools:
| Skill | MCP Tools | Purpose |
|---|---|---|
| skill-discovery | cloud_auth_flow search_skills cloud_browse_skills |
Search local skills, browse cloud packages step by step when needed → decide: follow it yourself, delegate, or skip |
| delegate-task | cloud_auth_flow execute_task search_skills cloud_browse_skills fix_skill upload_skill |
Set up cloud access, delegate tasks, use local or LLM-guided cloud skill discovery, run skill repair jobs, upload evolved skills |
Skills auto-evolve inside execute_task (FIX / DERIVED / CAPTURED). fix_skill is only complete when it returns fixed; accepted_audit_only, rejected, and failed are not uploadable repairs. After every call, your agent reports results to the user via its messaging tool.
Note
For full parameter tables, examples, and decision trees, see each skill's SKILL.md directly.