mcpc

โดย apify

ใช้ mcpc CLI เพื่อโต้ตอบกับเซิร์ฟเวอร์ MCP - เรียกใช้เครื่องมือ อ่านทรัพยากร รับพรอมต์ ใช้สิ่งนี้เมื่อทำงานกับเซิร์ฟเวอร์ Model Context Protocol การเรียกใช้ MCP…

npx skills add https://github.com/apify/mcpc --skill mcpc

mcpc: MCP command-line client

mcpc maps every MCP operation to a shell command. For agents this is often more efficient than function calling: discover the right tool on demand, then generate shell commands (ideally with --json) instead of carrying tool definitions in context.

Mental model

  1. Connect once to a server — this creates a persistent, named @session. A background bridge process keeps the connection (and its state) alive.
  2. Run commands against the @session: list/call tools, read resources, get prompts, run async tasks. There is no one-shot mcpc <url> tools-list — connect first.
  3. Default output is human-readable; add --json for machine-readable, MCP-spec shaped output that composes with jq and shell pipelines (code mode).

Everything is self-documenting — when unsure, ask the CLI:

mcpc --help                       # all commands + global options
mcpc help connect                 # help for one command
mcpc @apify tools-call foo --help # that tool's details + schema

First steps

mcpc                                   # list sessions + auth profiles (start here)
mcpc connect mcp.apify.com @apify      # connect, create the @apify session
mcpc @apify                            # server info, capabilities, tools overview
mcpc @apify tools-list                 # list tools
mcpc @apify tools-call <tool> q:="hi"  # call a tool

Connecting

Server formats accepted by connect:

  • mcp.example.com — remote HTTP server (https:// is added automatically)
  • localhost:8080 or 127.0.0.1:8080 — local HTTP server (http:// is the default for localhost and 127.0.0.1)
  • ~/.vscode/mcp.json:filesystem — a single entry from a config file (file:entry)
  • ~/.vscode/mcp.json — connect every entry in a config file
  • (no server) — auto-discover standard configs and connect all of them
mcpc connect mcp.apify.com @apify        # remote server, explicit session name
mcpc connect mcp.apify.com               # auto-name the session → @apify
mcpc connect ./.vscode/mcp.json:fs @fs   # one config entry (stdio or http)
mcpc connect                             # discover standard configs + connect everything
  • @session is optional — omit it to auto-generate a name from the server (mcp.apify.com@apify). A matching session (same server + auth) is reused.
  • Stdio (command-based) entries launch a local process on connect — only connect to configs you trust. Bulk connects skip stdio entries unless you pass --stdio.
  • login / logout only accept an MCP server URL (a bare host or full http(s):// URL) — not config files or auto-discovery.

Sessions

mcpc                     # list all sessions and their state
mcpc @apify              # session details, capabilities, tools (also reports the
                         # negotiated protocol version and stateful vs stateless)
mcpc restart @apify      # restart (after server updates, or to recover an 'expired' session)
mcpc close @apify        # tear the session down

Session states:

  • 🟢 live — ready to use
  • 🟡 connecting / reconnecting — transient; retry in a moment
  • 🟡 disconnected — bridge alive but the server has gone quiet; retry to reconnect
  • 🟡 crashed — bridge process died; auto-restarts on next use
  • 🔴 unauthorized — auth failed; run mcpc login <server> then mcpc restart @session
  • 🔴 expired — server dropped the session; run mcpc restart @session

Discovering and inspecting tools

mcpc @apify tools-list                  # compact list with inline param signatures
mcpc @apify tools-list --full           # full JSON schemas
mcpc @apify tools-get <tool>            # one tool's details + schema
mcpc @apify tools-call <tool> --help    # shortcut for tools-get: that tool's details + schema

mcpc grep "search"                      # search tools + instructions across ALL sessions
mcpc @apify grep "actor" --resources    # search one session
# grep filters: --tools/--resources/--prompts/--instructions, -E regex, -s case-sensitive, -m <n> max

Prefer progressive discovery: grep to find the right tool, then tools-get for its schema. This keeps token use low instead of dumping every tool definition.

Calling tools (passing arguments)

Arguments go after the tool name. Three interchangeable styles:

# 1) key:=value — values are auto-parsed as JSON, falling back to string
mcpc @apify tools-call search query:="hello world" limit:=10 enabled:=true
mcpc @apify tools-call search config:='{"nested":"value"}' items:='[1,2,3]'
mcpc @apify tools-call search id:='"123"'          # force a string with JSON quotes

# 2) inline JSON — when the first arg starts with { or [
mcpc @apify tools-call search '{"query":"hello","limit":10}'

# 3) stdin — auto-detected when piped and no positional args are given
echo '{"query":"hello"}' | mcpc @apify tools-call search

JSON output (code mode)

Add --json for machine-readable output: results on stdout, errors on stderr, shaped strictly per the MCP spec.

mcpc --json @apify tools-list | jq -r '.[].name'
mcpc --json @apify tools-call search query:="test" | jq -r '.content[0].text'

# chain tools across calls/sessions
mcpc --json @apify tools-call search-actors keywords:="scraper" \
  | jq -r '.content[0].text | fromjson | .items[0].id' \
  | xargs -I{} mcpc --json @apify tools-call get-actor actorId:="{}"

mcpc --json with no command returns { "sessions": [...], "profiles": [...] }.

Resources and prompts

mcpc @apify resources-list
mcpc @apify resources-read "file:///path/to/file"   # -o <file> to save (binary-safe), --raw to pipe
mcpc @apify resources-templates-list
mcpc @apify resources-subscribe <uri> <file>        # keep local <file> in sync with the resource
mcpc @apify resources-unsubscribe <uri>             # stop syncing, keep the file

mcpc @apify prompts-list
mcpc @apify prompts-get <name> arg1:=value1         # same argument syntax as tools-call (values coerced to strings)

Async tasks (long-running tools)

mcpc @apify tools-call <tool> --task <args>     # run as a task with a progress spinner; Ctrl+C (or
                                                # ESC) leaves it running and prints the task ID.
                                                # Falls back to a normal sync call if the server has no task support.
mcpc @apify tools-call <tool> --detach <args>   # start and return the task ID immediately
mcpc @apify tasks-list
mcpc @apify tasks-get <taskId>                  # status
mcpc @apify tasks-result <taskId>               # block until the final result is ready
mcpc @apify tasks-cancel <taskId>

Authentication

# OAuth — interactive browser login, saved as a reusable profile
mcpc login mcp.apify.com                    # "default" profile
mcpc login mcp.apify.com --profile work     # a named profile (multiple accounts per server)
mcpc connect mcp.apify.com @apify --profile work
mcpc logout mcp.apify.com

# Bearer token — not stored as a profile; kept per-session
mcpc connect mcp.apify.com @s -H "Authorization: Bearer $TOKEN"
mcpc @s tools-list

With no auth flags, mcpc uses the default profile if one exists, otherwise it connects anonymously. Use --no-profile to force an anonymous connection, or --profile <name> to require a specific one.

Proxy for AI isolation

Expose an authenticated session as a local MCP server, so sandboxed AI code can use it without ever seeing your real credentials:

# Human: authenticated session + proxy listening on :8080
mcpc connect mcp.apify.com @ai-proxy --profile ai-access --proxy 8080

# AI in a sandbox limited to localhost: no access to the original tokens
mcpc connect localhost:8080 @sandboxed
mcpc @sandboxed tools-list

A proxy does not make an untrusted server safe — stdio servers still touch your system, and HTTP servers still hold your credentials. Only connect to servers you trust.

Server-published skills (experimental)

Distinct from this guide: some MCP servers publish their own agent skills (draft MCP extension, SEP-2640). Read them with:

mcpc @apify skills-list
mcpc @apify skills-get <name> --raw    # print the SKILL.md markdown (pipe to a file or an LLM)

(mcpc help --skill documents mcpc itself; skills-list / skills-get fetch skills from the server.)

Global flags worth knowing

--json                  # machine-readable, MCP-spec-shaped output (code mode)
--verbose               # protocol-level debug logging (JSON-RPC, transport)
--profile <name>        # OAuth profile to use ("default" if omitted)
--timeout <seconds>     # request timeout in seconds (default: 60)
--max-chars <n>         # truncate human-readable output to n chars (ignored with --json)
--insecure              # skip TLS verification (self-signed certs only)

(--no-profile, --stdio, --proxy, and -H are options of connect, not global flags.)

mcpc also has experimental --x402 auto-payment for paid MCP tools — see mcpc help x402.

Debugging

mcpc --verbose @apify tools-call <tool>   # protocol-level detail (JSON-RPC, transport)
mcpc @apify logs                          # bridge log; -n <N>, --follow, --since 1h
mcpc @apify ping                          # round-trip health check
mcpc clean                                # tidy stale sessions/logs (also: mcpc clean all)

Exit codes

  • 0 — success
  • 1 — client error (invalid arguments, unknown command)
  • 2 — server error (tool failed, resource not found)
  • 3 — network error
  • 4 — authentication error

Skills เพิ่มเติมจาก apify

bug-triage
apify
จัดลำดับความสำคัญของปัญหาบั๊กที่เปิดอยู่ใน apify/apify-mcp-server วิเคราะห์ ร่างคำตอบ ขออนุมัติ แล้วโพสต์
official
dig
apify
ทักษะที่ยืดหยุ่นสำหรับการสำรวจ วางแผน และกำหนดขอบเขตงานบนเซิร์ฟเวอร์ Apify MCP ห้ามแก้ไขไฟล์ต้นฉบับ — ทักษะนี้ใช้เพื่อทำความเข้าใจและวางแผนเท่านั้น
official
apify-actor-development
apify
สร้าง, ดีบัก, และปรับใช้โปรแกรมคลาวด์แบบไร้เซิร์ฟเวอร์สำหรับการขูดเว็บ, ระบบอัตโนมัติ, และการประมวลผลข้อมูล รองรับเทมเพลต JavaScript, TypeScript, และ Python พร้อมไลบรารี Crawlee, Playwright, และ Cheerio ในตัวสำหรับการรวบรวมข้อมูลผ่าน HTTP และเบราว์เซอร์ รวมถึงการทดสอบในเครื่องผ่าน apify run พร้อมพื้นที่จัดเก็บแบบแยกส่วน, การตรวจสอบความถูกต้องของสคีมาสำหรับอินพุต/เอาต์พุต, และการปรับใช้ไปยังแพลตฟอร์ม Apify ผ่าน apify push ต้องมีการรับรองความถูกต้องของ Apify CLI และข้อมูลเมตา generatedBy ที่จำเป็นใน .actor/actor.json สำหรับ AI...
official
apify-actorization
apify
แปลงโปรเจกต์ที่มีอยู่ให้เป็น Apify Actors แบบไร้เซิร์ฟเวอร์ พร้อมการผสานรวม SDK เฉพาะภาษา รองรับ JavaScript/TypeScript (ด้วย Actor.init() / Actor.exit()), Python (ตัวจัดการบริบทแบบอะซิงก์) และภาษาอื่นๆ ผ่าน CLI wrapper มีเวิร์กโฟลว์ที่มีโครงสร้าง: apify init เพื่อสร้างโครงร่าง, ใช้ SDK wrapping, กำหนดค่า schemas อินพุต/เอาต์พุต, ทดสอบในเครื่องด้วย apify run, จากนั้นปรับใช้ด้วย apify push รวมถึงการตรวจสอบความถูกต้องของ schema อินพุตและเอาต์พุต, การทำ Docker containerization, และตัวเลือกการจ่ายต่อเหตุการณ์...
official
apify-audience-analysis
apify
ดึงข้อมูลประชากรผู้ชม รูปแบบการมีส่วนร่วม และข้อมูลพฤติกรรมจาก Facebook, Instagram, YouTube และ TikTok รองรับ Actor เฉพาะทางมากกว่า 18 รายการที่ครอบคลุมข้อมูลประชากรผู้ติดตาม เมตริกการมีส่วนร่วม ความคิดเห็น และการวิเคราะห์โปรไฟล์ในทั้งสี่แพลตฟอร์ม มีรูปแบบผลลัพธ์สามแบบ: การแสดงผลแบบแชทด่วน การส่งออกเป็น CSV หรือการส่งออกเป็น JSON สำหรับการวิเคราะห์ต่อเนื่อง ต้องใช้ Apify token และเครื่องมือ CLI mcpc ใช้การดึง schema แบบไดนามิกเพื่อปรับอินพุตให้ตรงตามความต้องการของแต่ละ Actor รวมถึงโครงสร้าง...
official
apify-brand-reputation-monitoring
apify
ตรวจสอบชื่อเสียงของแบรนด์บน Google Maps, Booking.com, TripAdvisor, Facebook, Instagram, YouTube และ TikTok รองรับ Apify Actors เฉพาะทางมากกว่า 16 ตัวที่ครอบคลุมรีวิว คะแนน ความคิดเห็น และการกล่าวถึงบนแพลตฟอร์มหลักทั้งหมด รูปแบบผลลัพธ์ที่ยืดหยุ่น: แสดงผลในแชท ส่งออกเป็น CSV หรือบันทึกเป็น JSON สำหรับการวิเคราะห์ต่อเนื่อง ต้องใช้ Apify token และ Node.js 20.6+ ใช้ mcpc CLI เพื่อดึง Actor schemas และพารามิเตอร์อินพุตแบบไดนามิก ขั้นตอนการทำงานจะแนะนำผู้ใช้ผ่านการเลือกแพลตฟอร์ม...
official
apify-competitor-intelligence
apify
การวิเคราะห์คู่แข่งแบบหลายแพลตฟอร์มผ่าน Apify Actors สำหรับ Google Maps, Booking.com, Facebook, Instagram, YouTube และ TikTok ครอบคลุม Actors เฉพาะทางมากกว่า 25 รายการในเจ็ดแพลตฟอร์ม ซึ่งแต่ละรายการได้รับการปรับให้เหมาะสมสำหรับการวิเคราะห์ประเภทต่างๆ ได้แก่ การดึงข้อมูลธุรกิจ การเปรียบเทียบรีวิว การติดตามกลยุทธ์โฆษณา ประสิทธิภาพเนื้อหา และข้อมูลเชิงลึกของผู้ชม ต้องใช้ Apify token, Node.js 20.6+ และเครื่องมือ CLI mcpc เพื่อดึงโครงร่าง Actor และรันการวิเคราะห์แบบไดนามิก รองรับรูปแบบผลลัพธ์สามรูปแบบ: การแสดงผลแชทด่วน...
official
apify-content-analytics
apify
การวิเคราะห์เนื้อหาหลายแพลตฟอร์มผ่าน Apify Actors สำหรับ Instagram, Facebook, YouTube และ TikTok รองรับ Actors เฉพาะทางมากกว่า 17 รายการครอบคลุมโพสต์ รีล สตอรี่ คอมเมนต์ แฮชแท็ก ผู้ติดตาม และโฆษณาทั่วทั้งสี่แพลตฟอร์ม ดึงข้อมูลสคีมาของ Actor แบบไดนามิกโดยใช้ mcpc CLI เพื่อกำหนดอินพุตที่จำเป็นและฟิลด์เอาต์พุตที่มีอยู่ แสดงผลลัพธ์ในสามรูปแบบ: การแสดงผลแชทด่วน การส่งออก CSV หรือการส่งออก JSON พร้อมจำนวนผลลัพธ์ที่ปรับแต่งได้ ต้องใช้โทเค็น Apoken ในไฟล์ .env และ Node.js 20.6+...
official