From plaited-plaited
Connects to remote HTTP MCP servers via Streamable HTTP transport for capability discovery, tool calling, skill authoring, and auth configuration.
How this skill is triggered — by the user, by Claude, or both
Slash command
/plaited-plaited:add-remote-mcpThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Connect to remote HTTP MCP servers via Streamable HTTP transport. Use `plaited mcp-client`
Connect to remote HTTP MCP servers via Streamable HTTP transport. Use plaited mcp-client
for all operations — no wrapper scripts needed.
Remote MCP servers present one of two URL types:
discover, list-tools,
list-prompts, list-resources operations.
Example: https://bun.com/docs/mcpcall-tool, get-prompt,
read-resource.Always try the URL you have first. If call-tool fails on a discovery URL, use discover to
inspect the advertised capabilities — the provider may publish a separate transport endpoint.
Use plaited mcp-client for all discovery and inspection. Every operation accepts optional
auth, headers, and timeoutMs fields.
# Discover all capabilities
`plaited mcp-client '{"mode":"discover","url":"https://example.com/mcp"}'
# List tools only
`plaited mcp-client '{"mode":"list-tools","url":"https://example.com/mcp"}'
# List prompts
`plaited mcp-client '{"mode":"list-prompts","url":"https://example.com/mcp"}'
# List resources
`plaited mcp-client '{"mode":"list-resources","url":"https://example.com/mcp"}'
See plaited mcp-client --help for all 7 modes and plaited mcp-client --schema input for
the full input schema.
When authoring a new skill for a remote MCP server, the pattern is:
plaited mcp-client '{"mode":"discover","url":"https://example.com/mcp"}'
SKILL.md as inline
CLI examples:
# Tool usage
plaited mcp-client '{"mode":"call-tool","url":"https://example.com/mcp","tool":"search","args":{"query":"..."}}'
No wrapper scripts needed. The CLI replaces the old pattern of generated scripts/search.ts
files. If the server needs auth, include the auth field directly in the example:
`plaited mcp-client '{"mode":"call-tool","url":"https://example.com/mcp","tool":"search","args":{"query":"..."},"auth":{"type":"bearer-env","token":{"envVar":"MY_TOKEN"}}}'
No options needed:
`plaited mcp-client '{"mode":"list-tools","url":"https://example.com/mcp"}'
Pass the bearer token via an environment variable:
`plaited mcp-client '{"mode":"list-tools","url":"https://example.com/mcp","auth":{"type":"bearer-env","token":{"envVar":"MY_API_KEY"}}}'
For servers needing OAuth client credentials, refresh tokens, or secrets injected via Varlock, pass the full auth config inline:
All secrets resolve from environment variables. Inject them via your secret manager (Varlock, 1Password, CI secrets, etc.) before invoking the CLI.
`plaited mcp-client '{"mode":"call-tool","url":"https://example.com/mcp","tool":"my_tool","args":{"key":"value"},"auth":{"type":"bearer-env","token":{"envVar":"MY_MCP_ACCESS_TOKEN"}}}'
`plaited mcp-client '{"mode":"list-tools","url":"https://example.com/mcp","auth":{"type":"oauth-client-credentials","tokenUrl":"https://issuer.example.com/oauth/token","clientId":{"envVar":"MY_MCP_CLIENT_ID"},"clientSecret":{"envVar":"MY_MCP_CLIENT_SECRET"},"scopes":["mcp:tools"]}}'
By default, rotated refresh tokens are held in memory only. Add tokenPersistence
to survive across CLI invocations. The default path is
~/.plaited/mcp/tokens/<host>.json.
`plaited mcp-client '{"mode":"call-tool","url":"https://example.com/mcp","tool":"my_tool","args":{"key":"value"},"auth":{"type":"oauth-refresh-token","tokenUrl":"https://issuer.example.com/oauth/token","clientId":{"envVar":"MY_MCP_CLIENT_ID"},"clientSecret":{"envVar":"MY_MCP_CLIENT_SECRET"},"refreshToken":{"envVar":"MY_MCP_REFRESH_TOKEN"},"tokenPersistence":{"kind":"file"}}}'
Use plaited mcp-client --schema input to inspect the complete schema.
tokenPersistence: { kind: "file" }, the rotated refresh token is written to
~/.plaited/mcp/tokens/<host>.json (same sensitivity as gcloud ADC or aws SSO cache).
Omit tokenPersistence to keep everything in-memory (lossy across invocations — the
caller re-injects bootstrap secrets each time).npx claudepluginhub joshuarweaver/cascade-code-general-misc-3 --plugin plaited-plaitedGuides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Enforces test-driven development: write failing test first, then minimal code to pass. Use when implementing features or bugfixes.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.