mcp-configurator
The mcp-configurator skill manages Model Context Protocol server configuration within holaOS workspaces by adding, updating, or removing MCP server entries in the workspace.yaml file. Use this skill when you need to enable remote or local MCP servers, define tool allowlists, or configure workspace-local tools in the mcp_registry section, following holaOS-specific syntax requirements for remote HTTP servers, local stdio processes, and tool catalogs.
git clone --depth 1 https://github.com/holaboss-ai/holaOS /tmp/mcp-configurator && cp -r /tmp/mcp-configurator/runtime/harnesses/src/embedded-skills/mcp-configurator ~/.claude/skills/mcp-configuratorSKILL.md
# MCP Configurator
Use this skill when the task is to add, remove, or update MCP access in a holaOS workspace.
## Core Rules
1. Edit `workspace.yaml` at the workspace root. Do not create `mcp.json`, `.cursor/mcp.json`, `claude_desktop_config.json`, or another generic MCP config unless the user explicitly asks for that format.
2. Workspace-level MCP lives under `mcp_registry`.
3. Tool ids in `mcp_registry.allowlist.tool_ids` must use strict `server.tool` syntax.
4. Omitting `mcp_registry.allowlist.tool_ids` or setting it to `[]` means all discovered tools from enabled configured servers stay available for that run.
5. Mixed mode is valid: some servers can be constrained by explicit allowlisted tool ids while other enabled servers stay discover-all.
6. This embedded skill is guidance only. When the user asks to add MCP to a workspace, update the target workspace config instead of writing new files under `runtime/harnesses/src/embedded-skills/`.
## Remote Server Shape
Use this shape for remote HTTP MCP servers:
```yaml
mcp_registry:
servers:
context7:
type: remote
url: https://mcp.context7.com/mcp
enabled: true
timeout_ms: 30000
headers:
CONTEXT7_API_KEY: "{env:CONTEXT7_API_KEY}"
allowlist:
tool_ids:
- context7.lookup
- context7.search
```
Header values must be either:
- a literal secret value
- or `{env:ENV_VAR_NAME}`
This is invalid:
```yaml
headers:
CONTEXT7_API_KEY: "{env:ctx7sk-live-abc123}"
```
That is a placeholder-shaped literal secret, not an environment-variable reference.
## Local Server Shape
Use this shape for local stdio MCP servers:
```yaml
mcp_registry:
servers:
my_server:
type: local
command:
- npx
- -y
- "@acme/my-mcp"
enabled: true
timeout_ms: 30000
environment:
MY_SERVER_API_KEY: "{env:MY_SERVER_API_KEY}"
```
Local MCP commands must be a non-empty list of command tokens.
## Workspace Tool Catalog Shape
Use `mcp_registry.catalog` for workspace-local tools implemented inside the repo:
```yaml
mcp_registry:
servers:
workspace:
type: local
catalog:
workspace.echo:
module_path: tools.echo
symbol: echo_tool
allowlist:
tool_ids:
- workspace.echo
```
Notes:
- `mcp_registry.servers.workspace` must stay `local`.
- The runtime owns the actual workspace MCP host command, so do not try to wire a custom `command` for `workspace`.
- Each `workspace.<tool>` allowlist entry must have a matching `mcp_registry.catalog` entry.
## App-Managed MCP
If the MCP tools come from a workspace app's `app.runtime.yaml` `mcp.tools`, prefer the app-managed flow:
- keep the app manifest correct
- let the runtime reconcile `mcp_registry.servers.<app_id>` and `mcp_registry.allowlist.tool_ids`
- do not hand-maintain those generated entries unless the task explicitly requires it
## Verification
1. Re-open `workspace.yaml` and confirm the final shape is `mcp_registry`, not a generic MCP config format.
2. Confirm every allowlisted tool id is `server.tool`.
3. Confirm every referenced server id exists under `mcp_registry.servers`.
4. Confirm placeholder syntax is `{env:ENV_VAR_NAME}` when environment indirection is intended.
5. Remember that MCP config changes take effect on the next run, not retroactively inside the already running harness session.Build a new holaOS app using @holaboss/app-builder-sdk (5 backend primitives + optional shadcn dashboard UI). The canonical path for vibe-coded apps — integration modules AND dashboard apps both live here.
Use when working in the embedded browser and you want the cheapest reliable interaction loop.
Use when validating or debugging a workflow in the embedded browser and you need a reproducible, evidence-first loop.
Build the visual layer of a holaOS dashboard app — TanStack Start + @holaboss/ui + workspace tokens. Use when an app has SDK primitives wired (via app-builder-sdk) AND needs a `src/client/` UI surface. NOT for marketing pages, NOT for snapshot HTML reports.
Provision a production-ready teammate only after its stable responsibilities, prerequisites, and reusable operating guidance are understood.
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications. Generates creative, polished code that avoids generic AI aesthetics.
This skill is for interface design — dashboards, admin panels, apps, tools, and interactive products. NOT for marketing design (landing pages, marketing sites, campaigns).
Guide for creating effective skills. Use when creating or updating a skill.