@qodalis/mcp-cli 0.1.0 → 0.2.0
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 +26 -0
- package/README.md +137 -26
- package/dist/src/cli.js +21 -11
- package/dist/src/cli.js.map +1 -1
- package/dist/src/config.d.ts +10 -6
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +25 -6
- package/dist/src/config.js.map +1 -1
- package/dist/src/dev/api.d.ts +94 -0
- package/dist/src/dev/api.d.ts.map +1 -0
- package/dist/src/dev/api.js +425 -0
- package/dist/src/dev/api.js.map +1 -0
- package/dist/src/dev/docs.d.ts +93 -0
- package/dist/src/dev/docs.d.ts.map +1 -0
- package/dist/src/dev/docs.js +275 -0
- package/dist/src/dev/docs.js.map +1 -0
- package/dist/src/dev/prompts.d.ts +11 -0
- package/dist/src/dev/prompts.d.ts.map +1 -0
- package/dist/src/dev/prompts.js +141 -0
- package/dist/src/dev/prompts.js.map +1 -0
- package/dist/src/dev/scaffold.d.ts +55 -0
- package/dist/src/dev/scaffold.d.ts.map +1 -0
- package/dist/src/dev/scaffold.js +213 -0
- package/dist/src/dev/scaffold.js.map +1 -0
- package/dist/src/dev/tools.d.ts +170 -0
- package/dist/src/dev/tools.d.ts.map +1 -0
- package/dist/src/dev/tools.js +258 -0
- package/dist/src/dev/tools.js.map +1 -0
- package/dist/src/index.d.ts +7 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +6 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/remote.d.ts +3 -1
- package/dist/src/remote.d.ts.map +1 -1
- package/dist/src/remote.js +17 -10
- package/dist/src/remote.js.map +1 -1
- package/dist/src/server.d.ts +11 -2
- package/dist/src/server.d.ts.map +1 -1
- package/dist/src/server.js +85 -15
- package/dist/src/server.js.map +1 -1
- package/docs/llms-full.txt +1740 -0
- package/package.json +7 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/dev/tools.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
|
-
export { ConfigError, createEnvReader, describeConfig, ENV_FILE_VARIABLES, loadConfig, names, normalizeUrl, type AuthConfig, type Config, type Env, } from './config.js';
|
|
1
|
+
export { ConfigError, createEnvReader, DEFAULT_DOCS_URL, describeConfig, ENV_FILE_VARIABLES, loadConfig, names, normalizeUrl, type AuthConfig, type Config, type Env, } from './config.js';
|
|
2
|
+
export { ApiSource, extractDeclarations, formatLookup, lookupSymbol, normalizePackageName, type ApiLookup, type ApiSourceOptions, type TypeFiles, } from './dev/api.js';
|
|
3
|
+
export { DocsSource, parseDocs, readDocs, searchDocs, type Docs, type DocSection, type DocTopic, type SearchHit, } from './dev/docs.js';
|
|
4
|
+
export { getPrompt, PROMPTS } from './dev/prompts.js';
|
|
5
|
+
export { planScaffold, scaffoldPlugin, ScaffoldError, type ScaffoldPlan } from './dev/scaffold.js';
|
|
6
|
+
export { DEV_TOOLS, DevTools, type DevToolsOptions } from './dev/tools.js';
|
|
2
7
|
export { applyEnvFile, parseEnvFile } from './env-file.js';
|
|
3
8
|
export { classify, RemoteError, type FailureKind } from './errors.js';
|
|
4
9
|
export { isToolAllowed, matchesPattern, type RemoteTool } from './filters.js';
|
|
5
10
|
export { createFetch, MCP_PATH, RemoteServer, TOOLS_TTL_MS, type RemoteOptions } from './remote.js';
|
|
6
|
-
export { buildInstructions, createProxyServer, SERVER_NAME, SERVER_VERSION, WEBSITE_URL, } from './server.js';
|
|
11
|
+
export { buildInstructions, createProxyServer, SERVER_NAME, type ProxyServerOptions, SERVER_VERSION, WEBSITE_URL, } from './server.js';
|
|
7
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,WAAW,EACX,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,UAAU,EACV,KAAK,EACL,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,MAAM,EACX,KAAK,GAAG,GACX,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AACpG,OAAO,EACH,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,WAAW,GACd,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,UAAU,EACV,KAAK,EACL,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,MAAM,EACX,KAAK,GAAG,GACX,MAAM,aAAa,CAAC;AACrB,OAAO,EACH,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,SAAS,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EACH,UAAU,EACV,SAAS,EACT,QAAQ,EACR,UAAU,EACV,KAAK,IAAI,EACT,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,SAAS,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AACpG,OAAO,EACH,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,KAAK,kBAAkB,EACvB,cAAc,EACd,WAAW,GACd,MAAM,aAAa,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
export { ConfigError, createEnvReader, describeConfig, ENV_FILE_VARIABLES, loadConfig, names, normalizeUrl, } from './config.js';
|
|
1
|
+
export { ConfigError, createEnvReader, DEFAULT_DOCS_URL, describeConfig, ENV_FILE_VARIABLES, loadConfig, names, normalizeUrl, } from './config.js';
|
|
2
|
+
export { ApiSource, extractDeclarations, formatLookup, lookupSymbol, normalizePackageName, } from './dev/api.js';
|
|
3
|
+
export { DocsSource, parseDocs, readDocs, searchDocs, } from './dev/docs.js';
|
|
4
|
+
export { getPrompt, PROMPTS } from './dev/prompts.js';
|
|
5
|
+
export { planScaffold, scaffoldPlugin, ScaffoldError } from './dev/scaffold.js';
|
|
6
|
+
export { DEV_TOOLS, DevTools } from './dev/tools.js';
|
|
2
7
|
export { applyEnvFile, parseEnvFile } from './env-file.js';
|
|
3
8
|
export { classify, RemoteError } from './errors.js';
|
|
4
9
|
export { isToolAllowed, matchesPattern } from './filters.js';
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,WAAW,EACX,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,UAAU,EACV,KAAK,EACL,YAAY,GAIf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAoB,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAmB,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAsB,MAAM,aAAa,CAAC;AACpG,OAAO,EACH,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,UAAU,EACV,KAAK,EACL,YAAY,GAIf,MAAM,aAAa,CAAC;AACrB,OAAO,EACH,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,oBAAoB,GAIvB,MAAM,cAAc,CAAC;AACtB,OAAO,EACH,UAAU,EACV,SAAS,EACT,QAAQ,EACR,UAAU,GAKb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAqB,MAAM,mBAAmB,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAwB,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAoB,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAmB,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAsB,MAAM,aAAa,CAAC;AACpG,OAAO,EACH,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EAEX,cAAc,EACd,WAAW,GACd,MAAM,aAAa,CAAC"}
|
package/dist/src/remote.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type CallToolRequestParams, type CallToolResult, type FetchLike } from '@modelcontextprotocol/client';
|
|
2
|
-
import type
|
|
2
|
+
import { type Config } from './config.js';
|
|
3
3
|
import type { RemoteTool } from './filters.js';
|
|
4
4
|
export declare const MCP_PATH = "/api/qcli/mcp";
|
|
5
5
|
export declare const SESSIONS_PATH = "/api/v1/qcli/sessions";
|
|
@@ -41,6 +41,8 @@ export declare class RemoteServer {
|
|
|
41
41
|
private readonly closeFetch;
|
|
42
42
|
private readonly log;
|
|
43
43
|
private readonly now;
|
|
44
|
+
/** `config.url`, required to talk to a server */
|
|
45
|
+
private readonly url;
|
|
44
46
|
constructor(config: Config, options: RemoteOptions);
|
|
45
47
|
/** Remote tools (unfiltered), from the cache unless it is older than the TTL or `refresh`. */
|
|
46
48
|
listTools(refresh?: boolean): Promise<RemoteTool[]>;
|
package/dist/src/remote.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../src/remote.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,SAAS,EACjB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../src/remote.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,SAAS,EACjB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAe,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAQvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,eAAO,MAAM,QAAQ,kBAAkB,CAAC;AACxC,eAAO,MAAM,aAAa,0BAA0B,CAAC;AACrD,wFAAwF;AACxF,eAAO,MAAM,YAAY,QAAS,CAAC;AAEnC,MAAM,MAAM,aAAa,GAAG;IACxB,kDAAkD;IAClD,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,wCAAwC;IACxC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,+FAA+F;AAC/F,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,KAAG;IAAE,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAc1F,CAAC;AAEF;;;;;;;GAOG;AACH,qBAAa,YAAY;IAajB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAb5B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,UAAU,CAAkD;IACpE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAY;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA4B;IAChD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,iDAAiD;IACjD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;gBAGR,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,aAAa;IAkB3C,8FAA8F;IACxF,SAAS,CAAC,OAAO,UAAQ,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAsBvD,8EAA8E;IACxE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAK7D,2EAA2E;IACrE,QAAQ,CAAC,MAAM,EAAE,qBAAqB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC;IAkBtF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB5B,mGAAmG;YACrF,GAAG;IAgCjB,OAAO,CAAC,OAAO;YAWD,IAAI;YAmBJ,UAAU;YAMV,WAAW;IAYzB,iEAAiE;YACnD,MAAM;IAuCpB,OAAO,CAAC,eAAe;CAQ1B"}
|
package/dist/src/remote.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Client, ProtocolError, StreamableHTTPClientTransport, } from '@modelcontextprotocol/client';
|
|
2
2
|
import { Agent, fetch as undiciFetch } from 'undici';
|
|
3
|
+
import { ConfigError } from './config.js';
|
|
3
4
|
import { classify, httpStatus, isRetryableNetworkError, networkCode, RemoteError, } from './errors.js';
|
|
4
5
|
export const MCP_PATH = '/api/qcli/mcp';
|
|
5
6
|
export const SESSIONS_PATH = '/api/v1/qcli/sessions';
|
|
@@ -40,9 +41,15 @@ export class RemoteServer {
|
|
|
40
41
|
closeFetch;
|
|
41
42
|
log;
|
|
42
43
|
now;
|
|
44
|
+
/** `config.url`, required to talk to a server */
|
|
45
|
+
url;
|
|
43
46
|
constructor(config, options) {
|
|
44
47
|
this.config = config;
|
|
45
48
|
this.options = options;
|
|
49
|
+
if (!config.url) {
|
|
50
|
+
throw new ConfigError('QCLI_URL is required to connect to a Qodalis CLI server.');
|
|
51
|
+
}
|
|
52
|
+
this.url = config.url;
|
|
46
53
|
if (options.fetch) {
|
|
47
54
|
this.fetchFn = options.fetch;
|
|
48
55
|
this.closeFetch = async () => undefined;
|
|
@@ -103,7 +110,7 @@ export class RemoteServer {
|
|
|
103
110
|
await client?.close().catch(() => undefined);
|
|
104
111
|
if (this.sessionToken) {
|
|
105
112
|
// End the password session we opened (best effort)
|
|
106
|
-
await this.fetchFn(`${this.
|
|
113
|
+
await this.fetchFn(`${this.url}${SESSIONS_PATH}/current`, {
|
|
107
114
|
headers: { Authorization: `Bearer ${this.sessionToken}` },
|
|
108
115
|
method: 'DELETE',
|
|
109
116
|
signal: AbortSignal.timeout(2000),
|
|
@@ -154,7 +161,7 @@ export class RemoteServer {
|
|
|
154
161
|
}
|
|
155
162
|
async open() {
|
|
156
163
|
const token = await this.bearerToken();
|
|
157
|
-
const transport = new StreamableHTTPClientTransport(new URL(`${this.
|
|
164
|
+
const transport = new StreamableHTTPClientTransport(new URL(`${this.url}${MCP_PATH}`), {
|
|
158
165
|
fetch: this.fetchFn,
|
|
159
166
|
requestInit: { headers: token ? { Authorization: `Bearer ${token}` } : {} },
|
|
160
167
|
});
|
|
@@ -167,7 +174,7 @@ export class RemoteServer {
|
|
|
167
174
|
throw error;
|
|
168
175
|
}
|
|
169
176
|
const info = client.getServerVersion();
|
|
170
|
-
this.log(`connected to ${this.
|
|
177
|
+
this.log(`connected to ${this.url}${info ? ` (${info.name} ${info.version})` : ''}`);
|
|
171
178
|
this.client = client;
|
|
172
179
|
return client;
|
|
173
180
|
}
|
|
@@ -189,29 +196,29 @@ export class RemoteServer {
|
|
|
189
196
|
}
|
|
190
197
|
/** POST /api/v1/qcli/sessions with QCLI_USER / QCLI_PASSWORD. */
|
|
191
198
|
async signIn(user, password) {
|
|
192
|
-
const response = await this.fetchFn(`${this.
|
|
199
|
+
const response = await this.fetchFn(`${this.url}${SESSIONS_PATH}`, {
|
|
193
200
|
body: JSON.stringify({ password, username: user }),
|
|
194
201
|
headers: { Accept: 'application/json', 'Content-Type': 'application/json' },
|
|
195
202
|
method: 'POST',
|
|
196
203
|
});
|
|
197
204
|
const text = await response.text();
|
|
198
205
|
if (response.status === 401 || response.status === 400 || response.status === 403) {
|
|
199
|
-
throw new RemoteError('login', `${this.
|
|
206
|
+
throw new RemoteError('login', `${this.url} rejected QCLI_USER / QCLI_PASSWORD for "${user}" (${response.status}${errorText(text)}).`);
|
|
200
207
|
}
|
|
201
208
|
if (response.status === 404) {
|
|
202
|
-
throw new RemoteError('login', `${this.
|
|
209
|
+
throw new RemoteError('login', `${this.url} has no users plugin (404 on ${SESSIONS_PATH}): use QCLI_TOKEN with the server's mcp token instead of QCLI_USER / QCLI_PASSWORD.`);
|
|
203
210
|
}
|
|
204
211
|
if (response.status === 429) {
|
|
205
|
-
throw new RemoteError('login', `${this.
|
|
212
|
+
throw new RemoteError('login', `${this.url}: too many failed sign-ins for "${user}"; try again later.`);
|
|
206
213
|
}
|
|
207
214
|
if (!response.ok) {
|
|
208
215
|
throw classify(Object.assign(new Error(text), { status: response.status, data: { text } }), this.classifyContext());
|
|
209
216
|
}
|
|
210
217
|
const token = JSON.parse(text).token;
|
|
211
218
|
if (typeof token !== 'string' || !token) {
|
|
212
|
-
throw new RemoteError('login', `${this.
|
|
219
|
+
throw new RemoteError('login', `${this.url} did not return a session token.`);
|
|
213
220
|
}
|
|
214
|
-
this.log(`signed in to ${this.
|
|
221
|
+
this.log(`signed in to ${this.url} as ${user}`);
|
|
215
222
|
return token;
|
|
216
223
|
}
|
|
217
224
|
classifyContext() {
|
|
@@ -219,7 +226,7 @@ export class RemoteServer {
|
|
|
219
226
|
auth: this.config.auth.kind,
|
|
220
227
|
connectionTimeoutMs: this.config.connectionTimeoutMs,
|
|
221
228
|
requestTimeoutMs: this.config.requestTimeoutMs,
|
|
222
|
-
url: this.
|
|
229
|
+
url: this.url,
|
|
223
230
|
};
|
|
224
231
|
}
|
|
225
232
|
}
|
package/dist/src/remote.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote.js","sourceRoot":"","sources":["../../src/remote.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,MAAM,EACN,aAAa,EACb,6BAA6B,GAIhC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"remote.js","sourceRoot":"","sources":["../../src/remote.ts"],"names":[],"mappings":"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"}
|
package/dist/src/server.d.ts
CHANGED
|
@@ -1,13 +1,22 @@
|
|
|
1
1
|
import { Server } from '@modelcontextprotocol/server';
|
|
2
2
|
import type { Config } from './config.js';
|
|
3
|
+
import type { DevTools } from './dev/tools.js';
|
|
3
4
|
import type { RemoteServer } from './remote.js';
|
|
4
5
|
export declare const SERVER_NAME: string;
|
|
5
6
|
export declare const SERVER_VERSION: string;
|
|
6
7
|
export declare const WEBSITE_URL = "https://github.com/qodalis-solutions/mcp-cli";
|
|
7
|
-
export declare const buildInstructions: (config: Config) => string;
|
|
8
|
+
export declare const buildInstructions: (config: Config, dev?: boolean) => string;
|
|
9
|
+
export type ProxyServerOptions = {
|
|
10
|
+
/** Plugin-development tools, prompts and docs resources served locally */
|
|
11
|
+
dev?: DevTools | undefined;
|
|
12
|
+
log?: (message: string) => void;
|
|
13
|
+
};
|
|
8
14
|
/**
|
|
9
15
|
* The local MCP server Claude Code talks to over stdio: `tools/list` returns the
|
|
10
16
|
* remote tools (unchanged) that pass the client-side filters, `tools/call` is forwarded.
|
|
17
|
+
* With `options.dev` it also serves the `qcli_*` plugin-development tools (listed
|
|
18
|
+
* first, same filters), the prompts and the docs topics as resources; without a
|
|
19
|
+
* `remote` (no QCLI_URL) it serves only those.
|
|
11
20
|
*/
|
|
12
|
-
export declare const createProxyServer: (remote: RemoteServer, config: Config) => Server;
|
|
21
|
+
export declare const createProxyServer: (remote: RemoteServer | undefined, config: Config, options?: ProxyServerOptions) => Server;
|
|
13
22
|
//# sourceMappingURL=server.d.ts.map
|
package/dist/src/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,MAAM,EAAuB,MAAM,8BAA8B,CAAC;AAC1F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,MAAM,EAAuB,MAAM,8BAA8B,CAAC;AAC1F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAkBhD,eAAO,MAAM,WAAW,QAAmB,CAAC;AAC5C,eAAO,MAAM,cAAc,QAAsB,CAAC;AAClD,eAAO,MAAM,WAAW,iDAAiD,CAAC;AAK1E,eAAO,MAAM,iBAAiB,GAAI,QAAQ,MAAM,EAAE,aAAqB,KAAG,MAkB1D,CAAC;AAajB,MAAM,MAAM,kBAAkB,GAAG;IAC7B,0EAA0E;IAC1E,GAAG,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,CAAC;AAOF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAC1B,QAAQ,YAAY,GAAG,SAAS,EAChC,QAAQ,MAAM,EACd,UAAS,kBAAuB,KACjC,MA2GF,CAAC"}
|
package/dist/src/server.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';
|
|
2
2
|
import { ProtocolError, Server } from '@modelcontextprotocol/server';
|
|
3
|
+
import { PromptError } from './dev/prompts.js';
|
|
3
4
|
import { RemoteError } from './errors.js';
|
|
4
5
|
import { isToolAllowed } from './filters.js';
|
|
5
6
|
const require = createRequire(import.meta.url);
|
|
@@ -21,14 +22,23 @@ export const SERVER_VERSION = packageJson.version;
|
|
|
21
22
|
export const WEBSITE_URL = 'https://github.com/qodalis-solutions/mcp-cli';
|
|
22
23
|
const INVALID_PARAMS = -32602;
|
|
23
24
|
const INTERNAL_ERROR = -32603;
|
|
24
|
-
export const buildInstructions = (config) => [
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
25
|
+
export const buildInstructions = (config, dev = config.devTools) => [
|
|
26
|
+
...(config.url
|
|
27
|
+
? [
|
|
28
|
+
`Proxy to the Qodalis CLI server at ${config.url}.`,
|
|
29
|
+
"The server tools are the server's CLI commands and features (files, data explorer, jobs, plugins), limited by the permissions of the configured account.",
|
|
30
|
+
'Call server_info first to see the server version and which features are enabled.',
|
|
31
|
+
config.readOnly
|
|
32
|
+
? 'Read-only mode: only tools marked read-only are available.'
|
|
33
|
+
: 'Tools that change data are available; check a tool’s description before calling it.',
|
|
34
|
+
'After a network or VPN interruption simply retry the call: the proxy reconnects automatically.',
|
|
35
|
+
]
|
|
36
|
+
: ['Qodalis CLI plugin-development tools (developer mode: no server is configured).']),
|
|
37
|
+
...(dev
|
|
38
|
+
? [
|
|
39
|
+
'To build Qodalis CLI plugins (web terminal commands, or Node/.NET/Python server commands): search the guide with qcli_docs_search, read a topic with qcli_docs_read, get exact TypeScript declarations with qcli_api (e.g. ICliCommandProcessor, ICliExecutionContext, ICliModule) instead of guessing, and create a plugin project with qcli_scaffold_plugin. The prompts create-web-plugin and create-server-command walk through the whole task.',
|
|
40
|
+
]
|
|
41
|
+
: []),
|
|
32
42
|
].join('\n');
|
|
33
43
|
const errorResult = (message) => ({
|
|
34
44
|
content: [{ text: message, type: 'text' }],
|
|
@@ -38,29 +48,58 @@ const errorResult = (message) => ({
|
|
|
38
48
|
const hiddenReason = (tool, config) => config.readOnly && tool.annotations?.readOnlyHint !== true
|
|
39
49
|
? `Tool ${tool.name} is not available: QCLI_READ_ONLY allows only read-only tools.`
|
|
40
50
|
: `Tool ${tool.name} is not available: excluded by QCLI_TOOLS / QCLI_EXCLUDE.`;
|
|
51
|
+
const asProtocolError = (error) => error instanceof ProtocolError
|
|
52
|
+
? error
|
|
53
|
+
: new ProtocolError(INTERNAL_ERROR, error?.message ?? String(error));
|
|
41
54
|
/**
|
|
42
55
|
* The local MCP server Claude Code talks to over stdio: `tools/list` returns the
|
|
43
56
|
* remote tools (unchanged) that pass the client-side filters, `tools/call` is forwarded.
|
|
57
|
+
* With `options.dev` it also serves the `qcli_*` plugin-development tools (listed
|
|
58
|
+
* first, same filters), the prompts and the docs topics as resources; without a
|
|
59
|
+
* `remote` (no QCLI_URL) it serves only those.
|
|
44
60
|
*/
|
|
45
|
-
export const createProxyServer = (remote, config) => {
|
|
61
|
+
export const createProxyServer = (remote, config, options = {}) => {
|
|
62
|
+
const dev = options.dev;
|
|
46
63
|
const server = new Server({ name: SERVER_NAME, version: SERVER_VERSION, websiteUrl: WEBSITE_URL }, {
|
|
47
|
-
capabilities: {
|
|
48
|
-
|
|
64
|
+
capabilities: {
|
|
65
|
+
tools: { listChanged: false },
|
|
66
|
+
...(dev
|
|
67
|
+
? { prompts: { listChanged: false }, resources: { listChanged: false } }
|
|
68
|
+
: {}),
|
|
69
|
+
},
|
|
70
|
+
instructions: buildInstructions(config, dev !== undefined),
|
|
49
71
|
});
|
|
50
72
|
server.setRequestHandler('tools/list', async () => {
|
|
73
|
+
const local = dev?.tools() ?? [];
|
|
74
|
+
if (!remote) {
|
|
75
|
+
return { tools: local };
|
|
76
|
+
}
|
|
51
77
|
try {
|
|
52
78
|
const tools = await remote.listTools();
|
|
53
|
-
|
|
79
|
+
const remoteTools = tools.filter((tool) => isToolAllowed(tool, config) && !dev?.has(tool.name));
|
|
80
|
+
return { tools: [...local, ...remoteTools] };
|
|
54
81
|
}
|
|
55
82
|
catch (error) {
|
|
56
|
-
if (
|
|
57
|
-
|
|
83
|
+
if (local.length > 0) {
|
|
84
|
+
// The local tools stay usable while the server is unreachable.
|
|
85
|
+
options.log?.(`tools/list: ${error?.message}; listing the local tools only`);
|
|
86
|
+
return { tools: local };
|
|
58
87
|
}
|
|
59
|
-
throw
|
|
88
|
+
throw asProtocolError(error);
|
|
60
89
|
}
|
|
61
90
|
});
|
|
62
91
|
server.setRequestHandler('tools/call', async (request, ctx) => {
|
|
63
92
|
const params = request.params;
|
|
93
|
+
if (dev?.has(params.name)) {
|
|
94
|
+
const hidden = dev.hiddenReason(params.name);
|
|
95
|
+
if (hidden) {
|
|
96
|
+
throw new ProtocolError(INVALID_PARAMS, hidden);
|
|
97
|
+
}
|
|
98
|
+
return dev.call(params.name, params.arguments ?? {}, ctx.mcpReq?.signal);
|
|
99
|
+
}
|
|
100
|
+
if (!remote) {
|
|
101
|
+
throw new ProtocolError(INVALID_PARAMS, `Unknown tool: ${params.name} (developer mode: set QCLI_URL to use a server's tools).`);
|
|
102
|
+
}
|
|
64
103
|
try {
|
|
65
104
|
const tool = await remote.findTool(params.name);
|
|
66
105
|
if (!tool) {
|
|
@@ -81,6 +120,37 @@ export const createProxyServer = (remote, config) => {
|
|
|
81
120
|
return errorResult(error?.message ?? String(error));
|
|
82
121
|
}
|
|
83
122
|
});
|
|
123
|
+
if (dev) {
|
|
124
|
+
server.setRequestHandler('prompts/list', async () => ({ prompts: dev.prompts() }));
|
|
125
|
+
server.setRequestHandler('prompts/get', async (request) => {
|
|
126
|
+
try {
|
|
127
|
+
return dev.getPrompt(request.params.name, request.params.arguments);
|
|
128
|
+
}
|
|
129
|
+
catch (error) {
|
|
130
|
+
throw error instanceof PromptError
|
|
131
|
+
? new ProtocolError(INVALID_PARAMS, error.message)
|
|
132
|
+
: asProtocolError(error);
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
server.setRequestHandler('resources/list', async () => {
|
|
136
|
+
try {
|
|
137
|
+
return { resources: await dev.resources() };
|
|
138
|
+
}
|
|
139
|
+
catch (error) {
|
|
140
|
+
throw asProtocolError(error);
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
server.setRequestHandler('resources/read', async (request) => {
|
|
144
|
+
const uri = request.params.uri;
|
|
145
|
+
const markdown = await dev.readResource(uri).catch((error) => {
|
|
146
|
+
throw asProtocolError(error);
|
|
147
|
+
});
|
|
148
|
+
if (markdown === undefined) {
|
|
149
|
+
throw new ProtocolError(INVALID_PARAMS, `Unknown resource: ${uri}`);
|
|
150
|
+
}
|
|
151
|
+
return { contents: [{ mimeType: 'text/markdown', text: markdown, uri }] };
|
|
152
|
+
});
|
|
153
|
+
}
|
|
84
154
|
return server;
|
|
85
155
|
};
|
|
86
156
|
//# sourceMappingURL=server.js.map
|
package/dist/src/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,EAAuB,MAAM,8BAA8B,CAAC;AAE1F,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAmB,MAAM,cAAc,CAAC;AAG9D,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,iFAAiF;AACjF,MAAM,eAAe,GAAG,GAAsC,EAAE;IAC5D,KAAK,MAAM,SAAS,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,EAAE,CAAC;QAChE,IAAI,CAAC;YACD,OAAO,OAAO,CAAC,SAAS,CAAsC,CAAC;QACnE,CAAC;QAAC,MAAM,CAAC;YACL,wBAAwB;QAC5B,CAAC;IACL,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC1D,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;AAEtC,MAAM,CAAC,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC;AAC5C,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC;AAClD,MAAM,CAAC,MAAM,WAAW,GAAG,8CAA8C,CAAC;AAE1E,MAAM,cAAc,GAAG,CAAC,KAAK,CAAC;AAC9B,MAAM,cAAc,GAAG,CAAC,KAAK,CAAC;AAE9B,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
|