home / skills / nicobailon / conport-mcporter-skills / mcporter

mcporter skill

/skills/mcporter

This skill enables seamless MCP server access and tool calls via npx, discovering available services and executing tools without local installation.

npx playbooks add skill nicobailon/conport-mcporter-skills --skill mcporter

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
5.4 KB
---
name: mcporter
description: Use when you need to access MCP servers without installing them directly in Claude Code. MCPorter provides CLI access to any MCP server via npx, enabling tool discovery, direct calls, and ad-hoc connections. Use for accessing external MCP capabilities like browser automation, API integrations, or any MCP-based tooling.
---

<mcporter_skill>
  <overview>
    MCPorter is a CLI and runtime for Model Context Protocol (MCP) servers. It enables access to any MCP server without direct installation, auto-discovers configured servers, and provides ergonomic tool calling from the command line.
  </overview>

  <when_to_use>
    <scenario>Accessing MCP tools without installing them directly in Claude Code</scenario>
    <scenario>Discovering what MCP servers are available on the user's machine</scenario>
    <scenario>Calling MCP tools via CLI for automation or testing</scenario>
    <scenario>Connecting to ad-hoc MCP endpoints without configuration</scenario>
    <scenario>Inspecting available tools and their schemas from any MCP server</scenario>
  </when_to_use>

  <installation>
    <note>No installation required - use via npx</note>
    <alternative>npm install -g mcporter</alternative>
    <alternative>brew install steipete/tap/mcporter</alternative>
  </installation>

  <core_commands>
    <command name="List all discovered MCP servers">
      npx mcporter list
    </command>

    <command name="List tools from a specific server">
      npx mcporter list server_name
    </command>

    <command name="List tools with full JSON schema">
      npx mcporter list server_name --schema
    </command>

    <command name="Call a tool (colon syntax)">
      npx mcporter call server_name.tool_name arg1:value1 arg2:value2
    </command>

    <command name="Call a tool (function syntax)">
      npx mcporter call 'server_name.tool_name(arg1: "value1", arg2: "value2")'
    </command>

    <command name="Ad-hoc connection to HTTP MCP server">
      npx mcporter list --http-url https://mcp-server-url --name custom_name
    </command>

    <command name="Ad-hoc connection to stdio MCP server">
      npx mcporter call --stdio "npx -y some-mcp-server@latest" server.tool_name
    </command>
  </core_commands>

  <ad_hoc_mcp_access>
    <description>Access any MCP server without configuration using stdio or http flags</description>

    <pattern name="Run MCP server via npx and call tool">
      npx mcporter call --stdio "npx -y mcp-server-name@latest" server.tool_name arg:value
    </pattern>

    <pattern name="Discover tools from npx MCP server">
      npx mcporter list --stdio "npx -y mcp-server-name@latest" --name my_server
    </pattern>

    <pattern name="Connect to remote HTTP MCP endpoint">
      npx mcporter call --http-url https://mcp.example.com/mcp server.tool_name
    </pattern>
  </ad_hoc_mcp_access>

  <daemon_management>
    <description>For stateful servers that need persistent connections (like Chrome DevTools)</description>
    <command name="Check daemon status">npx mcporter daemon status</command>
    <command name="Start daemon">npx mcporter daemon start</command>
    <command name="Stop daemon">npx mcporter daemon stop</command>
  </daemon_management>

  <code_generation>
    <command name="Generate standalone CLI from MCP server">
      npx mcporter generate-cli "npx -y some-mcp-server@latest"
    </command>

    <command name="Generate TypeScript types">
      npx mcporter emit-ts server_name --out types/server.d.ts
    </command>

    <command name="Generate TypeScript client wrapper">
      npx mcporter emit-ts server_name --mode client --out clients/server.ts
    </command>
  </code_generation>

  <output_handling>
    <description>Results wrap in CallResult with helper methods</description>
    <method name=".text()">Plain text output</method>
    <method name=".markdown()">Markdown formatted output</method>
    <method name=".json()">Parsed JSON output</method>
    <method name=".content()">Raw content array</method>

    <flags>
      <flag name="--json">Output as JSON</flag>
      <flag name="--output json">Alternative JSON output flag</flag>
    </flags>
  </output_handling>

  <common_mcp_servers>
    <server name="chrome-devtools">
      <access>npx mcporter call --stdio "npx -y chrome-devtools-mcp@latest" chrome-devtools.tool_name</access>
      <use_case>Browser automation, screenshots, DOM inspection, console access</use_case>
    </server>

    <server name="firecrawl">
      <use_case>Web crawling and scraping</use_case>
    </server>

    <server name="linear">
      <use_case>Linear issue tracking integration</use_case>
    </server>
  </common_mcp_servers>

  <troubleshooting>
    <issue name="Tool name typos">
      MCPorter provides "Did you mean...?" suggestions for typos
    </issue>

    <issue name="Timeout errors">
      <solution>Set MCPORTER_CALL_TIMEOUT environment variable</solution>
      <solution>Use --timeout flag</solution>
    </issue>

    <issue name="Debug logging">
      npx mcporter --log-level debug call server.tool
    </issue>
  </troubleshooting>

  <workflow>
    <step number="1">Discover available servers: npx mcporter list</step>
    <step number="2">Inspect server tools: npx mcporter list server_name</step>
    <step number="3">View tool schema if needed: npx mcporter list server_name --schema</step>
    <step number="4">Call the tool: npx mcporter call server_name.tool_name args</step>
  </workflow>
</mcporter_skill>

Overview

This skill provides a lightweight CLI and runtime for accessing Model Context Protocol (MCP) servers without installing them directly. It discovers MCP servers on your machine or connects ad-hoc via HTTP or stdio, then lists tools and invokes them with ergonomic command syntax. Use it to call MCP-based tooling from scripts, CI, or interactive shells.

How this skill works

mcporter auto-discovers configured MCP servers and can connect to remote or ephemeral servers via --http-url or --stdio flags. It exposes commands to list servers and tools, show full JSON schemas, and call tools using colon or function-like syntax. Results are wrapped in a CallResult with helpers to extract text, markdown, or parsed JSON for easy integration into workflows.

When to use it

  • You need to call MCP tools without adding them to your project dependencies
  • You want to discover available MCP servers and inspect tool schemas
  • You need ad-hoc access to an HTTP or stdio MCP endpoint from the CLI
  • You want to automate browser or API tasks via MCP tools in scripts or CI
  • You need quick exploration of tool inputs and outputs before coding against them

Best practices

  • Start by running npx mcporter list to discover servers and names before calling tools
  • Use --schema when inspecting outputs to understand required arguments and types
  • Prefer the function syntax for complex string arguments and the colon syntax for simple key:value pairs
  • Set MCPORTER_CALL_TIMEOUT or use --timeout for long-running tool calls
  • Use --log-level debug when troubleshooting connectivity or unexpected results

Example use cases

  • Run browser automation via a Chrome DevTools MCP server started on demand with --stdio
  • Crawl and scrape sites by calling a remote firecrawl MCP server via --http-url
  • Integrate Linear issue management by calling its MCP tools from CI or local scripts
  • Generate a standalone CLI or TypeScript client from a server with generate-cli and emit-ts commands
  • Inspect available tools and schemas before writing automation or SDK wrappers

FAQ

Do I have to install anything to use mcporter?

No installation is required; use it via npx. Global install or Homebrew are optional alternatives if you prefer local installs.

How do I connect to a server that needs to run locally (like Chrome DevTools)?

Use the --stdio flag to run the server via npx on demand, or run a persistent daemon with npx mcporter daemon start for stateful servers and manage it with daemon status/stop.