Awesome-omni-skill mcp-installer
Install and configure MCP servers across desktop and CLI clients (Claude, Cline, Windsurf, Cursor, VSCode, Gemini CLI, Codex, Trae, Antigravity, etc.) on macOS/Windows/Linux, preferring @smithery/cli when supported and otherwise performing manual JSON config updates and path discovery.
install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/tools/mcp-installer" ~/.claude/skills/diegosouzapw-awesome-omni-skill-mcp-installer && rm -rf "$T"
manifest:
skills/tools/mcp-installer/SKILL.mdsource content
MCP Installer
Overview
Install MCP server configurations across multiple clients and OSes with a CLI-first workflow and a safe manual fallback.
Workflow
1) Collect inputs
- Identify the target client ID and OS; use
for the supported list and known paths.references/clients.md - Gather MCP server definitions (name -> config object) and decide whether to override existing entries.
- If any provided MCP config includes secrets (for example fields like
,key
,token
,apiKey
,accessToken
,secret
, orpassword
, or env vars likeAuthorization
,*_KEY
), pause the install and ask the user to obtain/provide those values first. Only proceed once the user confirms they have the required credentials (or requests installing a placeholder and will fill it in later).*_TOKEN
2) Prefer @smithery/cli (when supported)
- Run
andnpx @smithery/cli --help
to confirm the exact syntax.npx @smithery/cli install --help - Use the CLI install flow for the client ID; if the CLI rejects the client or fails, fall back to manual edits.
3) Manual install (JSON config fallback)
- Locate the config file path (see
). If unknown, search standard config dirs for files likereferences/clients.md
,mcp.json
,mcp_config.json
, orclaude_desktop_config.json
.cline_mcp_settings.json - Read existing JSON and ensure a top-level
object exists.mcpServers - Merge servers: add new names; replace existing when override is true; preserve all other keys.
- Write JSON with 2-space indentation.
Example shape:
{ "mcpServers": { "example-server": { "command": "npx", "args": ["-y", "example-mcp@latest"], "env": {} } } }
4) Verify and troubleshoot
- Restart the client and confirm the MCP servers appear.
- If writes fail on macOS, prompt for Full Disk Access and ensure the client app is closed before writing.
- For CLI-only clients (for example
), use the client CLI help to locate its MCP install/config command.claude-code - If Trae/Trae-CN installs fail due to permissions or other errors, generate a deep link and return it as a fallback.
5) Trae deep-link fallback
If
trae or trae-cn cannot write to disk, generate a schema link for the user to open in Trae:
:traetrae://trae.ai-ide/mcp-import?type=${TYPE}&name=${NAME}&config=${BASE64_ENCODED_CONFIG}
:trae-cntrae-cn://trae.ai-ide/mcp-import?type=${TYPE}&name=${NAME}&config=${BASE64_ENCODED_CONFIG}
Rules:
is the MCP transport type (for exampleTYPE
).streamable-http
is the server name shown in Trae.NAME
is the base64-encoded JSON config object for that server (no whitespace, UTF-8 bytes).config
References
- Use
for client IDs, aliases, and known config paths.references/clients.md