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 |
cp -r host_skills/skill-discovery/ /path/to/nanobot/nanobot/skills/
cp -r host_skills/delegate-task/ /path/to/nanobot/nanobot/skills/{
"tools": {
"mcpServers": {
"openspace": {
"command": "openspace-mcp",
"toolTimeout": 1200,
"env": {
"OPENSPACE_HOST_SKILL_DIRS": "/path/to/nanobot/nanobot/skills",
"OPENSPACE_WORKSPACE": "/path/to/OpenSpace",
"OPENSPACE_API_KEY": "sk-xxx"
}
}
}
}
}Tip
LLM credentials are auto-detected from nanobot's providers.* config — no need to set OPENSPACE_LLM_API_KEY.
{
"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.
cp -r host_skills/skill-discovery/ /path/to/openclaw/skills/
cp -r host_skills/delegate-task/ /path/to/openclaw/skills/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_API_KEY=sk-xxxopenclaw 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.
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_API_KEY?
| Capability | Without API Key | With API Key |
|---|---|---|
execute_task |
✅ works (local skills only) | ✅ + cloud skill search |
search_skills |
✅ works (local results only) | ✅ + cloud results |
fix_skill |
✅ works | ✅ works |
upload_skill |
❌ fails | ✅ uploads to cloud |
All tools default to "all" (local + cloud) and automatically fall back to local-only if no API key is configured. No need to change tool parameters.
Your Agent (nanobot / openclaw / ...)
│
│ MCP protocol (stdio | HTTP/SSE | streamable-http)
▼
openspace-mcp ← 4 tools exposed
├── execute_task ← multi-step grounding agent loop
├── search_skills ← local + cloud skill search
├── fix_skill ← repair a broken SKILL.md
└── upload_skill ← 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 | search_skills |
Search local + cloud skills → decide: follow it yourself, delegate, or skip |
| delegate-task | execute_task search_skills fix_skill upload_skill |
Delegate tasks, search skills, repair broken skills, upload evolved skills |
Skills auto-evolve inside execute_task (FIX / DERIVED / CAPTURED). 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.