@apify/mcpc 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/CHANGELOG.md +37 -2
  2. package/README.md +171 -48
  3. package/dist/bridge/index.js +32 -40
  4. package/dist/bridge/index.js.map +1 -1
  5. package/dist/cli/commands/clean.d.ts.map +1 -1
  6. package/dist/cli/commands/clean.js +3 -2
  7. package/dist/cli/commands/clean.js.map +1 -1
  8. package/dist/cli/commands/connect.d.ts +63 -0
  9. package/dist/cli/commands/connect.d.ts.map +1 -0
  10. package/dist/cli/commands/connect.js +655 -0
  11. package/dist/cli/commands/connect.js.map +1 -0
  12. package/dist/cli/commands/logs.d.ts +8 -0
  13. package/dist/cli/commands/logs.d.ts.map +1 -0
  14. package/dist/cli/commands/logs.js +143 -0
  15. package/dist/cli/commands/logs.js.map +1 -0
  16. package/dist/cli/commands/sessions.d.ts +6 -59
  17. package/dist/cli/commands/sessions.d.ts.map +1 -1
  18. package/dist/cli/commands/sessions.js +37 -690
  19. package/dist/cli/commands/sessions.js.map +1 -1
  20. package/dist/cli/commands/skills.d.ts +20 -0
  21. package/dist/cli/commands/skills.d.ts.map +1 -0
  22. package/dist/cli/commands/skills.js +160 -0
  23. package/dist/cli/commands/skills.js.map +1 -0
  24. package/dist/cli/commands/x402.d.ts.map +1 -1
  25. package/dist/cli/commands/x402.js +14 -4
  26. package/dist/cli/commands/x402.js.map +1 -1
  27. package/dist/cli/index.js +117 -31
  28. package/dist/cli/index.js.map +1 -1
  29. package/dist/cli/output.d.ts +13 -0
  30. package/dist/cli/output.d.ts.map +1 -1
  31. package/dist/cli/output.js +113 -20
  32. package/dist/cli/output.js.map +1 -1
  33. package/dist/cli/parser.d.ts +1 -1
  34. package/dist/cli/parser.d.ts.map +1 -1
  35. package/dist/cli/parser.js +25 -2
  36. package/dist/cli/parser.js.map +1 -1
  37. package/dist/cli/shell.js.map +1 -1
  38. package/dist/core/capabilities.d.ts +3 -0
  39. package/dist/core/capabilities.d.ts.map +1 -0
  40. package/dist/core/capabilities.js +14 -0
  41. package/dist/core/capabilities.js.map +1 -0
  42. package/dist/core/index.d.ts +1 -0
  43. package/dist/core/index.d.ts.map +1 -1
  44. package/dist/core/index.js +1 -0
  45. package/dist/core/index.js.map +1 -1
  46. package/dist/core/mcp-client.d.ts +4 -0
  47. package/dist/core/mcp-client.d.ts.map +1 -1
  48. package/dist/core/mcp-client.js +36 -12
  49. package/dist/core/mcp-client.js.map +1 -1
  50. package/dist/lib/bridge-client.d.ts +4 -1
  51. package/dist/lib/bridge-client.d.ts.map +1 -1
  52. package/dist/lib/bridge-client.js +29 -3
  53. package/dist/lib/bridge-client.js.map +1 -1
  54. package/dist/lib/bridge-manager.d.ts +3 -3
  55. package/dist/lib/bridge-manager.d.ts.map +1 -1
  56. package/dist/lib/bridge-manager.js +36 -20
  57. package/dist/lib/bridge-manager.js.map +1 -1
  58. package/dist/lib/cleanup.d.ts.map +1 -1
  59. package/dist/lib/cleanup.js +20 -19
  60. package/dist/lib/cleanup.js.map +1 -1
  61. package/dist/lib/config.d.ts +14 -0
  62. package/dist/lib/config.d.ts.map +1 -1
  63. package/dist/lib/config.js +41 -27
  64. package/dist/lib/config.js.map +1 -1
  65. package/dist/lib/errors.d.ts +0 -1
  66. package/dist/lib/errors.d.ts.map +1 -1
  67. package/dist/lib/errors.js +2 -4
  68. package/dist/lib/errors.js.map +1 -1
  69. package/dist/lib/index.d.ts +1 -0
  70. package/dist/lib/index.d.ts.map +1 -1
  71. package/dist/lib/index.js +1 -0
  72. package/dist/lib/index.js.map +1 -1
  73. package/dist/lib/log-reader.d.ts +28 -0
  74. package/dist/lib/log-reader.d.ts.map +1 -0
  75. package/dist/lib/log-reader.js +278 -0
  76. package/dist/lib/log-reader.js.map +1 -0
  77. package/dist/lib/session-client.d.ts +1 -1
  78. package/dist/lib/session-client.d.ts.map +1 -1
  79. package/dist/lib/session-client.js +6 -8
  80. package/dist/lib/session-client.js.map +1 -1
  81. package/dist/lib/stderr-tail.d.ts +10 -0
  82. package/dist/lib/stderr-tail.d.ts.map +1 -0
  83. package/dist/lib/stderr-tail.js +28 -0
  84. package/dist/lib/stderr-tail.js.map +1 -0
  85. package/dist/lib/types.d.ts +6 -1
  86. package/dist/lib/types.d.ts.map +1 -1
  87. package/dist/lib/types.js +1 -0
  88. package/dist/lib/types.js.map +1 -1
  89. package/dist/lib/utils.d.ts +1 -0
  90. package/dist/lib/utils.d.ts.map +1 -1
  91. package/dist/lib/utils.js +12 -2
  92. package/dist/lib/utils.js.map +1 -1
  93. package/dist/lib/x402/fetch-middleware.d.ts +3 -2
  94. package/dist/lib/x402/fetch-middleware.d.ts.map +1 -1
  95. package/dist/lib/x402/fetch-middleware.js +37 -24
  96. package/dist/lib/x402/fetch-middleware.js.map +1 -1
  97. package/dist/lib/x402/signer.d.ts +7 -1
  98. package/dist/lib/x402/signer.d.ts.map +1 -1
  99. package/dist/lib/x402/signer.js +249 -5
  100. package/dist/lib/x402/signer.js.map +1 -1
  101. package/docs/README.md +1 -0
  102. package/docs/claude-skill/SKILL.md +150 -117
  103. package/docs/examples/company-lookup.sh +6 -6
  104. package/docs/vhs/README.md +79 -0
  105. package/docs/vhs/grep.tape +56 -0
  106. package/docs/vhs/mcpc-demo.tape +179 -0
  107. package/docs/vhs/proxy.tape +69 -0
  108. package/docs/vhs/quickstart.tape +59 -0
  109. package/docs/vhs/scripting.tape +69 -0
  110. package/docs/vhs/tools.tape +66 -0
  111. package/package.json +20 -20
@@ -1 +1 @@
1
- {"version":3,"file":"signer.js","sourceRoot":"","sources":["../../../src/lib/x402/signer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signer.js","sourceRoot":"","sources":["../../../src/lib/x402/signer.ts"],"names":[],"mappings":"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"}
package/docs/README.md CHANGED
@@ -5,6 +5,7 @@ Additional documentation for mcpc.
5
5
  ## Contents
6
6
 
7
7
  - [Claude Skill](./claude-skill/) - Claude Code skill for AI agents using mcpc
8
+ - [VHS demos](./vhs/) - VHS tape files for recording demo GIFs of mcpc
8
9
  - [CONTRIBUTING.md](../CONTRIBUTING.md) - Development, contributing, and publishing guide
9
10
 
10
11
  ## Main documentation
@@ -1,184 +1,217 @@
1
1
  ---
2
2
  name: mcpc
3
- description: Use mcpc CLI to interact with MCP servers - call tools, read resources, get prompts. Use this when working with Model Context Protocol servers, calling MCP tools, or accessing MCP resources programmatically.
3
+ description: Use the mcpc CLI to work with MCP (Model Context Protocol) servers from the shell - connect to a server as a persistent session, then list and call tools, read resources, get prompts, and run async tasks. Use --json for scripting and code mode. Reach for this whenever interacting with MCP servers, calling MCP tools, or accessing MCP resources programmatically.
4
4
  allowed-tools: Bash(mcpc:*), Bash(node dist/cli/index.js:*), Read, Grep
5
5
  ---
6
6
 
7
7
  # mcpc: MCP command-line client
8
8
 
9
- Use `mcpc` to interact with MCP (Model Context Protocol) servers from the command line.
10
- This is more efficient than function calling - generate shell commands instead.
9
+ `mcpc` maps every MCP operation to a shell command. For agents this is often more
10
+ efficient than function calling: discover the right tool on demand, then generate
11
+ shell commands (ideally with `--json`) instead of carrying tool definitions in context.
11
12
 
12
- ## Quick reference
13
+ ## Mental model
14
+
15
+ 1. **Connect once** to a server — this creates a persistent, named `@session`. A
16
+ background bridge process keeps the connection (and its state) alive.
17
+ 2. **Run commands against the `@session`**: list/call tools, read resources, get
18
+ prompts, run async tasks. There is no one-shot `mcpc <url> tools-list` — connect first.
19
+ 3. **Default output is human-readable**; add `--json` for machine-readable, MCP-spec
20
+ shaped output that composes with `jq` and shell pipelines (code mode).
21
+
22
+ Everything is self-documenting — when unsure, ask the CLI:
13
23
 
14
24
  ```bash
15
- # List sessions and auth profiles
16
- mcpc
17
-
18
- # Show server info
19
- mcpc <server>
20
- mcpc @<session>
21
-
22
- # Tools
23
- mcpc <target> tools-list
24
- mcpc <target> tools-get <tool-name>
25
- mcpc <target> tools-call <tool-name> key:=value key2:="string value"
26
-
27
- # Resources
28
- mcpc <target> resources-list
29
- mcpc <target> resources-read <uri>
30
-
31
- # Prompts
32
- mcpc <target> prompts-list
33
- mcpc <target> prompts-get <prompt-name> arg1:=value1
34
-
35
- # Sessions (persistent connections)
36
- mcpc <server> connect @<name>
37
- mcpc @<name> <command>
38
- mcpc @<name> close
39
-
40
- # Authentication
41
- mcpc <server> login
42
- mcpc <server> logout
25
+ mcpc --help # all commands + global options
26
+ mcpc help connect # help for one command
27
+ mcpc @apify tools-call foo --help # print a specific tool's input schema
43
28
  ```
44
29
 
45
- ## Target types
30
+ ## First steps
46
31
 
47
- - `mcp.example.com` - Direct HTTPS connection to remote server
48
- - `localhost:8080` or `127.0.0.1:8080` - Local HTTP server (http:// is default for localhost)
49
- - `@session-name` - Named persistent session (faster, maintains state)
50
- - `config-entry` - Entry from config file (with `--config`)
32
+ ```bash
33
+ mcpc # list sessions + auth profiles (start here)
34
+ mcpc connect mcp.apify.com @apify # connect, create the @apify session
35
+ mcpc @apify # server info, capabilities, tools overview
36
+ mcpc @apify tools-list # list tools
37
+ mcpc @apify tools-call <tool> q:="hi" # call a tool
38
+ ```
51
39
 
52
- ## Passing arguments
40
+ ## Connecting
53
41
 
54
- Arguments use `key:=value` syntax. Values are auto-parsed as JSON when valid:
42
+ Server formats accepted by `connect` / `login` / `logout`:
55
43
 
56
- ```bash
57
- # String values
58
- mcpc @s tools-call search query:="hello world"
44
+ - `mcp.example.com` — remote HTTP server (`https://` is added automatically)
45
+ - `localhost:8080` or `127.0.0.1:8080` — local HTTP server (`http://` is the default for localhost)
46
+ - `~/.vscode/mcp.json:filesystem` a single entry from a config file (`file:entry`)
47
+ - `~/.vscode/mcp.json` — connect **every** entry in a config file
48
+ - _(no server)_ — auto-discover standard configs and connect all of them
59
49
 
60
- # Numbers, booleans, null (auto-parsed as JSON)
61
- mcpc @s tools-call search query:="hello" limit:=10 enabled:=true
62
-
63
- # Complex JSON values
64
- mcpc @s tools-call search config:='{"nested":"value"}' items:='[1,2,3]'
50
+ ```bash
51
+ mcpc connect mcp.apify.com @apify # remote server, explicit session name
52
+ mcpc connect mcp.apify.com # auto-name the session → @apify
53
+ mcpc connect ./.vscode/mcp.json:fs @fs # one config entry (stdio or http)
54
+ mcpc connect # discover standard configs + connect everything
55
+ ```
65
56
 
66
- # Force string type with JSON quotes
67
- mcpc @s tools-call search id:='"123"'
57
+ - `@session` is optional omit it to auto-generate a name from the server
58
+ (`mcp.apify.com` `@apify`). A matching session (same server + auth) is reused.
59
+ - **Stdio (command-based) entries launch a local process on connect** — only connect
60
+ to configs you trust. Bulk connects skip stdio entries unless you pass `--stdio`.
68
61
 
69
- # Inline JSON object (if first arg starts with { or [)
70
- mcpc @s tools-call search '{"query":"hello","limit":10}'
62
+ ## Sessions
71
63
 
72
- # From stdin (auto-detected when piped)
73
- echo '{"query":"hello"}' | mcpc @s tools-call search
64
+ ```bash
65
+ mcpc # list all sessions and their state
66
+ mcpc @apify # session details, capabilities, tools (also reports the
67
+ # negotiated protocol version and stateful vs stateless)
68
+ mcpc restart @apify # restart (after server updates, or to recover an 'expired' session)
69
+ mcpc close @apify # tear the session down
74
70
  ```
75
71
 
76
- ## JSON output for scripting
72
+ **Session states:**
77
73
 
78
- Always use `--json` flag for machine-readable output:
74
+ - 🟢 **live** ready to use
75
+ - 🟡 **connecting** / **reconnecting** — transient; retry in a moment
76
+ - 🟡 **crashed** — bridge process died; auto-restarts on next use
77
+ - 🔴 **unauthorized** — auth failed; run `mcpc login <server>` then `mcpc restart @session`
78
+ - 🔴 **expired** — server dropped the session; run `mcpc restart @session`
79
79
 
80
- ```bash
81
- # Get tools as JSON
82
- mcpc --json @apify tools-list
80
+ ## Discovering and inspecting tools
83
81
 
84
- # Call tool and parse result with jq
85
- mcpc --json @apify tools-call search query:="test" | jq '.content[0].text'
82
+ ```bash
83
+ mcpc @apify tools-list # compact list with inline param signatures
84
+ mcpc @apify tools-list --full # full JSON schemas
85
+ mcpc @apify tools-get <tool> # one tool's details + schema
86
+ mcpc @apify tools-call <tool> --help # shortcut: print just that tool's input schema
86
87
 
87
- # Chain commands
88
- mcpc --json @server1 tools-call get-data | mcpc @server2 tools-call process
88
+ mcpc grep "search" # search tools + instructions across ALL sessions
89
+ mcpc @apify grep "actor" --resources # search one session; --tools/--resources/--prompts, -E regex
89
90
  ```
90
91
 
91
- ## Sessions for efficiency
92
+ Prefer progressive discovery: `grep` to find the right tool, then `tools-get` for its
93
+ schema. This keeps token use low instead of dumping every tool definition.
92
94
 
93
- Create sessions for repeated interactions:
95
+ ## Calling tools (passing arguments)
94
96
 
95
- ```bash
96
- # Create session (or reconnect if exists)
97
- mcpc mcp.apify.com connect @apify
97
+ Arguments go after the tool name. Three interchangeable styles:
98
98
 
99
- # Use session (faster - no reconnection overhead)
100
- mcpc @apify tools-list
101
- mcpc @apify tools-call search query:="test"
99
+ ```bash
100
+ # 1) key:=value — values are auto-parsed as JSON, falling back to string
101
+ mcpc @apify tools-call search query:="hello world" limit:=10 enabled:=true
102
+ mcpc @apify tools-call search config:='{"nested":"value"}' items:='[1,2,3]'
103
+ mcpc @apify tools-call search id:='"123"' # force a string with JSON quotes
102
104
 
103
- # Restart session (useful after server updates)
104
- mcpc @apify restart
105
+ # 2) inline JSON when the first arg starts with { or [
106
+ mcpc @apify tools-call search '{"query":"hello","limit":10}'
105
107
 
106
- # Close when done
107
- mcpc @apify close
108
+ # 3) stdin — auto-detected when piped and no positional args are given
109
+ echo '{"query":"hello"}' | mcpc @apify tools-call search
108
110
  ```
109
111
 
110
- **Session states:**
111
- - 🟢 **live** - Bridge running, server might or might not be responding
112
- - 🟡 **crashed** - Bridge crashed; auto-restarts on next use
113
- - 🔴 **expired** - Server rejected session; needs `close` and reconnect
112
+ ## JSON output (code mode)
114
113
 
115
- ## Authentication
114
+ Add `--json` for machine-readable output: results on stdout, errors on stderr,
115
+ shaped strictly per the MCP spec.
116
116
 
117
- **OAuth (interactive login)**:
118
117
  ```bash
119
- mcpc mcp.apify.com login
120
- mcpc mcp.apify.com connect @apify
121
- ```
118
+ mcpc --json @apify tools-list | jq -r '.[].name'
119
+ mcpc --json @apify tools-call search query:="test" | jq -r '.content[0].text'
122
120
 
123
- **Bearer token**:
124
- ```bash
125
- mcpc -H "Authorization: Bearer $TOKEN" mcp.apify.com tools-list
126
- mcpc -H "Authorization: Bearer $TOKEN" mcp.apify.com connect @myserver
121
+ # chain tools across calls/sessions
122
+ mcpc --json @apify tools-call search-actors keywords:="scraper" \
123
+ | jq -r '.content[0].text | fromjson | .items[0].id' \
124
+ | xargs -I{} mcpc --json @apify tools-call get-actor actorId:="{}"
127
125
  ```
128
126
 
129
- ## Proxy server for AI isolation
127
+ `mcpc --json` with no command returns `{ "sessions": [...], "profiles": [...] }`.
130
128
 
131
- Create a proxy MCP server that hides authentication tokens:
129
+ ## Resources and prompts
132
130
 
133
131
  ```bash
134
- # Human creates authenticated session with proxy
135
- mcpc mcp.apify.com connect @ai-proxy --proxy 8080
132
+ mcpc @apify resources-list
133
+ mcpc @apify resources-read "file:///path/to/file" # -o <file> to save, --max-size <bytes>
134
+ mcpc @apify resources-templates-list
135
+ mcpc @apify resources-subscribe <uri> # and resources-unsubscribe <uri>
136
136
 
137
- # AI agent connects to proxy (no access to original tokens)
138
- # Note: localhost defaults to http://
139
- mcpc localhost:8080 tools-list
140
- mcpc 127.0.0.1:8080 connect @sandboxed
137
+ mcpc @apify prompts-list
138
+ mcpc @apify prompts-get <name> arg1:=value1 # same argument styles as tools-call
141
139
  ```
142
140
 
143
- ## Common patterns
141
+ ## Async tasks (long-running tools)
144
142
 
145
- **List and inspect tools**:
146
143
  ```bash
147
- mcpc @s tools-list
148
- mcpc @s tools-get tool-name
144
+ mcpc @apify tools-call <tool> --task <args> # run as a task with a progress spinner;
145
+ # Ctrl+C leaves it running and prints the task ID
146
+ mcpc @apify tools-call <tool> --detach <args> # start and return the task ID immediately
147
+ mcpc @apify tasks-list
148
+ mcpc @apify tasks-get <taskId> # status
149
+ mcpc @apify tasks-result <taskId> # block until the final result is ready
150
+ mcpc @apify tasks-cancel <taskId>
149
151
  ```
150
152
 
151
- **Call tool and extract text result**:
152
- ```bash
153
- mcpc --json @s tools-call my-tool | jq -r '.content[0].text'
154
- ```
153
+ ## Authentication
155
154
 
156
- **Read resource content**:
157
155
  ```bash
158
- mcpc @s resources-read "file:///path/to/file"
156
+ # OAuth interactive browser login, saved as a reusable profile
157
+ mcpc login mcp.apify.com # "default" profile
158
+ mcpc login mcp.apify.com --profile work # a named profile (multiple accounts per server)
159
+ mcpc connect mcp.apify.com @apify --profile work
160
+ mcpc logout mcp.apify.com
161
+
162
+ # Bearer token — not stored as a profile; kept per-session
163
+ mcpc connect mcp.apify.com @s -H "Authorization: Bearer $TOKEN"
164
+ mcpc @s tools-list
159
165
  ```
160
166
 
161
- **Use config file for local servers**:
167
+ With no auth flags, mcpc uses the `default` profile if one exists, otherwise it
168
+ connects anonymously. Use `--no-profile` to force an anonymous connection, or
169
+ `--profile <name>` to require a specific one.
170
+
171
+ ## Proxy for AI isolation
172
+
173
+ Expose an authenticated session as a local MCP server, so sandboxed AI code can use it
174
+ without ever seeing your real credentials:
175
+
162
176
  ```bash
163
- mcpc --config .vscode/mcp.json filesystem resources-list
177
+ # Human: authenticated session + proxy listening on :8080
178
+ mcpc connect mcp.apify.com @ai-proxy --profile ai-access --proxy 8080
179
+
180
+ # AI in a sandbox limited to localhost: no access to the original tokens
181
+ mcpc connect localhost:8080 @sandboxed
182
+ mcpc @sandboxed tools-list
164
183
  ```
165
184
 
166
- ## Exit codes
185
+ A proxy does not make an untrusted server safe — stdio servers still touch your system,
186
+ and HTTP servers still hold your credentials. Only connect to servers you trust.
187
+
188
+ ## Agent skills (experimental)
167
189
 
168
- - `0` - Success
169
- - `1` - Client error (invalid arguments)
170
- - `2` - Server error (tool failed)
171
- - `3` - Network error
172
- - `4` - Authentication error
190
+ Some servers publish agent skills (draft MCP extension, SEP-2640):
191
+
192
+ ```bash
193
+ mcpc @apify skills-list
194
+ mcpc @apify skills-get <name> --raw # print the SKILL.md markdown (pipe to a file or an LLM)
195
+ ```
173
196
 
174
197
  ## Debugging
175
198
 
176
199
  ```bash
177
- # Verbose output shows protocol details
178
- mcpc --verbose @s tools-call my-tool
200
+ mcpc --verbose @apify tools-call <tool> # protocol-level detail (JSON-RPC, transport)
201
+ mcpc @apify logs # bridge log; -n <N>, --follow, --since 1h
202
+ mcpc @apify ping # round-trip health check
203
+ mcpc clean # tidy stale sessions/logs (also: mcpc clean all)
179
204
  ```
180
205
 
206
+ ## Exit codes
207
+
208
+ - `0` — success
209
+ - `1` — client error (invalid arguments, unknown command)
210
+ - `2` — server error (tool failed, resource not found)
211
+ - `3` — network error
212
+ - `4` — authentication error
213
+
181
214
  ## Example script
182
215
 
183
- See [`docs/examples/company-lookup.sh`](../examples/company-lookup.sh) for a complete example
184
- of an AI-generated script that validates prerequisites and calls MCP tools.
216
+ See [`docs/examples/company-lookup.sh`](../examples/company-lookup.sh) for a complete,
217
+ AI-generated "code mode" script that validates prerequisites and calls MCP tools with `--json`.
@@ -7,8 +7,8 @@
7
7
  #
8
8
  # Prerequisites:
9
9
  # 1. Install mcpc: npm install -g @apify/mcpc
10
- # 2. Login to Apify MCP server: mcpc mcp.apify.com login
11
- # 3. Create a session: mcpc mcp.apify.com connect @apify
10
+ # 2. Login to Apify MCP server: mcpc login mcp.apify.com
11
+ # 3. Create a session: mcpc connect mcp.apify.com @apify
12
12
  #
13
13
  # Usage:
14
14
  # ./company-lookup.sh "Company Name"
@@ -66,16 +66,16 @@ if [ -z "$SESSION_STATUS" ]; then
66
66
  error "Session ${SESSION} not found.
67
67
 
68
68
  To set up the required session:
69
- 1. Login to Apify: mcpc mcp.apify.com login
70
- 2. Create session: mcpc mcp.apify.com connect ${SESSION}
69
+ 1. Login to Apify: mcpc login mcp.apify.com
70
+ 2. Create session: mcpc connect mcp.apify.com ${SESSION}
71
71
 
72
72
  Or use a different session by setting MCPC_SESSION environment variable."
73
73
  fi
74
74
 
75
75
  if [ "$SESSION_STATUS" = "expired" ]; then
76
76
  error "Session ${SESSION} has expired. Please recreate it:
77
- mcpc ${SESSION} close
78
- mcpc mcp.apify.com connect ${SESSION}"
77
+ mcpc close ${SESSION}
78
+ mcpc connect mcp.apify.com ${SESSION}"
79
79
  fi
80
80
 
81
81
  if [ "$SESSION_STATUS" = "crashed" ]; then
@@ -0,0 +1,79 @@
1
+ # mcpc demo recordings (VHS)
2
+
3
+ This folder contains [VHS](https://github.com/charmbracelet/vhs) tape files
4
+ that record terminal GIFs of mcpc. Each `.tape` is a small script that drives
5
+ a real shell session; VHS replays it, captures the output, and renders a GIF
6
+ (or MP4 / WebM) — no manual screen recording needed.
7
+
8
+ ## Prerequisites
9
+
10
+ - **VHS** — `brew install vhs` (or see [installation guide](https://github.com/charmbracelet/vhs#installation))
11
+ - **mcpc** — `npm install -g @apify/mcpc`
12
+ - **jq** — needed by `scripting.tape`
13
+ - **Auth (optional)** — `export APIFY_TOKEN=...` if you want the demos to hit
14
+ the authenticated Apify MCP server. Drop the `--header` line from the tape
15
+ to record an anonymous session against any public MCP server instead.
16
+
17
+ ## Tapes
18
+
19
+ | File | Records | Notes |
20
+ | ---- | ------- | ----- |
21
+ | [`mcpc-demo.tape`](./mcpc-demo.tape) | Flagship overview: discover → connect → tools → grep → call → JSON → close | Source for `docs/images/mcpc-demo.gif` |
22
+ | [`quickstart.tape`](./quickstart.tape) | Minimal "connect, list, call" flow | Hero-sized GIF for README top |
23
+ | [`tools.tape`](./tools.tape) | `tools-list`, `tools-get`, `tools-call`, inline JSON, stdin | |
24
+ | [`scripting.tape`](./scripting.tape) | `--json` piped through `jq` and `xargs` (code mode) | |
25
+ | [`grep.tape`](./grep.tape) | Dynamic tool discovery with `mcpc grep` | |
26
+ | [`proxy.tape`](./proxy.tape) | MCP proxy / AI sandboxing | |
27
+
28
+ ## Recording
29
+
30
+ Each tape outputs a GIF in this directory. Run from inside `docs/vhs/`:
31
+
32
+ ```bash
33
+ cd docs/vhs
34
+ vhs mcpc-demo.tape # → mcpc-demo.gif
35
+ vhs quickstart.tape # → quickstart.gif
36
+ # ... etc
37
+ ```
38
+
39
+ To refresh the demo embedded in the main README:
40
+
41
+ ```bash
42
+ cd docs/vhs
43
+ vhs mcpc-demo.tape
44
+ cp mcpc-demo.gif ../images/mcpc-demo.gif
45
+ ```
46
+
47
+ You can also render `.mp4` or `.webm` by editing the `Output` directive
48
+ inside the tape file (VHS infers the format from the extension).
49
+
50
+ ## Customising
51
+
52
+ `mcpc-demo.tape` is the template — copy it, trim the sections you don't need,
53
+ and adjust:
54
+
55
+ - `Output <file>` — destination GIF / MP4 / WebM
56
+ - `Set Width / Set Height` — frame size (current default: 1100×650)
57
+ - `Set FontSize` / `Set FontFamily` / `Set Theme` — appearance
58
+ - `Set TypingSpeed` / `Sleep` — pacing
59
+ - Server URL and `--header` — point at your own MCP server
60
+ - Tool / argument names — swap for tools your audience cares about
61
+
62
+ The other tapes use the same Set block so they look consistent side by side.
63
+
64
+ ## Tips
65
+
66
+ - Use `Hide` / `Show` around setup commands (clearing the screen, closing
67
+ stale sessions, exporting `PS1`) so they don't appear in the GIF.
68
+ - Add `Sleep` after each `Enter` so viewers have time to read the output
69
+ before the next command runs.
70
+ - `Set PlaybackSpeed 1.5` speeds up the final GIF without changing the
71
+ recording cadence — handy for long demos.
72
+ - Run the tape locally first (`vhs <file>.tape`) and inspect the generated
73
+ GIF before committing. VHS does not run inside CI by default; the tapes
74
+ are version-controlled but the GIFs they produce are not (the main
75
+ `docs/images/mcpc-demo.gif` is checked in separately).
76
+
77
+ See the [VHS documentation](https://github.com/charmbracelet/vhs#vhs-command-reference)
78
+ for the full list of directives (`Type`, `Sleep`, `Enter`, `Hide`, `Show`,
79
+ `Wait`, `Screenshot`, all `Set …` options, etc.).
@@ -0,0 +1,56 @@
1
+ # mcpc grep — dynamic tool discovery across sessions
2
+ #
3
+ # cd docs/vhs && vhs grep.tape
4
+
5
+ Output grep.gif
6
+
7
+ Require mcpc
8
+
9
+ Set Shell "bash"
10
+ Set FontFamily "JetBrains Mono"
11
+ Set FontSize 16
12
+ Set Width 1100
13
+ Set Height 600
14
+ Set Padding 20
15
+ Set TypingSpeed 50ms
16
+ Set Theme "Catppuccin Mocha"
17
+ Set WindowBar Colorful
18
+ Set WindowBarSize 32
19
+ Set BorderRadius 8
20
+
21
+ Hide
22
+ Type "export PS1='$ '"
23
+ Enter
24
+ Type "mcpc connect mcp.apify.com @apify --header \"Authorization: Bearer ${APIFY_TOKEN}\" >/dev/null 2>&1 || true"
25
+ Enter
26
+ Type "clear"
27
+ Enter
28
+ Show
29
+
30
+ Type "# Find tools by keyword across every live session"
31
+ Sleep 600ms
32
+ Enter
33
+ Type 'mcpc grep "scraper"'
34
+ Sleep 400ms
35
+ Enter
36
+ Sleep 4s
37
+
38
+ Type "clear"
39
+ Enter
40
+ Type "# Regex + case-sensitive, limited results"
41
+ Sleep 500ms
42
+ Enter
43
+ Type 'mcpc grep "search|find" -E -m 5'
44
+ Sleep 400ms
45
+ Enter
46
+ Sleep 4s
47
+
48
+ Type "clear"
49
+ Enter
50
+ Type "# Search resources and prompts too"
51
+ Sleep 500ms
52
+ Enter
53
+ Type 'mcpc grep "config" --resources --prompts'
54
+ Sleep 400ms
55
+ Enter
56
+ Sleep 4s