@apify/mcpc 0.1.7 â 0.1.9
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.
- package/.claude/settings.local.json +12 -1
- package/.idea/workspace.xml +169 -170
- package/CHANGELOG.md +97 -0
- package/README.md +40 -22
- package/dist/bridge/index.js +29 -9
- package/dist/bridge/index.js.map +1 -1
- package/dist/cli/commands/sessions.d.ts.map +1 -1
- package/dist/cli/commands/sessions.js +2 -2
- package/dist/cli/commands/sessions.js.map +1 -1
- package/dist/cli/commands/tools.d.ts +3 -1
- package/dist/cli/commands/tools.d.ts.map +1 -1
- package/dist/cli/commands/tools.js +1 -1
- package/dist/cli/commands/tools.js.map +1 -1
- package/dist/cli/index.js +13 -7
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/output.d.ts +6 -3
- package/dist/cli/output.d.ts.map +1 -1
- package/dist/cli/output.js +21 -5
- package/dist/cli/output.js.map +1 -1
- package/dist/cli/parser.d.ts.map +1 -1
- package/dist/cli/parser.js +1 -0
- package/dist/cli/parser.js.map +1 -1
- package/dist/core/factory.d.ts +1 -0
- package/dist/core/factory.d.ts.map +1 -1
- package/dist/core/factory.js +9 -1
- package/dist/core/factory.js.map +1 -1
- package/dist/core/mcp-client.d.ts +2 -0
- package/dist/core/mcp-client.d.ts.map +1 -1
- package/dist/core/mcp-client.js +9 -0
- package/dist/core/mcp-client.js.map +1 -1
- package/dist/core/transports.d.ts +1 -0
- package/dist/core/transports.d.ts.map +1 -1
- package/dist/core/transports.js +4 -0
- package/dist/core/transports.js.map +1 -1
- package/dist/lib/bridge-manager.d.ts +1 -0
- package/dist/lib/bridge-manager.d.ts.map +1 -1
- package/dist/lib/bridge-manager.js +10 -2
- package/dist/lib/bridge-manager.js.map +1 -1
- package/dist/lib/session-client.js +2 -2
- package/dist/lib/session-client.js.map +1 -1
- package/dist/lib/sessions.d.ts.map +1 -1
- package/dist/lib/sessions.js +2 -2
- package/dist/lib/sessions.js.map +1 -1
- package/dist/lib/types.d.ts +1 -0
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/utils.d.ts +1 -0
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +9 -0
- package/dist/lib/utils.js.map +1 -1
- package/docs/TODOs.md +13 -0
- package/package.json +4 -4
|
@@ -97,7 +97,18 @@
|
|
|
97
97
|
"Bash(E2E_ISOLATED_ALL=1 TESTS=\"human-output output-invariants\" ./test/e2e/run.sh:*)",
|
|
98
98
|
"Bash(E2E_ISOLATED_ALL=1 TESTS=\"output-invariants human-output\" ./test/e2e/run.sh:*)",
|
|
99
99
|
"Bash(npm publish:*)",
|
|
100
|
-
"Bash(MCPC_RELEASE=1 npm publish:*)"
|
|
100
|
+
"Bash(MCPC_RELEASE=1 npm publish:*)",
|
|
101
|
+
"WebFetch(domain:www.philschmid.de)",
|
|
102
|
+
"Bash(mcpc @apify close:*)",
|
|
103
|
+
"Bash(mcpc:*)",
|
|
104
|
+
"Bash(__NEW_LINE_be84ee31121f5014__ echo \"\")",
|
|
105
|
+
"Bash(MCPC_HOME_DIR=/tmp/mcpc-test-restart ./dist/cli/index.js:*)",
|
|
106
|
+
"Bash(./dist/cli/index.js:*)",
|
|
107
|
+
"Bash(./dist/cli/index.js @test-restart close:*)",
|
|
108
|
+
"Bash(MCPC_HOME_DIR=/tmp/mcpc-test-json node:*)",
|
|
109
|
+
"Bash(MCPC_HOME_DIR=/tmp/mcpc-test-json MCPC_VERBOSE=1 node:*)",
|
|
110
|
+
"Bash(MCPC_HOME_DIR=/tmp/mcpc-test-json DEBUG=* node:*)",
|
|
111
|
+
"Bash(MCPC_HOME_DIR=/tmp/mcpc-test-new node:*)"
|
|
101
112
|
]
|
|
102
113
|
}
|
|
103
114
|
}
|
package/.idea/workspace.xml
CHANGED
|
@@ -4,9 +4,8 @@
|
|
|
4
4
|
<option name="autoReloadType" value="SELECTIVE" />
|
|
5
5
|
</component>
|
|
6
6
|
<component name="ChangeListManager">
|
|
7
|
-
<list default="true" id="84071bae-f051-424d-a0e4-1540170b1e94" name="Changes" comment="
|
|
8
|
-
<change beforePath="$PROJECT_DIR$/
|
|
9
|
-
<change beforePath="$PROJECT_DIR$/src/cli/index.ts" beforeDir="false" afterPath="$PROJECT_DIR$/src/cli/index.ts" afterDir="false" />
|
|
7
|
+
<list default="true" id="84071bae-f051-424d-a0e4-1540170b1e94" name="Changes" comment="`tools-list` now shows only a compact list to support dynamic tool discovery, added --full option for full details">
|
|
8
|
+
<change beforePath="$PROJECT_DIR$/CHANGELOG.md" beforeDir="false" afterPath="$PROJECT_DIR$/CHANGELOG.md" afterDir="false" />
|
|
10
9
|
</list>
|
|
11
10
|
<option name="SHOW_DIALOG" value="false" />
|
|
12
11
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
|
@@ -14,7 +13,7 @@
|
|
|
14
13
|
<option name="LAST_RESOLUTION" value="IGNORE" />
|
|
15
14
|
</component>
|
|
16
15
|
<component name="EmbeddingIndexingInfo">
|
|
17
|
-
<option name="cachedIndexableFilesCount" value="
|
|
16
|
+
<option name="cachedIndexableFilesCount" value="120" />
|
|
18
17
|
<option name="fileBasedEmbeddingIndicesEnabled" value="true" />
|
|
19
18
|
</component>
|
|
20
19
|
<component name="Git.Settings">
|
|
@@ -82,9 +81,9 @@
|
|
|
82
81
|
<recent name="$PROJECT_DIR$/docs" />
|
|
83
82
|
</key>
|
|
84
83
|
<key name="MoveFile.RECENT_KEYS">
|
|
84
|
+
<recent name="$PROJECT_DIR$/docs" />
|
|
85
85
|
<recent name="$PROJECT_DIR$/docs/images" />
|
|
86
86
|
<recent name="$PROJECT_DIR$/docs/examples" />
|
|
87
|
-
<recent name="$PROJECT_DIR$/docs" />
|
|
88
87
|
<recent name="$PROJECT_DIR$/test/coverage" />
|
|
89
88
|
<recent name="$PROJECT_DIR$/test/playground" />
|
|
90
89
|
</key>
|
|
@@ -115,159 +114,7 @@
|
|
|
115
114
|
<workItem from="1766435124813" duration="175094000" />
|
|
116
115
|
<workItem from="1767121309931" duration="139790000" />
|
|
117
116
|
<workItem from="1767397304824" duration="654000" />
|
|
118
|
-
<workItem from="1767400124038" duration="
|
|
119
|
-
</task>
|
|
120
|
-
<task id="LOCAL-00301" summary="Writing">
|
|
121
|
-
<option name="closed" value="true" />
|
|
122
|
-
<created>1767256060393</created>
|
|
123
|
-
<option name="number" value="00301" />
|
|
124
|
-
<option name="presentableId" value="LOCAL-00301" />
|
|
125
|
-
<option name="project" value="LOCAL" />
|
|
126
|
-
<updated>1767256060393</updated>
|
|
127
|
-
</task>
|
|
128
|
-
<task id="LOCAL-00302" summary="Writing">
|
|
129
|
-
<option name="closed" value="true" />
|
|
130
|
-
<created>1767256636124</created>
|
|
131
|
-
<option name="number" value="00302" />
|
|
132
|
-
<option name="presentableId" value="LOCAL-00302" />
|
|
133
|
-
<option name="project" value="LOCAL" />
|
|
134
|
-
<updated>1767256636124</updated>
|
|
135
|
-
</task>
|
|
136
|
-
<task id="LOCAL-00303" summary="Tests">
|
|
137
|
-
<option name="closed" value="true" />
|
|
138
|
-
<created>1767256961080</created>
|
|
139
|
-
<option name="number" value="00303" />
|
|
140
|
-
<option name="presentableId" value="LOCAL-00303" />
|
|
141
|
-
<option name="project" value="LOCAL" />
|
|
142
|
-
<updated>1767256961080</updated>
|
|
143
|
-
</task>
|
|
144
|
-
<task id="LOCAL-00304" summary="Renamed "session" to "connect", it's feels better">
|
|
145
|
-
<option name="closed" value="true" />
|
|
146
|
-
<created>1767257359213</created>
|
|
147
|
-
<option name="number" value="00304" />
|
|
148
|
-
<option name="presentableId" value="LOCAL-00304" />
|
|
149
|
-
<option name="project" value="LOCAL" />
|
|
150
|
-
<updated>1767257359213</updated>
|
|
151
|
-
</task>
|
|
152
|
-
<task id="LOCAL-00305" summary="Fixed --timeout">
|
|
153
|
-
<option name="closed" value="true" />
|
|
154
|
-
<created>1767258330178</created>
|
|
155
|
-
<option name="number" value="00305" />
|
|
156
|
-
<option name="presentableId" value="LOCAL-00305" />
|
|
157
|
-
<option name="project" value="LOCAL" />
|
|
158
|
-
<updated>1767258330178</updated>
|
|
159
|
-
</task>
|
|
160
|
-
<task id="LOCAL-00306" summary="Fixes">
|
|
161
|
-
<option name="closed" value="true" />
|
|
162
|
-
<created>1767258961101</created>
|
|
163
|
-
<option name="number" value="00306" />
|
|
164
|
-
<option name="presentableId" value="LOCAL-00306" />
|
|
165
|
-
<option name="project" value="LOCAL" />
|
|
166
|
-
<updated>1767258961101</updated>
|
|
167
|
-
</task>
|
|
168
|
-
<task id="LOCAL-00307" summary="Writing">
|
|
169
|
-
<option name="closed" value="true" />
|
|
170
|
-
<created>1767260069457</created>
|
|
171
|
-
<option name="number" value="00307" />
|
|
172
|
-
<option name="presentableId" value="LOCAL-00307" />
|
|
173
|
-
<option name="project" value="LOCAL" />
|
|
174
|
-
<updated>1767260069457</updated>
|
|
175
|
-
</task>
|
|
176
|
-
<task id="LOCAL-00308" summary="Cosmetic">
|
|
177
|
-
<option name="closed" value="true" />
|
|
178
|
-
<created>1767260684183</created>
|
|
179
|
-
<option name="number" value="00308" />
|
|
180
|
-
<option name="presentableId" value="LOCAL-00308" />
|
|
181
|
-
<option name="project" value="LOCAL" />
|
|
182
|
-
<updated>1767260684183</updated>
|
|
183
|
-
</task>
|
|
184
|
-
<task id="LOCAL-00309" summary="Implemented --proxy command">
|
|
185
|
-
<option name="closed" value="true" />
|
|
186
|
-
<created>1767260968448</created>
|
|
187
|
-
<option name="number" value="00309" />
|
|
188
|
-
<option name="presentableId" value="LOCAL-00309" />
|
|
189
|
-
<option name="project" value="LOCAL" />
|
|
190
|
-
<updated>1767260968448</updated>
|
|
191
|
-
</task>
|
|
192
|
-
<task id="LOCAL-00310" summary="Writing and tests">
|
|
193
|
-
<option name="closed" value="true" />
|
|
194
|
-
<created>1767262727887</created>
|
|
195
|
-
<option name="number" value="00310" />
|
|
196
|
-
<option name="presentableId" value="LOCAL-00310" />
|
|
197
|
-
<option name="project" value="LOCAL" />
|
|
198
|
-
<updated>1767262727887</updated>
|
|
199
|
-
</task>
|
|
200
|
-
<task id="LOCAL-00311" summary="Writing">
|
|
201
|
-
<option name="closed" value="true" />
|
|
202
|
-
<created>1767262976779</created>
|
|
203
|
-
<option name="number" value="00311" />
|
|
204
|
-
<option name="presentableId" value="LOCAL-00311" />
|
|
205
|
-
<option name="project" value="LOCAL" />
|
|
206
|
-
<updated>1767262976779</updated>
|
|
207
|
-
</task>
|
|
208
|
-
<task id="LOCAL-00312" summary="Tests and nits">
|
|
209
|
-
<option name="closed" value="true" />
|
|
210
|
-
<created>1767263177871</created>
|
|
211
|
-
<option name="number" value="00312" />
|
|
212
|
-
<option name="presentableId" value="LOCAL-00312" />
|
|
213
|
-
<option name="project" value="LOCAL" />
|
|
214
|
-
<updated>1767263177871</updated>
|
|
215
|
-
</task>
|
|
216
|
-
<task id="LOCAL-00313" summary="Final touches">
|
|
217
|
-
<option name="closed" value="true" />
|
|
218
|
-
<created>1767264480849</created>
|
|
219
|
-
<option name="number" value="00313" />
|
|
220
|
-
<option name="presentableId" value="LOCAL-00313" />
|
|
221
|
-
<option name="project" value="LOCAL" />
|
|
222
|
-
<updated>1767264480849</updated>
|
|
223
|
-
</task>
|
|
224
|
-
<task id="LOCAL-00314" summary="Final touches">
|
|
225
|
-
<option name="closed" value="true" />
|
|
226
|
-
<created>1767264631473</created>
|
|
227
|
-
<option name="number" value="00314" />
|
|
228
|
-
<option name="presentableId" value="LOCAL-00314" />
|
|
229
|
-
<option name="project" value="LOCAL" />
|
|
230
|
-
<updated>1767264631473</updated>
|
|
231
|
-
</task>
|
|
232
|
-
<task id="LOCAL-00315" summary="Final touches">
|
|
233
|
-
<option name="closed" value="true" />
|
|
234
|
-
<created>1767295534266</created>
|
|
235
|
-
<option name="number" value="00315" />
|
|
236
|
-
<option name="presentableId" value="LOCAL-00315" />
|
|
237
|
-
<option name="project" value="LOCAL" />
|
|
238
|
-
<updated>1767295534266</updated>
|
|
239
|
-
</task>
|
|
240
|
-
<task id="LOCAL-00316" summary="More tests">
|
|
241
|
-
<option name="closed" value="true" />
|
|
242
|
-
<created>1767300734831</created>
|
|
243
|
-
<option name="number" value="00316" />
|
|
244
|
-
<option name="presentableId" value="LOCAL-00316" />
|
|
245
|
-
<option name="project" value="LOCAL" />
|
|
246
|
-
<updated>1767300734831</updated>
|
|
247
|
-
</task>
|
|
248
|
-
<task id="LOCAL-00317" summary="Writing">
|
|
249
|
-
<option name="closed" value="true" />
|
|
250
|
-
<created>1767303169928</created>
|
|
251
|
-
<option name="number" value="00317" />
|
|
252
|
-
<option name="presentableId" value="LOCAL-00317" />
|
|
253
|
-
<option name="project" value="LOCAL" />
|
|
254
|
-
<updated>1767303169928</updated>
|
|
255
|
-
</task>
|
|
256
|
-
<task id="LOCAL-00318" summary="Writing">
|
|
257
|
-
<option name="closed" value="true" />
|
|
258
|
-
<created>1767304929607</created>
|
|
259
|
-
<option name="number" value="00318" />
|
|
260
|
-
<option name="presentableId" value="LOCAL-00318" />
|
|
261
|
-
<option name="project" value="LOCAL" />
|
|
262
|
-
<updated>1767304929607</updated>
|
|
263
|
-
</task>
|
|
264
|
-
<task id="LOCAL-00319" summary="Renamed "dead" to "crashed" session, final touches">
|
|
265
|
-
<option name="closed" value="true" />
|
|
266
|
-
<created>1767305903020</created>
|
|
267
|
-
<option name="number" value="00319" />
|
|
268
|
-
<option name="presentableId" value="LOCAL-00319" />
|
|
269
|
-
<option name="project" value="LOCAL" />
|
|
270
|
-
<updated>1767305903020</updated>
|
|
117
|
+
<workItem from="1767400124038" duration="78154000" />
|
|
271
118
|
</task>
|
|
272
119
|
<task id="LOCAL-00320" summary="Final touches">
|
|
273
120
|
<option name="closed" value="true" />
|
|
@@ -509,7 +356,159 @@
|
|
|
509
356
|
<option name="project" value="LOCAL" />
|
|
510
357
|
<updated>1767467232772</updated>
|
|
511
358
|
</task>
|
|
512
|
-
<
|
|
359
|
+
<task id="LOCAL-00350" summary="Docs">
|
|
360
|
+
<option name="closed" value="true" />
|
|
361
|
+
<created>1767495856786</created>
|
|
362
|
+
<option name="number" value="00350" />
|
|
363
|
+
<option name="presentableId" value="LOCAL-00350" />
|
|
364
|
+
<option name="project" value="LOCAL" />
|
|
365
|
+
<updated>1767495856786</updated>
|
|
366
|
+
</task>
|
|
367
|
+
<task id="LOCAL-00351" summary="Docs">
|
|
368
|
+
<option name="closed" value="true" />
|
|
369
|
+
<created>1767496287506</created>
|
|
370
|
+
<option name="number" value="00351" />
|
|
371
|
+
<option name="presentableId" value="LOCAL-00351" />
|
|
372
|
+
<option name="project" value="LOCAL" />
|
|
373
|
+
<updated>1767496287506</updated>
|
|
374
|
+
</task>
|
|
375
|
+
<task id="LOCAL-00352" summary="Docs">
|
|
376
|
+
<option name="closed" value="true" />
|
|
377
|
+
<created>1767501783702</created>
|
|
378
|
+
<option name="number" value="00352" />
|
|
379
|
+
<option name="presentableId" value="LOCAL-00352" />
|
|
380
|
+
<option name="project" value="LOCAL" />
|
|
381
|
+
<updated>1767501783702</updated>
|
|
382
|
+
</task>
|
|
383
|
+
<task id="LOCAL-00353" summary="Docs">
|
|
384
|
+
<option name="closed" value="true" />
|
|
385
|
+
<created>1767555748507</created>
|
|
386
|
+
<option name="number" value="00353" />
|
|
387
|
+
<option name="presentableId" value="LOCAL-00353" />
|
|
388
|
+
<option name="project" value="LOCAL" />
|
|
389
|
+
<updated>1767555748507</updated>
|
|
390
|
+
</task>
|
|
391
|
+
<task id="LOCAL-00354" summary="Docs">
|
|
392
|
+
<option name="closed" value="true" />
|
|
393
|
+
<created>1767561058376</created>
|
|
394
|
+
<option name="number" value="00354" />
|
|
395
|
+
<option name="presentableId" value="LOCAL-00354" />
|
|
396
|
+
<option name="project" value="LOCAL" />
|
|
397
|
+
<updated>1767561058377</updated>
|
|
398
|
+
</task>
|
|
399
|
+
<task id="LOCAL-00355" summary="Docs">
|
|
400
|
+
<option name="closed" value="true" />
|
|
401
|
+
<created>1767949515517</created>
|
|
402
|
+
<option name="number" value="00355" />
|
|
403
|
+
<option name="presentableId" value="LOCAL-00355" />
|
|
404
|
+
<option name="project" value="LOCAL" />
|
|
405
|
+
<updated>1767949515517</updated>
|
|
406
|
+
</task>
|
|
407
|
+
<task id="LOCAL-00356" summary="Docs">
|
|
408
|
+
<option name="closed" value="true" />
|
|
409
|
+
<created>1767950436457</created>
|
|
410
|
+
<option name="number" value="00356" />
|
|
411
|
+
<option name="presentableId" value="LOCAL-00356" />
|
|
412
|
+
<option name="project" value="LOCAL" />
|
|
413
|
+
<updated>1767950436457</updated>
|
|
414
|
+
</task>
|
|
415
|
+
<task id="LOCAL-00357" summary="Docs">
|
|
416
|
+
<option name="closed" value="true" />
|
|
417
|
+
<created>1768313561028</created>
|
|
418
|
+
<option name="number" value="00357" />
|
|
419
|
+
<option name="presentableId" value="LOCAL-00357" />
|
|
420
|
+
<option name="project" value="LOCAL" />
|
|
421
|
+
<updated>1768313561028</updated>
|
|
422
|
+
</task>
|
|
423
|
+
<task id="LOCAL-00358" summary="TS code mode draft">
|
|
424
|
+
<option name="closed" value="true" />
|
|
425
|
+
<created>1768313607831</created>
|
|
426
|
+
<option name="number" value="00358" />
|
|
427
|
+
<option name="presentableId" value="LOCAL-00358" />
|
|
428
|
+
<option name="project" value="LOCAL" />
|
|
429
|
+
<updated>1768313607831</updated>
|
|
430
|
+
</task>
|
|
431
|
+
<task id="LOCAL-00359" summary="Improved session expiration handling">
|
|
432
|
+
<option name="closed" value="true" />
|
|
433
|
+
<created>1768314790513</created>
|
|
434
|
+
<option name="number" value="00359" />
|
|
435
|
+
<option name="presentableId" value="LOCAL-00359" />
|
|
436
|
+
<option name="project" value="LOCAL" />
|
|
437
|
+
<updated>1768314790513</updated>
|
|
438
|
+
</task>
|
|
439
|
+
<task id="LOCAL-00360" summary="Fixed incorrect flagging of expired sessions as dead">
|
|
440
|
+
<option name="closed" value="true" />
|
|
441
|
+
<created>1768469231118</created>
|
|
442
|
+
<option name="number" value="00360" />
|
|
443
|
+
<option name="presentableId" value="LOCAL-00360" />
|
|
444
|
+
<option name="project" value="LOCAL" />
|
|
445
|
+
<updated>1768469231118</updated>
|
|
446
|
+
</task>
|
|
447
|
+
<task id="LOCAL-00361" summary="Copy">
|
|
448
|
+
<option name="closed" value="true" />
|
|
449
|
+
<created>1768470113068</created>
|
|
450
|
+
<option name="number" value="00361" />
|
|
451
|
+
<option name="presentableId" value="LOCAL-00361" />
|
|
452
|
+
<option name="project" value="LOCAL" />
|
|
453
|
+
<updated>1768470113068</updated>
|
|
454
|
+
</task>
|
|
455
|
+
<task id="LOCAL-00362" summary="Fixed help">
|
|
456
|
+
<option name="closed" value="true" />
|
|
457
|
+
<created>1768473976578</created>
|
|
458
|
+
<option name="number" value="00362" />
|
|
459
|
+
<option name="presentableId" value="LOCAL-00362" />
|
|
460
|
+
<option name="project" value="LOCAL" />
|
|
461
|
+
<updated>1768473976578</updated>
|
|
462
|
+
</task>
|
|
463
|
+
<task id="LOCAL-00363" summary="Nits">
|
|
464
|
+
<option name="closed" value="true" />
|
|
465
|
+
<created>1768474365832</created>
|
|
466
|
+
<option name="number" value="00363" />
|
|
467
|
+
<option name="presentableId" value="LOCAL-00363" />
|
|
468
|
+
<option name="project" value="LOCAL" />
|
|
469
|
+
<updated>1768474365832</updated>
|
|
470
|
+
</task>
|
|
471
|
+
<task id="LOCAL-00364" summary="Require explicit restart when server rejects MCP session ID Remove automatic reconnection when server rejects session ID during bridge restart. Session is now marked as 'expired' and user must explicitly run 'mcpc @session restart' to create a fresh session.">
|
|
472
|
+
<option name="closed" value="true" />
|
|
473
|
+
<created>1769003190833</created>
|
|
474
|
+
<option name="number" value="00364" />
|
|
475
|
+
<option name="presentableId" value="LOCAL-00364" />
|
|
476
|
+
<option name="project" value="LOCAL" />
|
|
477
|
+
<updated>1769003190833</updated>
|
|
478
|
+
</task>
|
|
479
|
+
<task id="LOCAL-00365" summary="Fixes">
|
|
480
|
+
<option name="closed" value="true" />
|
|
481
|
+
<created>1769003457187</created>
|
|
482
|
+
<option name="number" value="00365" />
|
|
483
|
+
<option name="presentableId" value="LOCAL-00365" />
|
|
484
|
+
<option name="project" value="LOCAL" />
|
|
485
|
+
<updated>1769003457187</updated>
|
|
486
|
+
</task>
|
|
487
|
+
<task id="LOCAL-00366" summary="Added changelog, better release process">
|
|
488
|
+
<option name="closed" value="true" />
|
|
489
|
+
<created>1769005694924</created>
|
|
490
|
+
<option name="number" value="00366" />
|
|
491
|
+
<option name="presentableId" value="LOCAL-00366" />
|
|
492
|
+
<option name="project" value="LOCAL" />
|
|
493
|
+
<updated>1769005694924</updated>
|
|
494
|
+
</task>
|
|
495
|
+
<task id="LOCAL-00367" summary="Updated package.json URLs">
|
|
496
|
+
<option name="closed" value="true" />
|
|
497
|
+
<created>1769505670158</created>
|
|
498
|
+
<option name="number" value="00367" />
|
|
499
|
+
<option name="presentableId" value="LOCAL-00367" />
|
|
500
|
+
<option name="project" value="LOCAL" />
|
|
501
|
+
<updated>1769505670158</updated>
|
|
502
|
+
</task>
|
|
503
|
+
<task id="LOCAL-00368" summary="`tools-list` now shows only a compact list to support dynamic tool discovery, added --full option for full details">
|
|
504
|
+
<option name="closed" value="true" />
|
|
505
|
+
<created>1770064327434</created>
|
|
506
|
+
<option name="number" value="00368" />
|
|
507
|
+
<option name="presentableId" value="LOCAL-00368" />
|
|
508
|
+
<option name="project" value="LOCAL" />
|
|
509
|
+
<updated>1770064327434</updated>
|
|
510
|
+
</task>
|
|
511
|
+
<option name="localTasksCounter" value="369" />
|
|
513
512
|
<servers />
|
|
514
513
|
</component>
|
|
515
514
|
<component name="TypeScriptGeneratedFilesManager">
|
|
@@ -616,15 +615,6 @@
|
|
|
616
615
|
</option>
|
|
617
616
|
</component>
|
|
618
617
|
<component name="VcsManagerConfiguration">
|
|
619
|
-
<MESSAGE value="Fixed handling --schema for outputSchema" />
|
|
620
|
-
<MESSAGE value="Tests" />
|
|
621
|
-
<MESSAGE value="Renamed "session" to "connect", it's feels better" />
|
|
622
|
-
<MESSAGE value="Fixed --timeout" />
|
|
623
|
-
<MESSAGE value="Implemented --proxy command" />
|
|
624
|
-
<MESSAGE value="Writing and tests" />
|
|
625
|
-
<MESSAGE value="Tests and nits" />
|
|
626
|
-
<MESSAGE value="More tests" />
|
|
627
|
-
<MESSAGE value="Renamed "dead" to "crashed" session, final touches" />
|
|
628
618
|
<MESSAGE value="Final touches" />
|
|
629
619
|
<MESSAGE value="More final touches" />
|
|
630
620
|
<MESSAGE value="Even more final touches" />
|
|
@@ -638,9 +628,18 @@
|
|
|
638
628
|
<MESSAGE value="Cosmetic" />
|
|
639
629
|
<MESSAGE value="New gif in README" />
|
|
640
630
|
<MESSAGE value="Cosmetic improvements" />
|
|
631
|
+
<MESSAGE value="Docs" />
|
|
632
|
+
<MESSAGE value="TS code mode draft" />
|
|
633
|
+
<MESSAGE value="Improved session expiration handling" />
|
|
634
|
+
<MESSAGE value="Fixed incorrect flagging of expired sessions as dead" />
|
|
635
|
+
<MESSAGE value="Copy" />
|
|
636
|
+
<MESSAGE value="Fixed help" />
|
|
641
637
|
<MESSAGE value="Nits" />
|
|
638
|
+
<MESSAGE value="Require explicit restart when server rejects MCP session ID Remove automatic reconnection when server rejects session ID during bridge restart. Session is now marked as 'expired' and user must explicitly run 'mcpc @session restart' to create a fresh session." />
|
|
642
639
|
<MESSAGE value="Fixes" />
|
|
643
|
-
<MESSAGE value="
|
|
644
|
-
<
|
|
640
|
+
<MESSAGE value="Added changelog, better release process" />
|
|
641
|
+
<MESSAGE value="Updated package.json URLs" />
|
|
642
|
+
<MESSAGE value="`tools-list` now shows only a compact list to support dynamic tool discovery, added --full option for full details" />
|
|
643
|
+
<option name="LAST_COMMIT_MESSAGE" value="`tools-list` now shows only a compact list to support dynamic tool discovery, added --full option for full details" />
|
|
645
644
|
</component>
|
|
646
645
|
</project>
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
|
|
10
|
+
## [0.1.9] - 2026-02-02
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
- Added CHANGELOG.md for tracking changes
|
|
14
|
+
- Automated GitHub release creation in publish script
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
- `tools-list` now shows a compact summary by default to support dynamic tool discovery
|
|
18
|
+
- Added `--full` flag to `tools-list` for detailed tool information
|
|
19
|
+
- Publish script now automatically updates CHANGELOG.md version on release
|
|
20
|
+
|
|
21
|
+
## [0.1.8] - 2026-01-21
|
|
22
|
+
|
|
23
|
+
### Changed
|
|
24
|
+
- Session is now marked as expired (not auto-reconnected) when server rejects MCP session ID
|
|
25
|
+
- Users must explicitly run `mcpc @session restart` to recover from expired sessions
|
|
26
|
+
|
|
27
|
+
### Fixed
|
|
28
|
+
- Fixed incorrect flagging of expired sessions as crashed
|
|
29
|
+
- Fixed session expiration detection for various error message formats
|
|
30
|
+
- Fixed help command output
|
|
31
|
+
|
|
32
|
+
## [0.1.7] - 2026-01-03
|
|
33
|
+
|
|
34
|
+
### Changed
|
|
35
|
+
- Documentation improvements and updates
|
|
36
|
+
- Various cosmetic improvements to CLI output
|
|
37
|
+
|
|
38
|
+
### Fixed
|
|
39
|
+
- Minor bug fixes
|
|
40
|
+
|
|
41
|
+
## [0.1.6] - 2026-01-02
|
|
42
|
+
|
|
43
|
+
### Added
|
|
44
|
+
- Session notifications with timestamps for tracking list changes (`tools/list_changed`, `resources/list_changed`, `prompts/list_changed`)
|
|
45
|
+
|
|
46
|
+
### Changed
|
|
47
|
+
- Renamed `_meta` to `_mcpc` in JSON output for MCP spec conformance
|
|
48
|
+
- Improved formatting of prompts output
|
|
49
|
+
- Various cosmetic improvements
|
|
50
|
+
|
|
51
|
+
### Fixed
|
|
52
|
+
- Fixed proxy server issues
|
|
53
|
+
- Fixed screenshot URL in README
|
|
54
|
+
|
|
55
|
+
## [0.1.5] - 2026-01-01
|
|
56
|
+
|
|
57
|
+
### Added
|
|
58
|
+
- Implemented `--proxy` option for exposing sessions as local MCP servers
|
|
59
|
+
- Added `mcpc @session restart` command
|
|
60
|
+
|
|
61
|
+
### Changed
|
|
62
|
+
- Renamed `session` command to `connect` for clarity
|
|
63
|
+
- Renamed "dead" session status to "crashed" for clarity
|
|
64
|
+
|
|
65
|
+
### Fixed
|
|
66
|
+
- Fixed `--timeout` option handling
|
|
67
|
+
|
|
68
|
+
## [0.1.4] - 2025-12-31
|
|
69
|
+
|
|
70
|
+
### Added
|
|
71
|
+
- Implemented `--schema` and `--schema-mode` options for tools
|
|
72
|
+
- Added `mcpc @session restart` command
|
|
73
|
+
|
|
74
|
+
### Changed
|
|
75
|
+
- Renamed `tools-schema` command to `tools-get`
|
|
76
|
+
- Improved formatting for prompts and tools output
|
|
77
|
+
- Security review and improvements
|
|
78
|
+
|
|
79
|
+
## [0.1.3] - 2025-12-29
|
|
80
|
+
|
|
81
|
+
### Added
|
|
82
|
+
- Initial public release
|
|
83
|
+
- Support for Streamable HTTP and stdio transports
|
|
84
|
+
- Session management with persistent bridge processes
|
|
85
|
+
- OAuth 2.1 authentication with PKCE
|
|
86
|
+
- Full MCP protocol support: tools, resources, prompts
|
|
87
|
+
- Interactive shell mode
|
|
88
|
+
- JSON output mode for scripting
|
|
89
|
+
|
|
90
|
+
[Unreleased]: https://github.com/apify/mcpc/compare/v0.1.9...HEAD
|
|
91
|
+
[0.1.9]: https://github.com/apify/mcpc/compare/v0.1.8...v0.1.9
|
|
92
|
+
[0.1.8]: https://github.com/apify/mcpc/compare/v0.1.7...v0.1.8
|
|
93
|
+
[0.1.7]: https://github.com/apify/mcpc/compare/v0.1.6...v0.1.7
|
|
94
|
+
[0.1.6]: https://github.com/apify/mcpc/compare/v0.1.5...v0.1.6
|
|
95
|
+
[0.1.5]: https://github.com/apify/mcpc/compare/v0.1.4...v0.1.5
|
|
96
|
+
[0.1.4]: https://github.com/apify/mcpc/compare/v0.1.3...v0.1.4
|
|
97
|
+
[0.1.3]: https://github.com/apify/mcpc/releases/tag/v0.1.3
|
package/README.md
CHANGED
|
@@ -10,13 +10,13 @@ After all, UNIX-compatible shell script is THE most universal coding language.
|
|
|
10
10
|

|
|
11
11
|
|
|
12
12
|
**Key features:**
|
|
13
|
-
- ð **
|
|
13
|
+
- ð **Compatible** - Works with any MCP server over Streamable HTTP or stdio.
|
|
14
14
|
- ð **Persistent sessions** - Keep multiple server connections alive simultaneously.
|
|
15
|
-
- ð **Zero setup** - Connect to remote servers instantly with just a URL.
|
|
16
15
|
- ð§ **Strong MCP support** - Instructions, tools, resources, prompts, dynamic discovery.
|
|
17
|
-
- ð **
|
|
18
|
-
- ðĪ **AI
|
|
16
|
+
- ð **Code mode** - JSON output enables integration with CLI tools like `jq` and scripting.
|
|
17
|
+
- ðĪ **AI sandboxing** - MCP proxy server to securely access authenticated sessions from AI-generated code.
|
|
19
18
|
- ð **Secure** - Full OAuth 2.1 support, OS keychain for credentials storage.
|
|
19
|
+
- ðŠķ **Lightweight** - Minimal dependencies, works on Mac/Win/Linux, doesn't use LLMs on its own.
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
## Table of contents
|
|
@@ -36,6 +36,7 @@ After all, UNIX-compatible shell script is THE most universal coding language.
|
|
|
36
36
|
- [Security](#security)
|
|
37
37
|
- [Errors](#errors)
|
|
38
38
|
- [Development](#development)
|
|
39
|
+
- [Related work](#related-work)
|
|
39
40
|
- [License](#license)
|
|
40
41
|
|
|
41
42
|
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
|
|
@@ -101,7 +102,7 @@ Options:
|
|
|
101
102
|
-H, --header <header> HTTP header for remote MCP server (can be repeated)
|
|
102
103
|
-v, --version Output the version number
|
|
103
104
|
--verbose Enable debug logging
|
|
104
|
-
--profile <name> OAuth profile for the server ("default" if
|
|
105
|
+
--profile <name> OAuth profile for the server ("default" if not provided)
|
|
105
106
|
--schema <file> Validate tool/prompt schema against expected schema
|
|
106
107
|
--schema-mode <mode> Schema validation mode: strict, compatible (default), ignore
|
|
107
108
|
--timeout <seconds> Request timeout in seconds (default: 300)
|
|
@@ -115,17 +116,17 @@ Targets:
|
|
|
115
116
|
<config-entry> Entry in MCP config file specified by --config (e.g. "fs")
|
|
116
117
|
<server-url> Remote MCP server URL (e.g. "mcp.apify.com")
|
|
117
118
|
|
|
118
|
-
Management commands
|
|
119
|
-
login Create OAuth profile with credentials
|
|
119
|
+
Management commands:
|
|
120
|
+
login Create OAuth profile with credentials for remote server
|
|
120
121
|
logout Remove OAuth profile for remote server
|
|
121
122
|
connect @<session> Connect to server and create named persistent session
|
|
122
|
-
restart
|
|
123
|
-
close
|
|
123
|
+
restart Kill and restart a session
|
|
124
|
+
close Close a session
|
|
124
125
|
|
|
125
|
-
MCP commands
|
|
126
|
+
MCP server commands:
|
|
126
127
|
help Show server info ("help" can be omitted)
|
|
127
128
|
shell Open interactive shell
|
|
128
|
-
tools-list
|
|
129
|
+
tools-list [--full] Send "tools/list" MCP request...
|
|
129
130
|
tools-get <tool-name>
|
|
130
131
|
tools-call <tool-name> [arg1:=val1 arg2:=val2 ... | <args-json> | <stdin]
|
|
131
132
|
prompts-list
|
|
@@ -138,12 +139,13 @@ MCP commands (<target> provided):
|
|
|
138
139
|
resources-templates-list
|
|
139
140
|
logging-set-level <level>
|
|
140
141
|
ping
|
|
141
|
-
|
|
142
|
+
|
|
143
|
+
Run "mcpc" (without <target>) to show available sessions and profiles.
|
|
142
144
|
```
|
|
143
145
|
|
|
144
|
-
###
|
|
146
|
+
### General actions
|
|
145
147
|
|
|
146
|
-
When `<target>` is
|
|
148
|
+
When `<target>` is omitted, `mcpc` provides general actions:
|
|
147
149
|
|
|
148
150
|
```bash
|
|
149
151
|
# List all sessions and OAuth profiles (also in JSON mode)
|
|
@@ -154,15 +156,13 @@ mcpc --json
|
|
|
154
156
|
mcpc --help
|
|
155
157
|
mcpc --version
|
|
156
158
|
|
|
157
|
-
# Clean expired sessions and old log files
|
|
159
|
+
# Clean expired sessions and old log files (see below for details)
|
|
158
160
|
mcpc --clean
|
|
159
161
|
```
|
|
160
162
|
|
|
161
|
-
For additional management commands, see [OAuth profiles](#oauth-profiles) and [Cleanup](#cleanup).
|
|
162
|
-
|
|
163
163
|
### Targets
|
|
164
164
|
|
|
165
|
-
To connect
|
|
165
|
+
To connect and interact with an MCP server, you need to specify a `<target>`, which can be one of (in this order of precedence):
|
|
166
166
|
|
|
167
167
|
- **Entry in a config file** (e.g. `--config .vscode/mcp.json filesystem`) - see [Config file](#mcp-server-config-file)
|
|
168
168
|
- **Remote MCP server URL** (e.g. `https://mcp.apify.com`)
|
|
@@ -178,7 +178,7 @@ connects, and enables you to interact with it.
|
|
|
178
178
|
|
|
179
179
|
### MCP commands
|
|
180
180
|
|
|
181
|
-
|
|
181
|
+
When `<target>` is provided, `mcpc` sends MCP requests to the target server:
|
|
182
182
|
|
|
183
183
|
```bash
|
|
184
184
|
# Server from config file (stdio)
|
|
@@ -754,10 +754,13 @@ and includes the `_mcpc` field with relevant server/session metadata.
|
|
|
754
754
|
List, inspect, and call server-provided tools:
|
|
755
755
|
|
|
756
756
|
```bash
|
|
757
|
-
# List available tools
|
|
757
|
+
# List available tools (only names and attributes - useful for dynamic discovery)
|
|
758
758
|
mcpc @apify tools-list
|
|
759
759
|
|
|
760
|
-
#
|
|
760
|
+
# List available tools (full details including input/output args and description)
|
|
761
|
+
mcpc @apify tools-list --full
|
|
762
|
+
|
|
763
|
+
# Get tool schema with full details
|
|
761
764
|
mcpc @apify tools-get search-actors
|
|
762
765
|
|
|
763
766
|
# Call a tool with arguments
|
|
@@ -1057,11 +1060,26 @@ The main `mcpc` process doesn't save log files, but supports [verbose mode](#ver
|
|
|
1057
1060
|
|
|
1058
1061
|
## Development
|
|
1059
1062
|
|
|
1060
|
-
The initial version of `mcpc` was developed by
|
|
1063
|
+
The initial version of `mcpc` was developed and [launched by Jan Curn](https://x.com/jancurn/status/2007144080959291756) of [Apify](https://apify.com)
|
|
1061
1064
|
with the help of Claude Code, during late nights over Christmas 2025 in North Beach, San Francisco.
|
|
1062
1065
|
|
|
1063
1066
|
See [CONTRIBUTING](./CONTRIBUTING.md) for development setup, architecture overview, and contribution guidelines.
|
|
1064
1067
|
|
|
1068
|
+
## Related work
|
|
1069
|
+
|
|
1070
|
+
- https://github.com/steipete/mcporter
|
|
1071
|
+
- https://github.com/philschmid/mcp-cli (https://www.philschmid.de/mcp-cli)
|
|
1072
|
+
- https://github.com/chrishayuk/mcp-cli
|
|
1073
|
+
- https://github.com/wong2/mcp-cli
|
|
1074
|
+
- https://github.com/f/mcptools
|
|
1075
|
+
- https://github.com/adhikasp/mcp-client-cli
|
|
1076
|
+
- https://github.com/mattzcarey/cloudflare-mcp
|
|
1077
|
+
- https://github.com/TeamSparkAI/mcpGraph
|
|
1078
|
+
- https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool (https://x.com/trq212/status/2011523109871108570)
|
|
1079
|
+
- https://cursor.com/blog/dynamic-context-discovery
|
|
1080
|
+
- https://www.anthropic.com/engineering/code-execution-with-mcp
|
|
1081
|
+
- https://blog.cloudflare.com/code-mode/
|
|
1082
|
+
|
|
1065
1083
|
## License
|
|
1066
1084
|
|
|
1067
1085
|
Apache-2.0 - see [LICENSE](./LICENSE) for details.
|