agent-skills
Skills for building, deploying, and debugging Apify Actors, converting existing projects into Actors, and scraping data from platforms such as Instagram, LinkedIn, and Google Maps.
mcpc is a command-line client for the Model Context Protocol (MCP) that maps every MCP operation to an intuitive shell command.
Claude Code
$ npx -y skills add apify/mcpc --agent claude-code
Codex
$ npx skills add apify/mcpc -a codex
Cursor
$ npx skills add apify/mcpc -a cursor
Gemini CLI
$ npx skills add apify/mcpc -a gemini-cli
GitHub Copilot
$ npx skills add apify/mcpc -a github-copilot
OpenCode
$ npx skills add apify/mcpc -a opencode
Windsurf
$ npx skills add apify/mcpc -a windsurf


mcpc is a command-line client for the Model Context Protocol (MCP)
that maps every MCP operation to an intuitive shell command.
Use it to manually inspect and debug MCP servers, to script repeatable MCP workflows in plain shell, or to
give AI agents the full MCP protocol through a single Bash() tool call, so they can interact with any MCP
server and its latest capabilities using the most universal programming interface there is: the UNIX shell.
Key features:
jq, xargs, and shell pipelines for MCP workflows as shell scripts.mcpc is the most MCP specification-compliant CLI client available:
the only one that covers tools, resources, prompts, async tasks, and skills, plus the OAuth client-credentials and
enterprise-managed authorization extensions, on the latest protocol version. Here's how it compares to other MCP CLI
clients (see Related work for the full table, legend, and notes):
Many AI agents misuse MCP. They treat tools as prompt-time function calls, repeatedly injecting tool definitions and results into the context. Tokens get wasted, context rots, the agent gets slower and less reliable β hence the popular conclusion: "MCP sucks, CLIs are better".
mcpc challenges that narrative. It maps every MCP operation to an intuitive CLI command that
agents pick up from --help alone. Any agent with shell access gets full MCP support without
wiring up dozens of MCP functions. Just one Bash() tool, and mcpc handles the rest:
ββββββββββββ Bash() ββββββββββ MCP ββββββββββββββ
β AI agent β ββββββββββΊ β mcpc β βββββββββΊ β MCP server β
ββββββββββββ ββββββββββ ββββββββββββββ
Sessions, OAuth, Tools,
Resources, Prompts,
Tasks, Skills, x402, ...
CLI is the perfect local interface between agents and MCP, while MCP remains the standard remote interface for server discovery, authentication, payments, and access control. The two aren't exclusive β they're complementary.
As a bonus, the same mcpc configuration, OAuth profiles, and live sessions can be shared across
many AI agents on the same machine. Authenticate once, reuse everywhere.
With Homebrew (macOS and Linux), which brings its own Node.js:
brew install mcpc
Otherwise install the latest Node.js or Bun first, then:
npm install -g @apify/mcpc
# Or with Bun
bun install -g @apify/mcpc
Linux: credentials use the OS keychain via the Secret Service API.
GNOME/KDE desktops work out of the box. On headless/CI systems, mcpc falls back to a
file-based store (~/.mcpc/credentials.json, mode 0600).
To force the keychain on headless systems, install gnome-keyring
(via apt-get, dnf, or pacman) and run:
dbus-run-session -- bash -c "echo -n 'password' | gnome-keyring-daemon --unlock && mcpc ..."
# List all active sessions and saved authentication profiles
mcpc
# Log in to a remote MCP server and save OAuth credentials for future use
mcpc login mcp.apify.com
# Create a persistent session and interact with it
mcpc connect mcp.apify.com @test
mcpc @test # show server info and capabilities
mcpc @test tools-list # list available tools
mcpc @test tools-call search-actors keywords:="website crawler"
# Use JSON mode for scripting
mcpc --json @test tools-list
# Use a local MCP server package (stdio) referenced from a config file
mcpc connect ./.vscode/mcp.json:filesystem @fs
mcpc @fs tools-list
Usage: mcpc [<@session>] [<command>] [options]
Universal command-line client for the Model Context Protocol (MCP).
Commands:
connect [<server>] [@session] Connect to an MCP server and start a new named @session
close <@session> Close a session
restart <@session> Restart a session (losing all state)
login <server> Log in to a server and save an OAuth profile
logout <server> Delete an OAuth profile for a server
clean [resources...] Clean up mcpc data (sessions, profiles, logs, all)
grep <pattern> Search tools and instructions across all active sessions
x402 [subcommand] [args...] Configure an x402 payment wallet (EXPERIMENTAL)
help [command] [subcommand] Show help for a command
Options:
--json Output in JSON format for scripting
--verbose Enable debug logging
--profile <name> OAuth profile for the server ("default" if not provided)
--timeout <seconds> Request timeout in seconds (default: 60)
--max-chars <n> Truncate output to n characters (ignored in --json mode)
--insecure Skip TLS certificate verification (for self-signed certs)
-v, --version Output the version number
-h, --help Display help
MCP session commands (after connecting):
<@session> Show MCP server info, capabilities, and tools overview
<@session> grep <pattern> Search tools and instructions
<@session> tools-list List all server tools
<@session> tools-get <name> Get tool details and schema
<@session> tools-call <name> [arg:=val ... | <json> | <stdin]
<@session> tasks-list
<@session> tasks-get <taskId>
<@session> tasks-result <taskId>
<@session> tasks-cancel <taskId>
<@session> prompts-list
<@session> prompts-get <name> [arg:=val ... | <json> | <stdin]
<@session> completion-complete prompt|resource <ref> <arg:=val ... | <json> | <stdin>
<@session> resources-list
<@session> resources-read <uri> [-o <file> | --raw]
<@session> resources-subscribe <uri> <file>
<@session> resources-unsubscribe <uri>
<@session> resources-templates-list
<@session> resources-directory-read <uri>
<@session> skills-list
<@session> skills-get <skill> [file] [--raw]
<@session> logging-set-level <level>
<@session> ping
<@session> server-discover
<@session> logs [-n N] [--follow] [--since 1h]
Run "mcpc" without arguments to show active sessions and OAuth profiles.
Run "mcpc --json" to get the same data as `{ sessions: [...], profiles: [...] }`.
Agent guide: mcpc help --skill
REFERENCE.md collects the full --help output of every command in one page.
In your terminal, run mcpc help <command> to see the same help for a single command.
With no arguments, mcpc lists all active sessions and saved OAuth profiles:
# List all sessions and OAuth profiles (also in JSON mode)
mcpc
mcpc --json
# Show command help or version
mcpc --help
mcpc --version
# Clean stale sessions and old log files
mcpc clean
The connect, login, and logout commands accept a <server> argument in these formats:
mcp.apify.com or https://mcp.apify.com) β scheme defaults to https://~/.vscode/mcp.json:filesystem) β file:entry-name syntaxconnect additionally supports two bulk forms that connect many servers at once:
~/.vscode/mcp.json) β connect every server in the filemcpc connect) β auto-discover MCP config files in the current directory and
your home dir (.mcp.json, mcp.json, .cursor/mcp.json, .vscode/mcp.json, ~/.claude.json,
Claude Desktop, Windsurf, Kiro, β¦) and connect everything found (run mcpc connect --help for the
full list).mcpc connect # discover standard config files and connect all servers
mcpc connect ~/.vscode/mcp.json # connect every server in one file
Bulk connects auto-generate session names (so they don't take an @session) and skip local
stdio servers by default β pass --stdio to include them. Each discovered config file is listed
with its servers, the names of the headers they send, and their status (β live, β failed);
files that can't be used are shown as (0 servers) or (invalid) with the reason, rather than
silently ignored. The command waits for every handshake to finish (with a progress spinner in
human mode); --json reports each server's details. If every server fails to connect, the command
exits with a non-zero code.
Auto-discovery does not trust config files in the current directory to read environment
variables. A .mcp.json checked into a repository could carry
"headers": { "X": "${GITHUB_TOKEN}" } (or ${SECRET} in a hostname) pointed at an attacker's
server, and a bare mcpc connect in that checkout would send the secret on the first request.
So mcpc connect skips every project-scope entry that references a ${VAR} β in url, headers,
command, args or env, with or without --stdio β and shows which variables it would have
read; it also refuses -H, which would go to every discovered server. Files under your home
directory are your own and expand ${VAR} as usual. To connect a skipped entry, review the file
and name it explicitly (mcpc connect ./.mcp.json): naming a file is the trust step.
Skills for building, deploying, and debugging Apify Actors, converting existing projects into Actors, and scraping data from platforms such as Instagram, LinkedIn, and Google Maps.
Gives AI coding assistants ready-made instructions for scraping data from Apify Actors, covering ads, app stores, job boards and AI search visibility. Each skill tells the assistant which Actor to run, how to build its input, and how to recover when a scrape gets blocked.
Helps you take a change from a rough idea or bug report through to a tested, reviewed result, with each step handled by a focused skill. Its skills cover pinning down domain terms, designing module interfaces, diagnosing hard bugs, and reviewing changes against your repo's coding standards.
A development methodology for coding agents that makes the agent brainstorm before building, follow plans, run parallel work and finish branches in a disciplined way. You get fewer skipped steps and more consistent results from your coding assistant.
Gives your coding agent a planning, testing and review routine to follow on every task. It plans before building, checks changes with tests, has a fresh reviewer look for regressions, and saves repeated wins as reusable skills.
Developer tools for working on the React codebase itself. Provides skills for extracting error messages, managing and debugging feature flags across release channels, running Flow type checks, and fixing lint and formatting issues before committing.
Install it with the command on its page. It includes mcpc, record-demo. Its skills do not fire on their own yet. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it