From mcp-to-cli
Generate standalone CLIs or make one-off tool calls from MCP servers using mcporter. Use when the user wants to convert an MCP into a compiled CLI, inspect available MCP tools, import MCP definitions from Claude Code/Cursor/Codex, authenticate remote HTTP MCPs, or call MCP tools without registering the server in Claude Code.
npx claudepluginhub leolionart/claude-skills --plugin mcp-to-cliThis skill uses the workspace's default tool permissions.
- Use `mcporter` to either:
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
mcporter to either:
--runtime bun --compile.claude, cursor, codex, stdio command, or HTTP MCP URLnode / npxbun if the output should be a compiled standalone binaryconfig/mcporter.json and bin/<name>| Situation | Command path |
|---|---|
| Inspect an MCP before doing anything else | npx -y mcporter list ... |
| One-off use only | npx -y mcporter call ... |
| Repeated use / reusable CLI | npx -y mcporter generate-cli ... --runtime bun --compile ... |
| MCP already defined in Claude Code / Cursor / Codex | npx -y mcporter config import <source> --copy --filter <server> |
| MCP known only by stdio command | npx -y mcporter generate-cli --command "<stdio command>" ... |
| MCP exposed as streamable HTTP | npx -y mcporter generate-cli --command https://.../mcp ... |
| Remote MCP requires OAuth / auth bootstrap | npx -y mcporter auth <server-or-url> before list, call, or generate-cli |
Identify the source and desired output mode
Import or define the MCP source
npx -y mcporter config import claude --copy --filter <server>
npx -y mcporter config import cursor --copy --filter <server>
npx -y mcporter config import codex --copy --filter <server>
config/mcporter.json.# stdio MCP
npx -y mcporter generate-cli --command "<stdio command>" --runtime bun --compile ./bin/<name>
# HTTP MCP
npx -y mcporter generate-cli --command https://example.com/mcp --runtime bun --compile ./bin/<name>
Inspect available tools
# Imported / named MCP
npx -y mcporter list <server> --config ./config/mcporter.json
# Raw stdio MCP
npx -y mcporter list --stdio "<stdio command>"
# Raw HTTP MCP
npx -y mcporter list https://example.com/mcp
Authenticate if needed
npx -y mcporter auth https://example.com/mcp
npx -y mcporter auth <server>
call or generate-cli.Optionally validate with a one-off call
# Imported / named MCP
npx -y mcporter call <server>.<tool> --config ./config/mcporter.json key=value
# Raw stdio MCP
npx -y mcporter call --stdio "<stdio command>" <tool> key=value
# Raw HTTP MCP
npx -y mcporter call --http-url https://example.com/mcp <tool> key=value
Generate the standalone CLI
# Imported / named MCP
npx -y mcporter generate-cli \
--server <server> \
--config ./config/mcporter.json \
--runtime bun \
--compile ./bin/<name>
# Raw stdio or HTTP MCP
npx -y mcporter generate-cli \
--command "<stdio command or https://example.com/mcp>" \
--runtime bun \
--compile ./bin/<name>
--runtime bun --compile for a true standalone executable.Report artifacts and usage
config/mcporter.json and bin/<name>,config/
mcporter.json
bin/
<name>
npx -y mcporter config import claude --copy --filter mcp-atlassian
npx -y mcporter list mcp-atlassian --config ./config/mcporter.json
npx -y mcporter generate-cli \
--server mcp-atlassian \
--config ./config/mcporter.json \
--runtime bun \
--compile ./bin/mcp-atlassian
./bin/mcp-atlassian --help
npx -y mcporter call mcp-atlassian.jira_search \
--config ./config/mcporter.json \
jql='text ~ "automation"' \
limit=10
npx -y mcporter list --stdio "npx -y chrome-devtools-mcp@latest"
npx -y mcporter generate-cli \
--command "npx -y chrome-devtools-mcp@latest" \
--runtime bun \
--compile ./bin/chrome-devtools
./bin/chrome-devtools --help
npx -y mcporter list https://mcp.example.com/mcp
npx -y mcporter generate-cli \
--command https://mcp.example.com/mcp \
--runtime bun \
--compile ./bin/example-mcp
./bin/example-mcp --help
npx -y mcporter auth https://mcp.example.com/mcp
npx -y mcporter call --http-url https://mcp.example.com/mcp some_tool argA=value
npx -y mcporter generate-cli \
--command https://mcp.example.com/mcp \
--runtime bun \
--compile ./bin/my-mcp
mcporter list resolves the expected tools for the chosen source.mcporter call succeeds before generation../bin/<name> --help.