Add or update workspace MCP servers using holaOS mcp_registry syntax.
66
78%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./runtime/harnesses/src/embedded-skills/mcp-configurator/SKILL.mdUse this skill when the task is to add, remove, or update MCP access in a holaOS workspace.
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.mcp_registry.mcp_registry.allowlist.tool_ids must use strict server.tool syntax.mcp_registry.allowlist.tool_ids or setting it to [] means all discovered tools from enabled configured servers stay available for that run.runtime/harnesses/src/embedded-skills/.Use this shape for remote HTTP MCP servers:
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.searchHeader values must be either:
{env:ENV_VAR_NAME}This is invalid:
headers:
CONTEXT7_API_KEY: "{env:ctx7sk-live-abc123}"That is a placeholder-shaped literal secret, not an environment-variable reference.
Use this shape for local stdio MCP servers:
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.
Use mcp_registry.catalog for workspace-local tools implemented inside the repo:
mcp_registry:
servers:
workspace:
type: local
catalog:
workspace.echo:
module_path: tools.echo
symbol: echo_tool
allowlist:
tool_ids:
- workspace.echoNotes:
mcp_registry.servers.workspace must stay local.command for workspace.workspace.<tool> allowlist entry must have a matching mcp_registry.catalog entry.If the MCP tools come from a workspace app's app.runtime.yaml mcp.tools, prefer the app-managed flow:
mcp_registry.servers.<app_id> and mcp_registry.allowlist.tool_idsworkspace.yaml and confirm the final shape is mcp_registry, not a generic MCP config format.server.tool.mcp_registry.servers.{env:ENV_VAR_NAME} when environment indirection is intended.74c7b6f
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.