@apify/mcpc 0.1.0 → 0.1.2

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.
@@ -4,10 +4,7 @@
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="Meta">
8
- <change beforePath="$PROJECT_DIR$/TODOs.md" beforeDir="false" afterPath="$PROJECT_DIR$/TODOs.md" afterDir="false" />
9
- <change beforePath="$PROJECT_DIR$/test/e2e/basic/errors.test.sh" beforeDir="false" afterPath="$PROJECT_DIR$/test/e2e/basic/errors.test.sh" afterDir="false" />
10
- </list>
7
+ <list default="true" id="84071bae-f051-424d-a0e4-1540170b1e94" name="Changes" comment="Cleanup" />
11
8
  <option name="SHOW_DIALOG" value="false" />
12
9
  <option name="HIGHLIGHT_CONFLICTS" value="true" />
13
10
  <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
@@ -100,39 +97,7 @@
100
97
  <workItem from="1765329446041" duration="5741000" />
101
98
  <workItem from="1765408613036" duration="57637000" />
102
99
  <workItem from="1766127655477" duration="67632000" />
103
- <workItem from="1766435124813" duration="96786000" />
104
- </task>
105
- <task id="LOCAL-00115" summary="Code refactoring">
106
- <option name="closed" value="true" />
107
- <created>1766449419373</created>
108
- <option name="number" value="00115" />
109
- <option name="presentableId" value="LOCAL-00115" />
110
- <option name="project" value="LOCAL" />
111
- <updated>1766449419373</updated>
112
- </task>
113
- <task id="LOCAL-00116" summary="Code refactoring">
114
- <option name="closed" value="true" />
115
- <created>1766449685241</created>
116
- <option name="number" value="00116" />
117
- <option name="presentableId" value="LOCAL-00116" />
118
- <option name="project" value="LOCAL" />
119
- <updated>1766449685241</updated>
120
- </task>
121
- <task id="LOCAL-00117" summary="Code refactoring">
122
- <option name="closed" value="true" />
123
- <created>1766452173391</created>
124
- <option name="number" value="00117" />
125
- <option name="presentableId" value="LOCAL-00117" />
126
- <option name="project" value="LOCAL" />
127
- <updated>1766452173391</updated>
128
- </task>
129
- <task id="LOCAL-00118" summary="Code refactoring">
130
- <option name="closed" value="true" />
131
- <created>1766452343623</created>
132
- <option name="number" value="00118" />
133
- <option name="presentableId" value="LOCAL-00118" />
134
- <option name="project" value="LOCAL" />
135
- <updated>1766452343623</updated>
100
+ <workItem from="1766435124813" duration="98039000" />
136
101
  </task>
137
102
  <task id="LOCAL-00119" summary="Big OAuth rewrite - added keychain access, better arch">
138
103
  <option name="closed" value="true" />
@@ -494,7 +459,39 @@
494
459
  <option name="project" value="LOCAL" />
495
460
  <updated>1766831070395</updated>
496
461
  </task>
497
- <option name="localTasksCounter" value="164" />
462
+ <task id="LOCAL-00164" summary="Nits">
463
+ <option name="closed" value="true" />
464
+ <created>1766831696031</created>
465
+ <option name="number" value="00164" />
466
+ <option name="presentableId" value="LOCAL-00164" />
467
+ <option name="project" value="LOCAL" />
468
+ <updated>1766831696031</updated>
469
+ </task>
470
+ <task id="LOCAL-00165" summary="Added Claude skills">
471
+ <option name="closed" value="true" />
472
+ <created>1766832251443</created>
473
+ <option name="number" value="00165" />
474
+ <option name="presentableId" value="LOCAL-00165" />
475
+ <option name="project" value="LOCAL" />
476
+ <updated>1766832251443</updated>
477
+ </task>
478
+ <task id="LOCAL-00166" summary="Removed --insecure tease">
479
+ <option name="closed" value="true" />
480
+ <created>1766832333070</created>
481
+ <option name="number" value="00166" />
482
+ <option name="presentableId" value="LOCAL-00166" />
483
+ <option name="project" value="LOCAL" />
484
+ <updated>1766832333070</updated>
485
+ </task>
486
+ <task id="LOCAL-00167" summary="Cleanup">
487
+ <option name="closed" value="true" />
488
+ <created>1766832432532</created>
489
+ <option name="number" value="00167" />
490
+ <option name="presentableId" value="LOCAL-00167" />
491
+ <option name="project" value="LOCAL" />
492
+ <updated>1766832432532</updated>
493
+ </task>
494
+ <option name="localTasksCounter" value="168" />
498
495
  <servers />
499
496
  </component>
500
497
  <component name="TypeScriptGeneratedFilesManager">
@@ -542,10 +539,6 @@
542
539
  </option>
543
540
  </component>
544
541
  <component name="VcsManagerConfiguration">
545
- <MESSAGE value="Improved OAuth expiration handling and logging" />
546
- <MESSAGE value="Added profile name validation" />
547
- <MESSAGE value="Secured auth headers in sessions" />
548
- <MESSAGE value="Better handling of saved transport headers" />
549
542
  <MESSAGE value="Code refactoring" />
550
543
  <MESSAGE value="Testing and fixes" />
551
544
  <MESSAGE value="Refactoring" />
@@ -567,6 +560,10 @@
567
560
  <MESSAGE value="more nits" />
568
561
  <MESSAGE value="Fixed shell command history" />
569
562
  <MESSAGE value="Meta" />
570
- <option name="LAST_COMMIT_MESSAGE" value="Meta" />
563
+ <MESSAGE value="Nits" />
564
+ <MESSAGE value="Added Claude skills" />
565
+ <MESSAGE value="Removed --insecure tease" />
566
+ <MESSAGE value="Cleanup" />
567
+ <option name="LAST_COMMIT_MESSAGE" value="Cleanup" />
571
568
  </component>
572
569
  </project>
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
- # mcpc: an MCP command-line client
1
+ # mcpc: Universal MCP command-line client
2
2
 
3
- `mcpc` is a universal command-line client for the [Model Context Protocol (MCP)](https://modelcontextprotocol.io/),
4
- which maps MCP to intuitive CLI commands for shell access, scripts, and AI coding agents.
3
+ `mcpc` is a CLI for the [Model Context Protocol (MCP)](https://modelcontextprotocol.io/),
4
+ which maps MCP requests to intuitive commands for shell access, scripts, and AI coding agents.
5
5
 
6
6
  `mcpc` can connect to any MCP server over Streamable HTTP or stdio transports,
7
7
  securely login via OAuth credentials and store credentials,
@@ -60,8 +60,7 @@ mcpc @test shell
60
60
 
61
61
  ```bash
62
62
  mcpc [--json] [--config <file>] [-H|--header "K: V"] [-v|--verbose]
63
- [--schema <file>]
64
- [--schema-mode <mode>] [--timeout <seconds>] [--insecure]
63
+ [--schema <file>] [--schema-mode <mode>] [--timeout <seconds>]
65
64
  [--clean|--clean=sessions,logs,profiles,all]
66
65
  <target> <command...>
67
66
 
@@ -156,7 +155,6 @@ echo '{"query":"hello","count":10}' | mcpc @server tools-call my-tool
156
155
  - `--timeout <seconds>` - Request timeout in seconds (default: 300)
157
156
  - `--schema <file>` - Validate against expected tool/prompt schema
158
157
  - `--schema-mode <mode>` - Schema validation mode: `strict`, `compatible`, or `ignore` (default: `compatible`)
159
- - `--insecure` - Disable SSL certificate validation (not recommended)
160
158
 
161
159
  ## Authentication
162
160
 
@@ -690,7 +688,6 @@ This architecture ensures:
690
688
  ### Network security
691
689
 
692
690
  - HTTPS enforced for remote servers (HTTP auto-upgraded)
693
- - Certificate validation enabled (use `--insecure` to disable, not recommended)
694
691
  - `Origin` header validation to prevent DNS rebinding attacks
695
692
  - Local servers bind to localhost (127.0.0.1) only
696
693
  - No credentials logged even in verbose mode
@@ -759,33 +756,23 @@ mcpc(@apify)> tools-call search-actors --args query="tiktok scraper"
759
756
  mcpc(@apify)> exit
760
757
  ```
761
758
 
762
- ## Implementation status
759
+ ## Claude Code skill
763
760
 
764
- **Note:** This README describes the target architecture. `mcpc` is under active development and not all features are currently implemented.
761
+ For AI coding agents using [Claude Code](https://claude.ai/code), we provide a skill that teaches Claude how to use mcpc effectively.
765
762
 
766
- ### What's implemented
763
+ **Installation:**
764
+ ```bash
765
+ mkdir -p ~/.claude/skills/mcpc
766
+ cp claude-skill/SKILL.md ~/.claude/skills/mcpc/
767
+ ```
767
768
 
768
- **✅ Core functionality:**
769
- - MCP protocol client (wrapper around official SDK)
770
- - CLI structure with Commander.js
771
- - All MCP command handlers fully functional
772
- - Output formatting (human-readable and JSON modes)
773
- - Argument parsing (inline JSON, key=value, key:=json, `--args-file`)
774
- - Error handling with exit codes
775
- - Verbose logging
776
- - Bridge process with persistent sessions
777
- - Unix socket IPC between CLI and bridge
778
- - Session management with file locking
779
- - Environment variables (MCPC_HOME_DIR, MCPC_VERBOSE, MCPC_JSON)
780
- - Caching with TTL and notification-based invalidation
781
- - Server notification handling (`list_changed` events)
782
- - Per-session bridge logs with rotation
783
- - Interactive shell: REPL features (history, tab completion)
784
- - Config file: Full stdio transport support for local packages
785
- - **Authentication**: OAuth profiles, keychain storage (structure exists, flow not complete)
786
- - **Error recovery**: Bridge crash recovery, automatic reconnection
769
+ Then restart Claude Code. The skill enables Claude to interact with MCP servers via mcpc commands instead of function calling, which is more efficient and uses fewer tokens.
787
770
 
788
- ## Implementation details
771
+ See [`claude-skill/README.md`](./claude-skill/README.md) for details.
772
+
773
+ ## Implementation
774
+
775
+ `mcpc` is under active development and some things might not work 100% yet. You have been warned.
789
776
 
790
777
  ### Design principles
791
778
 
@@ -800,7 +787,7 @@ mcpc(@apify)> exit
800
787
  ### Architecture overview
801
788
 
802
789
  ```
803
- TODO: improve interaction diagram
790
+ TODO: add interaction diagram
804
791
  mcpc ──> cli ├──> bridge (UNIX socket) ──> MCP server (stdio/HTTP)
805
792
  ├──> MCP server (stdio/HTTP)
806
793
 
@@ -815,7 +802,6 @@ mcpc (single package)
815
802
  │ └── mcpc-bridge # Bridge process executable
816
803
  ```
817
804
 
818
-
819
805
  ### Core module (runtime-agnostic)
820
806
 
821
807
  Implemented with minimal dependencies to support both Node.js (≥18.0.0) and Bun (≥1.0.0).
package/TODOs.md CHANGED
@@ -10,7 +10,6 @@ mcpc @apify session
10
10
  error: missing required argument 'name'
11
11
 
12
12
 
13
-
14
13
  ## Next
15
14
 
16
15
  - nit: consistent good server and session info, on server/session info, print also auth info
@@ -0,0 +1,38 @@
1
+ # mcpc Claude Code skill
2
+
3
+ This directory contains a [Claude Code skill](https://docs.anthropic.com/en/docs/claude-code/skills) that helps AI agents use mcpc effectively.
4
+
5
+ ## Installation
6
+
7
+ Copy or symlink the `SKILL.md` file to your Claude Code skills directory:
8
+
9
+ ```bash
10
+ # Create skills directory if it doesn't exist
11
+ mkdir -p ~/.claude/skills/mcpc
12
+
13
+ # Option 1: Copy the file
14
+ cp SKILL.md ~/.claude/skills/mcpc/
15
+
16
+ # Option 2: Symlink (auto-updates when mcpc is updated)
17
+ ln -s "$(pwd)/SKILL.md" ~/.claude/skills/mcpc/SKILL.md
18
+ ```
19
+
20
+ Then restart Claude Code to load the skill.
21
+
22
+ ## What it does
23
+
24
+ The skill teaches Claude Code how to use mcpc for:
25
+
26
+ - Calling MCP tools efficiently via CLI instead of function calling
27
+ - Managing persistent sessions for better performance
28
+ - Parsing JSON output for scripting workflows
29
+ - Handling authentication (OAuth and bearer tokens)
30
+ - Debugging connection issues
31
+
32
+ ## Usage
33
+
34
+ Once installed, Claude Code will automatically use mcpc when you ask it to interact with MCP servers. For example:
35
+
36
+ - "List the tools available on mcp.apify.com"
37
+ - "Call the search tool with query 'web scraper'"
38
+ - "Create a session to the Apify MCP server"
@@ -0,0 +1,159 @@
1
+ ---
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.
4
+ allowed-tools: Bash(mcpc:*), Bash(node dist/cli/index.js:*), Read, Grep
5
+ ---
6
+
7
+ # mcpc: MCP command-line client
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.
11
+
12
+ ## Quick reference
13
+
14
+ ```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-schema <tool-name>
25
+ mcpc <target> tools-call <tool-name> --args '{"key":"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> --args key=value
34
+
35
+ # Sessions (persistent connections)
36
+ mcpc <server> session @<name>
37
+ mcpc @<name> <command>
38
+ mcpc @<name> close
39
+
40
+ # Authentication
41
+ mcpc <server> login
42
+ mcpc <server> logout
43
+ ```
44
+
45
+ ## Target types
46
+
47
+ - `mcp.example.com` - Direct HTTP connection to remote server
48
+ - `@session-name` - Named persistent session (faster, maintains state)
49
+ - `config-entry` - Entry from config file (with `--config`)
50
+
51
+ ## Passing arguments
52
+
53
+ **Inline JSON** (recommended for complex data):
54
+ ```bash
55
+ mcpc @s tools-call search --args '{"query":"hello","limit":10}'
56
+ ```
57
+
58
+ **Key=value pairs** (strings):
59
+ ```bash
60
+ mcpc @s tools-call search --args query="hello world" filter=active
61
+ ```
62
+
63
+ **Key:=json pairs** (typed values):
64
+ ```bash
65
+ mcpc @s tools-call search --args query="hello" limit:=10 enabled:=true
66
+ ```
67
+
68
+ **From file**:
69
+ ```bash
70
+ mcpc @s tools-call search --args-file params.json
71
+ ```
72
+
73
+ **From stdin** (auto-detected when piped):
74
+ ```bash
75
+ echo '{"query":"hello"}' | mcpc @s tools-call search
76
+ ```
77
+
78
+ ## JSON output for scripting
79
+
80
+ Always use `--json` flag for machine-readable output:
81
+
82
+ ```bash
83
+ # Get tools as JSON
84
+ mcpc --json @apify tools-list
85
+
86
+ # Call tool and parse result with jq
87
+ mcpc --json @apify tools-call search --args query="test" | jq '.content[0].text'
88
+
89
+ # Chain commands
90
+ mcpc --json @server1 tools-call get-data | mcpc @server2 tools-call process
91
+ ```
92
+
93
+ ## Sessions for efficiency
94
+
95
+ Create sessions for repeated interactions:
96
+
97
+ ```bash
98
+ # Create session (or reconnect if exists)
99
+ mcpc mcp.apify.com session @apify
100
+
101
+ # Use session (faster - no reconnection overhead)
102
+ mcpc @apify tools-list
103
+ mcpc @apify tools-call search --args query="test"
104
+
105
+ # Close when done
106
+ mcpc @apify close
107
+ ```
108
+
109
+ ## Authentication
110
+
111
+ **OAuth (interactive login)**:
112
+ ```bash
113
+ mcpc mcp.apify.com login
114
+ mcpc mcp.apify.com session @apify
115
+ ```
116
+
117
+ **Bearer token**:
118
+ ```bash
119
+ mcpc -H "Authorization: Bearer $TOKEN" mcp.apify.com tools-list
120
+ mcpc -H "Authorization: Bearer $TOKEN" mcp.apify.com session @myserver
121
+ ```
122
+
123
+ ## Common patterns
124
+
125
+ **List and inspect tools**:
126
+ ```bash
127
+ mcpc @s tools-list
128
+ mcpc @s tools-schema tool-name
129
+ ```
130
+
131
+ **Call tool and extract text result**:
132
+ ```bash
133
+ mcpc --json @s tools-call my-tool --args '{}' | jq -r '.content[0].text'
134
+ ```
135
+
136
+ **Read resource content**:
137
+ ```bash
138
+ mcpc @s resources-read "file:///path/to/file"
139
+ ```
140
+
141
+ **Use config file for local servers**:
142
+ ```bash
143
+ mcpc --config .vscode/mcp.json filesystem resources-list
144
+ ```
145
+
146
+ ## Exit codes
147
+
148
+ - `0` - Success
149
+ - `1` - Client error (invalid arguments)
150
+ - `2` - Server error (tool failed)
151
+ - `3` - Network error
152
+ - `4` - Authentication error
153
+
154
+ ## Debugging
155
+
156
+ ```bash
157
+ # Verbose output shows protocol details
158
+ mcpc --verbose @s tools-call my-tool --args '{}'
159
+ ```
package/dist/cli/index.js CHANGED
@@ -47,10 +47,17 @@ async function main() {
47
47
  process.on('exit', () => {
48
48
  void closeFileLogger();
49
49
  });
50
- if (args.includes('--help') ||
51
- args.includes('-h') ||
52
- args.includes('--version') ||
53
- args.includes('-v')) {
50
+ if (args.includes('--version') || args.includes('-v')) {
51
+ const options = extractOptions(args);
52
+ if (options.json) {
53
+ console.log(JSON.stringify({ version: packageJson.version }, null, 2));
54
+ }
55
+ else {
56
+ console.log(packageJson.version);
57
+ }
58
+ return;
59
+ }
60
+ if (args.includes('--help') || args.includes('-h')) {
54
61
  const program = createProgram();
55
62
  await program.parseAsync(process.argv);
56
63
  return;
@@ -110,8 +117,7 @@ function createProgram() {
110
117
  .option('--timeout <seconds>', 'Request timeout in seconds (default: 300)')
111
118
  .option('--profile <name>', 'Authentication profile to use (default: "default")')
112
119
  .option('--schema <file>', 'Validate against expected tool/prompt schema')
113
- .option('--schema-mode <mode>', 'Schema validation mode: strict, compatible (default), or ignore')
114
- .option('--insecure', 'Disable SSL certificate validation');
120
+ .option('--schema-mode <mode>', 'Schema validation mode: strict, compatible (default), or ignore');
115
121
  program.addHelpText('after', `
116
122
  Where <target> can be:
117
123
  <url> Remote MCP server URL (e.g., mcp.apify.com)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAYA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,KAAK,MAAM,qBAAqB,CAAC;AAC7C,OAAO,KAAK,SAAS,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,OAAO,MAAM,uBAAuB,CAAC;AACjD,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAC;AACnD,OAAO,KAAK,OAAO,MAAM,uBAAuB,CAAC;AACjD,OAAO,KAAK,SAAS,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACnH,OAAO,WAAW,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAmBnE,SAAS,qBAAqB,CAAC,OAAgB;IAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAGlF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,iBAAiB,EAAE,CAAC;IACpD,IAAI,OAAO;QAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IAG9B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,cAAc,EAAE,CAAC;IAE3C,MAAM,OAAO,GAAmB;QAC9B,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAe;KACpD,CAAC;IAGF,IAAI,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC9C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAGhB,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC/D,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IACjD,IAAI,OAAO;QAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;IAEvC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAGnC,MAAM,UAAU,GAAG,GAAS,EAAE;QAC5B,KAAK,eAAe,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAClC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QAEtB,KAAK,eAAe,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAGH,IACE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACnB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EACnB,CAAC;QACD,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;QAChC,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvC,OAAO;IACT,CAAC;IAGD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IACrF,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,OAAO,CAAC,OAAO;YAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QAGtC,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEhF,MAAM,KAAK,CAAC;YACV,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;YAC3C,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC;YACzC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC;YACzC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;YACjC,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;SAChC,CAAC,CAAC;QAEH,MAAM,eAAe,EAAE,CAAC;QACxB,OAAO;IACT,CAAC;IAGD,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAGpC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,QAAQ,CAAC,2BAA2B,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACpF,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,eAAe,EAAE,CAAC;QACxB,OAAO;IACT,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC;IAG3C,MAAM,YAAY,GAAG;QACnB,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3B,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC;QAC7B,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC;KAC/B,CAAC;IAGF,IAAI,CAAC;QACH,MAAM,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC7C,CAAC;YAAS,CAAC;QACT,MAAM,eAAe,EAAE,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,SAAS,aAAa;IACpB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,MAAM,CAAC;SACZ,WAAW,CAAC,qEAAqE,CAAC;SAClF,KAAK,CAAC,8BAA8B,CAAC;SACrC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,2BAA2B,CAAC;SAC1E,UAAU,CAAC,YAAY,EAAE,sBAAsB,CAAC;SAChD,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC;SAC7C,MAAM,CAAC,WAAW,EAAE,wBAAwB,CAAC;SAC7C,MAAM,CAAC,qBAAqB,EAAE,8BAA8B,CAAC;SAC7D,MAAM,CAAC,uBAAuB,EAAE,mCAAmC,CAAC;SACpE,MAAM,CAAC,qBAAqB,EAAE,2CAA2C,CAAC;SAC1E,MAAM,CAAC,kBAAkB,EAAE,oDAAoD,CAAC;SAChF,MAAM,CAAC,iBAAiB,EAAE,8CAA8C,CAAC;SACzE,MAAM,CACL,sBAAsB,EACtB,iEAAiE,CAClE;SACA,MAAM,CAAC,YAAY,EAAE,oCAAoC,CAAC,CAAC;IAG9D,OAAO,CAAC,WAAW,CACjB,OAAO,EACP;;;;;;;;;;;;;CAaH,CACE,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,MAAc,EAAE,IAAc;IAC1D,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,yDAAyD,CAAC,CAAC;IAGxF,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,OAAO,CAAC,OAAO;YAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QAEtC,MAAM,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE;YACpC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;YAC3C,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACzC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;YACjD,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;YACpD,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;SACnE,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAGD,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,qDAAqD,CAAC;SAClE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;QAClC,MAAM,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAGL,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,kCAAkC,CAAC;SAC/C,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAGL,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,mBAAmB,CAAC;SAChC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;QAClC,MAAM,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAIL,OAAO;SACJ,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,gDAAgD,CAAC;SAC7D,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;QACxC,MAAM,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAGL,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,+DAA+D,CAAC;SAC5E,MAAM,CAAC,kBAAkB,EAAE,iCAAiC,CAAC;SAC7D,MAAM,CAAC,iBAAiB,EAAE,2BAA2B,CAAC;SACtD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QACjC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACvB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,GAAG,qBAAqB,CAAC,OAAO,CAAC;SAClC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,kCAAkC,CAAC;SAC/C,MAAM,CAAC,kBAAkB,EAAE,iCAAiC,CAAC;SAC7D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QACjC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,GAAG,qBAAqB,CAAC,OAAO,CAAC;SAClC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAGL,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,iDAAiD,CAAC;SAC9D,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;QAClC,MAAM,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CAAC,sBAAsB,CAAC;SACnC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;QAClC,MAAM,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,qBAAqB,CAAC;SAC9B,WAAW,CAAC,uCAAuC,CAAC;SACpD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;QACxC,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,4BAA4B,CAAC;SACzC,MAAM,CAAC,mBAAmB,EAAE,8CAA8C,CAAC;SAC3E,MAAM,CAAC,oBAAoB,EAAE,+BAA+B,CAAC;SAC7D,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QACvC,MAAM,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE;YACjC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,GAAG,qBAAqB,CAAC,OAAO,CAAC;SAClC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAGL,OAAO;SACJ,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,yDAAyD,CAAC;SACtE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;QAClC,MAAM,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,0BAA0B,CAAC;SACvC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;QAClC,MAAM,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,sBAAsB,CAAC;SAC/B,WAAW,CAAC,uBAAuB,CAAC;SACpC,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC;SACvD,MAAM,CAAC,oBAAoB,EAAE,gCAAgC,CAAC;SAC9D,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QACtC,MAAM,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE;YACvC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,GAAG,qBAAqB,CAAC,OAAO,CAAC;SAClC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,2BAA2B,CAAC;SACpC,WAAW,CAAC,+BAA+B,CAAC;SAC5C,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;QACvC,MAAM,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,6BAA6B,CAAC;SACtC,WAAW,CAAC,mCAAmC,CAAC;SAChD,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;QACvC,MAAM,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,GAAG,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,0BAA0B,CAAC;SACnC,WAAW,CAAC,mCAAmC,CAAC;SAChD,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;QAClC,MAAM,SAAS,CAAC,qBAAqB,CAAC,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAGL,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,qDAAqD,CAAC;SAClE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;QAClC,MAAM,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,wBAAwB,CAAC;SACrC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;QAClC,MAAM,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,oBAAoB,CAAC;SAC7B,WAAW,CAAC,sBAAsB,CAAC;SACnC,MAAM,CAAC,mBAAmB,EAAE,gDAAgD,CAAC;SAC7E,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QACvC,MAAM,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE;YACpC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,GAAG,qBAAqB,CAAC,OAAO,CAAC;SAClC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAGL,OAAO;SACJ,OAAO,CAAC,2BAA2B,CAAC;SACpC,WAAW,CAAC,4FAA4F,CAAC;SACzG,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;QACzC,MAAM,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAGL,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,6CAA6C,CAAC;SAC1D,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;QAClC,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAGL,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAe,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QAE5D,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACtB,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;gBAC1B,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAClD,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAGD,OAAO,CAAC,KAAK,CACX,UAAU,KAAK,MAAM;YACnB,CAAC,CAAC,eAAe,CAAC,KAAc,EAAE,CAAC,CAAC;YACpC,CAAC,CAAC,WAAW,CAAC,KAAc,EAAE,IAAI,CAAC,OAAO,CAAC,CAC9C,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAGD,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;IAC3B,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,MAAM,eAAe,EAAE,CAAC;IACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apify/mcpc",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Universal command-line client for the Model Context Protocol (MCP).",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -41,7 +41,7 @@
41
41
  "format:check": "prettier --check \"src/**/*.ts\" \"test/**/*.ts\"",
42
42
  "clean": "rm -rf dist",
43
43
  "prebuild": "npm run clean",
44
- "prepublishOnly": "npm run build && npm test",
44
+ "prepublishOnly": "npm version patch --no-git-tag-version && npm run build && npm test",
45
45
  "publish:placeholder": "bash scripts/publish-placeholder.sh"
46
46
  },
47
47
  "dependencies": {
package/PHASE1-SUMMARY.md DELETED
@@ -1,269 +0,0 @@
1
- # Phase 1: Basic Connectivity - Implementation Summary
2
-
3
- ## Overview
4
-
5
- Phase 1 has been **successfully completed** and all features are **fully functional** and **production-ready**.
6
-
7
- **Implementation Time:** ~6-8 hours
8
- **Commits:** 2 commits (config loading + package resolution)
9
- **Lines of Code:** ~1,187 lines added
10
- **Tests:** 34 new unit tests, all passing (113 total)
11
-
12
- ## What Was Built
13
-
14
- ### 1. Config File Loading (Phase 1.1) ✅
15
-
16
- **New Files:**
17
- - `src/lib/config.ts` (220 lines) - Config file parser with env var substitution
18
- - `test/lib/config.test.ts` (234 lines) - 21 comprehensive unit tests
19
- - `examples/test-config.json` - Example configuration file
20
-
21
- **Features:**
22
- - Loads MCP server configurations (Claude Desktop format)
23
- - Environment variable substitution using `${VAR_NAME}` syntax
24
- - Supports both HTTP and stdio server configurations
25
- - Validates server configurations
26
- - Clear error messages with available server list
27
-
28
- **Usage:**
29
- ```bash
30
- mcpc --config ~/.config/mcp.json my-server tools-list
31
- ```
32
-
33
- ### 2. Package Resolution (Phase 1.2) ✅
34
-
35
- **New Files:**
36
- - `src/lib/package-resolver.ts` (326 lines) - Package discovery and resolution
37
- - `test/lib/package-resolver.test.ts` (272 lines) - 13 comprehensive unit tests
38
- - `examples/test-package/` - Example MCP server package
39
-
40
- **Features:**
41
- - Discovers packages in local node_modules
42
- - Discovers global npm packages
43
- - Discovers global Bun packages (if installed)
44
- - Smart executable resolution with priority system:
45
- 1. `mcpServer` field (MCP-specific)
46
- 2. `bin` field (string or object)
47
- 3. `main` field
48
- 4. Common defaults (index.js, etc.)
49
- - Supports scoped packages (@scope/package)
50
- - Creates stdio transport for package execution
51
-
52
- **Usage:**
53
- ```bash
54
- mcpc @modelcontextprotocol/server-filesystem tools-list
55
- mcpc my-local-package resources-list
56
- ```
57
-
58
- ### 3. Integration (Phase 1.3) ✅
59
-
60
- **Modified Files:**
61
- - `src/cli/helpers.ts` (+105 lines) - Integrated config and package resolution
62
-
63
- **Features:**
64
- - Unified target resolution for all target types
65
- - Precedence handling (CLI flags > config file > defaults)
66
- - Clear error messages for each target type
67
- - Proper timeout configuration
68
-
69
- ## Target Types Supported
70
-
71
- ### ✅ Working Now
72
-
73
- 1. **HTTP/HTTPS URLs**
74
- ```bash
75
- mcpc https://mcp.example.com tools-list
76
- ```
77
-
78
- 2. **Config File Entries**
79
- ```bash
80
- mcpc --config config.json server-name tools-list
81
- ```
82
-
83
- 3. **Local Packages**
84
- ```bash
85
- mcpc @modelcontextprotocol/server-filesystem tools-list
86
- mcpc my-package resources-list
87
- ```
88
-
89
- ### ❌ Not Yet Implemented
90
-
91
- 4. **Named Sessions** (requires Phase 2: Bridge)
92
- ```bash
93
- mcpc @session-name tools-list # Shows "not implemented"
94
- ```
95
-
96
- ## Test Results
97
-
98
- ### Unit Tests
99
- ```
100
- Test Suites: 7 passed, 7 total
101
- Tests: 113 passed, 113 total
102
- Time: ~2.5 seconds
103
-
104
- New tests:
105
- - Config loading: 21 tests
106
- - Package resolution: 13 tests
107
- ```
108
-
109
- ### Integration Tests
110
-
111
- All target types properly tested:
112
- - ✅ HTTP URLs resolve and attempt connection
113
- - ✅ Config files load and parse correctly
114
- - ✅ Environment variables substitute properly
115
- - ✅ Packages resolve from all search locations
116
- - ✅ Error messages are clear and actionable
117
-
118
- See `TEST-RESULTS.md` for detailed test output.
119
-
120
- ## Code Quality
121
-
122
- - ✅ All ESLint checks pass
123
- - ✅ All TypeScript compilation succeeds
124
- - ✅ No type safety issues
125
- - ✅ Comprehensive error handling
126
- - ✅ Detailed logging with --verbose flag
127
- - ✅ Well-documented code with JSDoc comments
128
-
129
- ## File Changes Summary
130
-
131
- ```
132
- examples/test-config.json | 20 +++
133
- examples/test-package/index.js | 11 ++
134
- examples/test-package/package.json | 9 +
135
- src/cli/helpers.ts | 105 ++++++++++++
136
- src/lib/config.ts | 220 +++++++++++++++++++++++
137
- src/lib/package-resolver.ts | 326 +++++++++++++++++++++++++++++++
138
- test/lib/config.test.ts | 234 ++++++++++++++++++++++
139
- test/lib/package-resolver.test.ts | 272 ++++++++++++++++++++++++
140
- 8 files changed, 1,187 insertions(+)
141
- ```
142
-
143
- ## Documentation
144
-
145
- **New Documentation:**
146
- - `TEST-RESULTS.md` - Comprehensive test results and verification
147
- - `TESTING.md` - Quick testing guide with example commands
148
- - `PHASE1-SUMMARY.md` - This document
149
-
150
- **Updated Documentation:**
151
- - All code has JSDoc comments
152
- - Clear error messages guide users
153
- - Examples provided for each feature
154
-
155
- ## Known Limitations
156
-
157
- 1. **Named sessions not implemented** - Requires Phase 2 (Bridge process)
158
- 2. **No persistent connections** - Each command creates ephemeral connection
159
- 3. **No authentication** - Requires Phase 3 (OAuth, keychain)
160
- 4. **No interactive shell** - Requires Phase 4 (REPL)
161
-
162
- These limitations are by design and are part of future phases.
163
-
164
- ## What Works Right Now
165
-
166
- You can immediately use `mcpc` for:
167
-
168
- 1. **Testing MCP servers** - Connect to any HTTP/HTTPS MCP server
169
- 2. **Running local servers** - Execute MCP server packages via stdio
170
- 3. **Managing configurations** - Use config files to manage multiple servers
171
- 4. **Development workflows** - Integrate into scripts and CI/CD
172
-
173
- ## Example Real-World Usage
174
-
175
- ### Scenario 1: Using a Remote MCP Server
176
-
177
- ```bash
178
- # Direct URL
179
- mcpc https://mcp.mycompany.com tools-list
180
-
181
- # With authentication header
182
- mcpc https://mcp.mycompany.com \
183
- --header "Authorization: Bearer $TOKEN" \
184
- tools-call my-tool --args '{"param":"value"}'
185
- ```
186
-
187
- ### Scenario 2: Using Config File
188
-
189
- ```json
190
- {
191
- "mcpServers": {
192
- "production": {
193
- "url": "https://mcp.prod.com",
194
- "headers": {
195
- "Authorization": "Bearer ${PROD_TOKEN}"
196
- },
197
- "timeout": 120
198
- },
199
- "dev": {
200
- "url": "https://mcp.dev.com",
201
- "headers": {
202
- "Authorization": "Bearer ${DEV_TOKEN}"
203
- }
204
- }
205
- }
206
- }
207
- ```
208
-
209
- ```bash
210
- PROD_TOKEN=xxx mcpc --config mcp-config.json production tools-list
211
- DEV_TOKEN=yyy mcpc --config mcp-config.json dev resources-list
212
- ```
213
-
214
- ### Scenario 3: Using Local MCP Server Package
215
-
216
- ```bash
217
- # Install any MCP server package
218
- npm install -g @modelcontextprotocol/server-filesystem
219
-
220
- # Use it directly
221
- mcpc @modelcontextprotocol/server-filesystem tools-list
222
- ```
223
-
224
- ## Performance
225
-
226
- - **Config loading:** < 10ms for typical config files
227
- - **Package resolution:** < 100ms (first lookup), cached thereafter
228
- - **HTTP URL parsing:** < 1ms
229
- - **No memory leaks:** Proper cleanup in all code paths
230
-
231
- ## Next Steps
232
-
233
- Phase 1 is complete. Ready to proceed with:
234
-
235
- ### Phase 2: Session Management & Bridge (Recommended Next)
236
-
237
- **What it enables:**
238
- - Persistent MCP connections (no reconnection overhead)
239
- - Named sessions (@session-name)
240
- - Server-sent notifications
241
- - Better performance for repeated commands
242
-
243
- **Estimated effort:** 12-16 hours
244
-
245
- **Components:**
246
- - Bridge process executable
247
- - Session storage (sessions.json)
248
- - Unix socket IPC layer
249
- - Session commands (connect, close, list)
250
- - Process management and monitoring
251
- - Automatic reconnection
252
-
253
- ### Alternative: Phase 3 or Phase 4
254
-
255
- If you want to defer bridge complexity:
256
- - **Phase 3:** Authentication (OAuth, keychain) - 8-12 hours
257
- - **Phase 4:** Enhancements (shell, caching) - 6-10 hours
258
-
259
- ## Conclusion
260
-
261
- Phase 1 implementation is **complete, tested, and ready for use**. The codebase is clean, well-tested, and follows best practices. All target resolution works correctly, and error messages guide users effectively.
262
-
263
- The implementation provides immediate value for:
264
- - Development and testing of MCP servers
265
- - CI/CD integration
266
- - Scripting and automation
267
- - Configuration management
268
-
269
- Ready to proceed with Phase 2 when you're ready! 🚀