@apify/mcpc 0.1.11-beta.3 → 0.1.11-beta.4
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/CHANGELOG.md +67 -1
- package/README.md +184 -189
- package/dist/bridge/index.js +190 -13
- package/dist/bridge/index.js.map +1 -1
- package/dist/cli/commands/auth.d.ts +2 -0
- package/dist/cli/commands/auth.d.ts.map +1 -1
- package/dist/cli/commands/auth.js +11 -1
- package/dist/cli/commands/auth.js.map +1 -1
- package/dist/cli/commands/logging.d.ts.map +1 -1
- package/dist/cli/commands/logging.js +1 -4
- package/dist/cli/commands/logging.js.map +1 -1
- package/dist/cli/commands/sessions.d.ts +3 -1
- package/dist/cli/commands/sessions.d.ts.map +1 -1
- package/dist/cli/commands/sessions.js +47 -8
- package/dist/cli/commands/sessions.js.map +1 -1
- package/dist/cli/commands/tasks.d.ts +5 -0
- package/dist/cli/commands/tasks.d.ts.map +1 -0
- package/dist/cli/commands/tasks.js +53 -0
- package/dist/cli/commands/tasks.js.map +1 -0
- package/dist/cli/commands/tools.d.ts +2 -0
- package/dist/cli/commands/tools.d.ts.map +1 -1
- package/dist/cli/commands/tools.js +88 -2
- package/dist/cli/commands/tools.js.map +1 -1
- package/dist/cli/helpers.d.ts +1 -5
- package/dist/cli/helpers.d.ts.map +1 -1
- package/dist/cli/helpers.js +25 -169
- package/dist/cli/helpers.js.map +1 -1
- package/dist/cli/index.js +426 -200
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/output.d.ts +3 -1
- package/dist/cli/output.d.ts.map +1 -1
- package/dist/cli/output.js +71 -3
- package/dist/cli/output.js.map +1 -1
- package/dist/cli/parser.d.ts +11 -8
- package/dist/cli/parser.d.ts.map +1 -1
- package/dist/cli/parser.js +91 -65
- package/dist/cli/parser.js.map +1 -1
- package/dist/cli/shell.d.ts.map +1 -1
- package/dist/cli/shell.js +30 -3
- package/dist/cli/shell.js.map +1 -1
- package/dist/core/mcp-client.d.ts +10 -2
- package/dist/core/mcp-client.d.ts.map +1 -1
- package/dist/core/mcp-client.js +165 -0
- package/dist/core/mcp-client.js.map +1 -1
- package/dist/lib/auth/keychain.d.ts.map +1 -1
- package/dist/lib/auth/keychain.js +15 -8
- package/dist/lib/auth/keychain.js.map +1 -1
- package/dist/lib/auth/oauth-flow.d.ts +4 -1
- package/dist/lib/auth/oauth-flow.d.ts.map +1 -1
- package/dist/lib/auth/oauth-flow.js +21 -6
- package/dist/lib/auth/oauth-flow.js.map +1 -1
- package/dist/lib/auth/oauth-provider.d.ts +5 -0
- package/dist/lib/auth/oauth-provider.d.ts.map +1 -1
- package/dist/lib/auth/oauth-provider.js +16 -1
- package/dist/lib/auth/oauth-provider.js.map +1 -1
- package/dist/lib/bridge-client.d.ts +1 -1
- package/dist/lib/bridge-client.d.ts.map +1 -1
- package/dist/lib/bridge-client.js +17 -3
- package/dist/lib/bridge-client.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 +39 -17
- package/dist/lib/bridge-manager.js.map +1 -1
- package/dist/lib/errors.js +2 -2
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/file-lock.d.ts.map +1 -1
- package/dist/lib/file-lock.js +4 -2
- package/dist/lib/file-lock.js.map +1 -1
- package/dist/lib/session-client.d.ts +12 -2
- package/dist/lib/session-client.d.ts.map +1 -1
- package/dist/lib/session-client.js +113 -14
- package/dist/lib/session-client.js.map +1 -1
- package/dist/lib/sessions.d.ts.map +1 -1
- package/dist/lib/sessions.js +9 -4
- package/dist/lib/sessions.js.map +1 -1
- package/dist/lib/types.d.ts +30 -5
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/types.js +2 -0
- package/dist/lib/types.js.map +1 -1
- package/dist/lib/utils.d.ts +0 -2
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +1 -19
- package/dist/lib/utils.js.map +1 -1
- package/docs/TODOs.md +89 -35
- package/package.json +2 -2
- package/renovate.json +2 -1
package/dist/lib/types.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import type { Tool, Resource, ResourceTemplate, Prompt, PromptArgument, Implementation, ClientCapabilities, ServerCapabilities, InitializeRequest, InitializeResult, CallToolRequest, CallToolResult, ListToolsRequest, ListToolsResult, ListResourcesRequest, ListResourcesResult, ReadResourceRequest, ReadResourceResult, ListPromptsRequest, ListPromptsResult, GetPromptRequest, GetPromptResult, SubscribeRequest, UnsubscribeRequest, LoggingLevel, ListResourceTemplatesResult } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
-
export type { Tool, Resource, ResourceTemplate, Prompt, PromptArgument, Implementation, ClientCapabilities, ServerCapabilities, InitializeRequest, InitializeResult, CallToolRequest, CallToolResult, ListToolsRequest, ListToolsResult, ListResourcesRequest, ListResourcesResult, ReadResourceRequest, ReadResourceResult, ListPromptsRequest, ListPromptsResult, GetPromptRequest, GetPromptResult, SubscribeRequest, UnsubscribeRequest, LoggingLevel, };
|
|
1
|
+
import type { Tool, Resource, ResourceTemplate, Prompt, PromptArgument, Implementation, ClientCapabilities, ServerCapabilities, InitializeRequest, InitializeResult, CallToolRequest, CallToolResult, ListToolsRequest, ListToolsResult, ListResourcesRequest, ListResourcesResult, ReadResourceRequest, ReadResourceResult, ListPromptsRequest, ListPromptsResult, GetPromptRequest, GetPromptResult, SubscribeRequest, UnsubscribeRequest, LoggingLevel, ListResourceTemplatesResult, Task, GetTaskResult, ListTasksResult, CancelTaskResult } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
export type { Tool, Resource, ResourceTemplate, Prompt, PromptArgument, Implementation, ClientCapabilities, ServerCapabilities, InitializeRequest, InitializeResult, CallToolRequest, CallToolResult, ListToolsRequest, ListToolsResult, ListResourcesRequest, ListResourcesResult, ReadResourceRequest, ReadResourceResult, ListPromptsRequest, ListPromptsResult, GetPromptRequest, GetPromptResult, SubscribeRequest, UnsubscribeRequest, LoggingLevel, Task, GetTaskResult, ListTasksResult, CancelTaskResult, };
|
|
3
3
|
export { LATEST_PROTOCOL_VERSION } from '@modelcontextprotocol/sdk/types.js';
|
|
4
|
+
export declare const KEEPALIVE_INTERVAL_MS = 30000;
|
|
5
|
+
export declare const DISCONNECTED_THRESHOLD_MS: number;
|
|
4
6
|
export interface ServerConfig {
|
|
5
7
|
url?: string;
|
|
6
8
|
headers?: Record<string, string>;
|
|
@@ -13,7 +15,7 @@ export interface ProxyConfig {
|
|
|
13
15
|
host: string;
|
|
14
16
|
port: number;
|
|
15
17
|
}
|
|
16
|
-
export type SessionStatus = 'active' | 'expired' | 'crashed';
|
|
18
|
+
export type SessionStatus = 'active' | 'unauthorized' | 'expired' | 'crashed';
|
|
17
19
|
export interface SessionNotifications {
|
|
18
20
|
tools?: {
|
|
19
21
|
listChangedAt?: string;
|
|
@@ -30,6 +32,7 @@ export interface SessionData {
|
|
|
30
32
|
server: ServerConfig;
|
|
31
33
|
profileName?: string;
|
|
32
34
|
x402?: boolean;
|
|
35
|
+
insecure?: boolean;
|
|
33
36
|
pid?: number;
|
|
34
37
|
protocolVersion?: string;
|
|
35
38
|
mcpSessionId?: string;
|
|
@@ -40,9 +43,15 @@ export interface SessionData {
|
|
|
40
43
|
status?: SessionStatus;
|
|
41
44
|
proxy?: ProxyConfig;
|
|
42
45
|
notifications?: SessionNotifications;
|
|
46
|
+
activeTasks?: Record<string, ActiveTaskEntry>;
|
|
43
47
|
createdAt: string;
|
|
44
48
|
lastSeenAt?: string;
|
|
45
49
|
}
|
|
50
|
+
export interface ActiveTaskEntry {
|
|
51
|
+
taskId: string;
|
|
52
|
+
toolName: string;
|
|
53
|
+
createdAt: string;
|
|
54
|
+
}
|
|
46
55
|
export interface SessionsStorage {
|
|
47
56
|
sessions: Record<string, SessionData>;
|
|
48
57
|
}
|
|
@@ -62,7 +71,7 @@ export interface AuthProfile {
|
|
|
62
71
|
export interface AuthProfilesStorage {
|
|
63
72
|
profiles: Record<string, Record<string, AuthProfile>>;
|
|
64
73
|
}
|
|
65
|
-
export type IpcMessageType = 'request' | 'response' | 'shutdown' | 'notification' | 'set-auth-credentials' | 'set-x402-wallet';
|
|
74
|
+
export type IpcMessageType = 'request' | 'response' | 'shutdown' | 'notification' | 'task-update' | 'set-auth-credentials' | 'set-x402-wallet';
|
|
66
75
|
export interface AuthCredentials {
|
|
67
76
|
serverUrl: string;
|
|
68
77
|
profileName: string;
|
|
@@ -74,18 +83,27 @@ export interface X402WalletCredentials {
|
|
|
74
83
|
address: string;
|
|
75
84
|
privateKey: string;
|
|
76
85
|
}
|
|
77
|
-
export type NotificationType = 'tools/list_changed' | 'resources/list_changed' | 'resources/updated' | 'prompts/list_changed' | 'progress' | 'logging/message';
|
|
86
|
+
export type NotificationType = 'tools/list_changed' | 'resources/list_changed' | 'resources/updated' | 'prompts/list_changed' | 'progress' | 'logging/message' | 'tasks/status';
|
|
78
87
|
export interface NotificationData {
|
|
79
88
|
method: NotificationType;
|
|
80
89
|
params?: unknown;
|
|
81
90
|
}
|
|
91
|
+
export interface TaskUpdate {
|
|
92
|
+
taskId: string;
|
|
93
|
+
status: 'working' | 'input_required' | 'completed' | 'failed' | 'cancelled';
|
|
94
|
+
statusMessage?: string;
|
|
95
|
+
createdAt?: string;
|
|
96
|
+
lastUpdatedAt?: string;
|
|
97
|
+
}
|
|
82
98
|
export interface IpcMessage {
|
|
83
99
|
type: IpcMessageType;
|
|
84
100
|
id?: string;
|
|
85
101
|
method?: string;
|
|
86
102
|
params?: unknown;
|
|
103
|
+
timeout?: number;
|
|
87
104
|
result?: unknown;
|
|
88
105
|
notification?: NotificationData;
|
|
106
|
+
taskUpdate?: TaskUpdate;
|
|
89
107
|
authCredentials?: AuthCredentials;
|
|
90
108
|
x402Wallet?: X402WalletCredentials;
|
|
91
109
|
error?: {
|
|
@@ -101,6 +119,7 @@ export interface CommandOptions {
|
|
|
101
119
|
headers?: string[];
|
|
102
120
|
timeout?: number;
|
|
103
121
|
verbose?: boolean;
|
|
122
|
+
insecure?: boolean;
|
|
104
123
|
hideTarget?: boolean;
|
|
105
124
|
schema?: string;
|
|
106
125
|
schemaMode?: 'strict' | 'compatible' | 'ignore';
|
|
@@ -138,5 +157,11 @@ export interface IMcpClient {
|
|
|
138
157
|
listPrompts(cursor?: string): Promise<ListPromptsResult>;
|
|
139
158
|
getPrompt(name: string, args?: Record<string, string>): Promise<GetPromptResult>;
|
|
140
159
|
setLoggingLevel(level: LoggingLevel): Promise<void>;
|
|
160
|
+
callToolWithTask(name: string, args?: Record<string, unknown>, onUpdate?: (update: TaskUpdate) => void): Promise<CallToolResult>;
|
|
161
|
+
callToolDetached(name: string, args?: Record<string, unknown>): Promise<TaskUpdate>;
|
|
162
|
+
pollTask(taskId: string, onUpdate?: (update: TaskUpdate) => void): Promise<CallToolResult>;
|
|
163
|
+
listTasks(cursor?: string): Promise<ListTasksResult>;
|
|
164
|
+
getTask(taskId: string): Promise<GetTaskResult>;
|
|
165
|
+
cancelTask(taskId: string): Promise<CancelTaskResult>;
|
|
141
166
|
}
|
|
142
167
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,IAAI,EACJ,QAAQ,EACR,gBAAgB,EAChB,MAAM,EACN,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,2BAA2B,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/types.js
CHANGED
package/dist/lib/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAyEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAG7E,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAG5C,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,GAAG,qBAAqB,GAAG,IAAI,CAAC"}
|
package/dist/lib/utils.d.ts
CHANGED
|
@@ -9,8 +9,6 @@ export declare function getAuthProfilesFilePath(): string;
|
|
|
9
9
|
export declare function getWalletsFilePath(): string;
|
|
10
10
|
export declare function ensureDir(dirPath: string): Promise<void>;
|
|
11
11
|
export declare function fileExists(filepath: string): Promise<boolean>;
|
|
12
|
-
export declare function isFile(filepath: string): Promise<boolean>;
|
|
13
|
-
export declare function isDirectory(filepath: string): Promise<boolean>;
|
|
14
12
|
export declare function isValidHttpUrl(str: string): boolean;
|
|
15
13
|
export declare function normalizeServerUrl(str: string): string;
|
|
16
14
|
export declare function getServerHost(urlString: string): string;
|
package/dist/lib/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAcA,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKnD;AAKD,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAMvE;AAMD,wBAAgB,WAAW,IAAI,MAAM,CAMpC;AAKD,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAKD,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAYD,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAUzD;AAKD,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAKD,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAKD,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAKD,wBAAsB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAS9D;AAKD,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOnE;AAKD,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAcA,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKnD;AAKD,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAMvE;AAMD,wBAAgB,WAAW,IAAI,MAAM,CAMpC;AAKD,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAKD,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAYD,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAUzD;AAKD,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAKD,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAKD,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAKD,wBAAsB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAS9D;AAKD,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOnE;AAKD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOnD;AASD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAiCtD;AAgBD,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAWvD;AAMD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAMD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAMD,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAO7D;AAKD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOvD;AAKD,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;AAKD,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GACtD,OAAO,CAAC,IAAI,CAAC,CAgBf;AAKD,wBAAgB,SAAS,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAMtD;AAKD,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,UAAQ,GAAG,MAAM,CAElE;AAKD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAK/D;AAKD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAQnD;AAMD,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAKD,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAMlD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOrF;AAMD,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAcnE"}
|
package/dist/lib/utils.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createHash } from 'crypto';
|
|
2
2
|
import { homedir } from 'os';
|
|
3
3
|
import { join, resolve, isAbsolute } from 'path';
|
|
4
|
-
import { mkdir, access, constants
|
|
4
|
+
import { mkdir, access, constants } from 'fs/promises';
|
|
5
5
|
import { ClientError } from './errors.js';
|
|
6
6
|
export function expandHome(filepath) {
|
|
7
7
|
if (filepath.startsWith('~/') || filepath === '~') {
|
|
@@ -64,24 +64,6 @@ export async function fileExists(filepath) {
|
|
|
64
64
|
return false;
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
|
-
export async function isFile(filepath) {
|
|
68
|
-
try {
|
|
69
|
-
const stats = await stat(filepath);
|
|
70
|
-
return stats.isFile();
|
|
71
|
-
}
|
|
72
|
-
catch {
|
|
73
|
-
return false;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
export async function isDirectory(filepath) {
|
|
77
|
-
try {
|
|
78
|
-
const stats = await stat(filepath);
|
|
79
|
-
return stats.isDirectory();
|
|
80
|
-
}
|
|
81
|
-
catch {
|
|
82
|
-
return false;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
67
|
export function isValidHttpUrl(str) {
|
|
86
68
|
try {
|
|
87
69
|
const url = new URL(str);
|
package/dist/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"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"}
|
package/docs/TODOs.md
CHANGED
|
@@ -2,59 +2,113 @@
|
|
|
2
2
|
# TODOs
|
|
3
3
|
|
|
4
4
|
|
|
5
|
+
## NEW
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
- the README should show explain each command, show the full options from "mcpc help command" - perhaps this could be on start of the readme,
|
|
9
|
+
with links to the more detailed sections below
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
- mcp-cli inspiration
|
|
13
|
+
Add glob-based tool search across all servers like `mcpc grep *mail*` or `mcpc grep *@session/mail*`.
|
|
14
|
+
Consider making `tools-list` more succinct for discovery.
|
|
15
|
+
Use https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool for inspiration/compatibility?
|
|
16
|
+
-
|
|
17
|
+
|
|
18
|
+
$ mcpc grep "*file*"
|
|
19
|
+
$ mcpc grep "@github/*"
|
|
20
|
+
$ mcpc grep -F "anything really"
|
|
21
|
+
|
|
22
|
+
RETURNS
|
|
23
|
+
@github
|
|
24
|
+
- create_or_update_file(name: string, )
|
|
25
|
+
@filesystem
|
|
26
|
+
- read_file
|
|
27
|
+
@filesystem
|
|
28
|
+
- write_file
|
|
29
|
+
|
|
30
|
+
Then we can have
|
|
31
|
+
$ mcpc @github tools-call get_file_contents arg:="yes" # NOW
|
|
32
|
+
$ mcpc @github/get_file_contents arg:="yes" # NEW
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
## Bugs !
|
|
37
|
+
|
|
38
|
+
...
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
## UX/AX
|
|
42
|
+
|
|
43
|
+
- MAYBE LATER:
|
|
44
|
+
Connects to all entries from file - the
|
|
45
|
+
$ mcpc connect ~/.vscode/mcp.json:puppeteer @puppeteer
|
|
46
|
+
$ mcpc connect ~/.vscode/mcp.json
|
|
47
|
+
$ mcpc connect # Auto-discovery of existing MCP configs like mcporter
|
|
48
|
+
|
|
49
|
+
- Make "mcpc connect mcp.apify.com" work without @session, and generate session name on best effort basis (e.g. use the main hostname without TLD
|
|
50
|
+
+ suffix)
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
- Show tools also when running just "mcpc @apify"
|
|
54
|
+
|
|
5
55
|
- mcpc @apify tools-get fetch-actor-details => should print also "object" properties in human mode
|
|
6
56
|
|
|
57
|
+
- mcpc @apify tools-call xxx --help / "mcpc @apify/xxx --help" should print tools-get + command info
|
|
58
|
+
|
|
59
|
+
## Later
|
|
60
|
+
|
|
61
|
+
|
|
7
62
|
- `--capabilities '{"tools":...,"prompts":...}"` to limit access to selected MCP features and tools,
|
|
8
63
|
for both proxy and normal session, for simplicity. The command could work on the fly, to give
|
|
9
64
|
agents less room to wiggle.
|
|
10
|
-
|
|
11
|
-
automatically update the -o file on changes, without it just keep track of changed files in
|
|
12
|
-
bridge process' cache, and report in resources-list/resources-read operation
|
|
65
|
+
|
|
13
66
|
|
|
14
|
-
- Ensure "logging-set-level" works well
|
|
15
67
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
68
|
+
## Code mode
|
|
69
|
+
- Emit tools to dirs ("codegen" variant?) - see https://cursor.com/blog/dynamic-context-discovery - generate skills file too?
|
|
70
|
+
- feature: enable generation of TypeScript stubs based on the server schema, with access to session and schema validation, for TS code mode.
|
|
71
|
+
For simplicity they an just "mcpc" command, later we can use IPC for more efficiency.
|
|
20
72
|
|
|
21
|
-
- Add CI/CD unit testing for other Node versions, maybe proper release management?
|
|
22
|
-
- Add GitHub packages?
|
|
23
73
|
|
|
24
|
-
|
|
74
|
+
# Misc
|
|
25
75
|
|
|
26
|
-
- Emit tools to dirs ("codegen" variant?) - see https://cursor.com/blog/dynamic-context-discovery - generate skills file too?
|
|
27
76
|
|
|
28
|
-
-
|
|
77
|
+
- sign -r <b64> Sign payment from PAYMENT-REQUIRED header - why the "-r" is needed?
|
|
29
78
|
|
|
30
|
-
- Restart of expires OAuth session is too many steps - why not add "mcpc <session> login" to refresh?
|
|
31
|
-
- Tool list refresh - how about printing it to stderr on first time after it happens? then the agent/user would notice and tools-list again
|
|
32
79
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
-
|
|
80
|
+
## Nice to have
|
|
81
|
+
|
|
82
|
+
- $ mcpc @apify tools-call search-apify-docs query:="test"
|
|
83
|
+
Should skip `structuredContent` in results if there is `content` with "type": "text", and print it as text. AI agents can use --json
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
- Implement resources-subscribe/resources-unsubscribe, --o file command properly, --max-size
|
|
87
|
+
automatically update the -o file on changes, without it just keep track of changed files in
|
|
88
|
+
bridge process' cache, and report in resources-list/resources-read operatio
|
|
89
|
+
|
|
90
|
+
- Add support for "mcpc close @session", "mcpc restart @session" and "mcpc shell @session" - add to docs
|
|
91
|
+
|
|
92
|
+
- Add ASCII diagrams to README to help explain major concepts: tool calling, auth, bridge process, etc.
|
|
93
|
+
For inspiration, see https://github.com/philschmid/mcp-cli
|
|
94
|
+
|
|
95
|
+
- "login" and "logout" commands could work also with file:entry and @session, just use the remote server URL from the config file or session host.
|
|
96
|
+
it would make "connect" and "login" command consistent.
|
|
97
|
+
- Restart of expired OAuth session is too many steps - why not add "mcpc login <session>" to refresh?
|
|
98
|
+
|
|
99
|
+
- revise the session states: maybe introduce new session status `auth-failed` or `unauthed` (or some better name?)
|
|
100
|
+
consider forking "alive" session state to "alive" and "disconnected", to indicate the remote server is not responding but bridge
|
|
36
101
|
runs fine. We can use lastSeenAt + ping interval info for that, or status of last ping.
|
|
37
|
-
|
|
102
|
+
|
|
38
103
|
- ux: Be even more forgiving with `args:=x`, when we know from tools/prompt schema the text is compatible with `x` even if the exact type is not -
|
|
39
104
|
just re-type it dynamically to make it work.
|
|
40
105
|
- nit: Cooler OAuth flow finish web page with CSS animation, add Apify example there, show mcpc info. E.g. next step - check Apify rather than close
|
|
41
106
|
- security: For auth profiles, fetch the detailed user info via http, save to profiles.json and show in 'mcpc', ensure the info is up-to-date
|
|
42
|
-
- later: Add unique Session.id and Profile.id and use it for OS keychain keys, to truly enable using multiple independent mcpc profiles.
|
|
43
|
-
- nit: Implement typing completions (e.g. "mcpc @ap...") - not sure if that's even possible
|
|
44
|
-
-
|
|
45
|
-
- feature: enable generation of TypeScript stubs based on the server schema, with access to session and schema validation, for TS code mode.
|
|
46
|
-
For simplicity they an just "mcpc" command, later we can use IPC for more efficiency.
|
|
107
|
+
- later: Add unique Session.id and Profile.id and use it for OS keychain keys, to truly enable using multiple independent mcpc profiles.
|
|
108
|
+
- nit: Implement typing tab-completions (e.g. "mcpc @ap...") - not sure if that's even possible
|
|
109
|
+
- Consider adding `--dry-run` https://justin.poehnelt.com/posts/rewrite-your-cli-for-ai-agents/
|
|
47
110
|
- Show protocolVersion also for stdio - but for that we need to update the SDK to save it! See setProtocolVersion
|
|
48
111
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
- On "npm run release", make the two skippable OAuth e2e tests mandatory
|
|
52
|
-
|
|
53
|
-
- Test auth profiles work long-term and sessions too - basically when running some tests the
|
|
54
|
-
next day they should use old saved auths and sessions.
|
|
55
|
-
We could have some special dir for long-term testing...
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
# Questions
|
|
112
|
+
- nit: show also header / open auth statuses for HTTP servers?
|
|
59
113
|
|
|
60
|
-
-
|
|
114
|
+
- consider adding --idle-timeout to "connect" and then automatically disconnet from remote server, to avoid handing infinitely
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@apify/mcpc",
|
|
3
|
-
"version": "0.1.11-beta.
|
|
3
|
+
"version": "0.1.11-beta.4",
|
|
4
4
|
"description": "Universal command-line client for the Model Context Protocol (MCP).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"keywords": [
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"build": "tsc",
|
|
33
33
|
"build:watch": "tsc --watch",
|
|
34
34
|
"build:readme": "./scripts/update-readme.sh",
|
|
35
|
-
"test": "npm run build && npm run test:unit && ./test/e2e/run.sh --no-build --parallel
|
|
35
|
+
"test": "npm run build && npm run test:unit && ./test/e2e/run.sh --no-build --parallel 8 && ./test/e2e/run.sh --no-build --parallel 8 --runtime bun",
|
|
36
36
|
"test:unit": "jest",
|
|
37
37
|
"test:watch": "jest --watch",
|
|
38
38
|
"test:coverage": "npm run test:coverage:unit && npm run test:coverage:e2e && npm run test:coverage:merge",
|