onlymcp 0.16.4 → 0.19.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/LICENSE +33 -17
- package/README.md +7 -1
- package/dist/bin/cli.js +46 -564
- package/dist/bin/mcp.js +45 -66
- package/package.json +6 -10
- package/dist/apiBaseUrl.d.ts +0 -12
- package/dist/apiBaseUrl.js +0 -28
- package/dist/apiBaseUrl.js.map +0 -1
- package/dist/apiClient.d.ts +0 -296
- package/dist/apiClient.js +0 -224
- package/dist/apiClient.js.map +0 -1
- package/dist/auth/deviceLogin.d.ts +0 -5
- package/dist/auth/deviceLogin.js +0 -40
- package/dist/auth/deviceLogin.js.map +0 -1
- package/dist/auth/keyring.d.ts +0 -5
- package/dist/auth/keyring.js +0 -28
- package/dist/auth/keyring.js.map +0 -1
- package/dist/bin/cli.d.ts +0 -2
- package/dist/bin/cli.js.map +0 -1
- package/dist/bin/mcp.d.ts +0 -2
- package/dist/bin/mcp.js.map +0 -1
- package/dist/cache.d.ts +0 -7
- package/dist/cache.js +0 -32
- package/dist/cache.js.map +0 -1
- package/dist/deviceId.d.ts +0 -2
- package/dist/deviceId.js +0 -97
- package/dist/deviceId.js.map +0 -1
- package/dist/export/unpack.d.ts +0 -33
- package/dist/export/unpack.js +0 -54
- package/dist/export/unpack.js.map +0 -1
- package/dist/identity.d.ts +0 -29
- package/dist/identity.js +0 -116
- package/dist/identity.js.map +0 -1
- package/dist/import/collect.d.ts +0 -25
- package/dist/import/collect.js +0 -101
- package/dist/import/collect.js.map +0 -1
- package/dist/import/frontmatter.d.ts +0 -44
- package/dist/import/frontmatter.js +0 -93
- package/dist/import/frontmatter.js.map +0 -1
- package/dist/import/plan.d.ts +0 -74
- package/dist/import/plan.js +0 -190
- package/dist/import/plan.js.map +0 -1
- package/dist/import/prune.d.ts +0 -46
- package/dist/import/prune.js +0 -61
- package/dist/import/prune.js.map +0 -1
- package/dist/import/secrets.d.ts +0 -7
- package/dist/import/secrets.js +0 -77
- package/dist/import/secrets.js.map +0 -1
- package/dist/import/upload.d.ts +0 -21
- package/dist/import/upload.js +0 -99
- package/dist/import/upload.js.map +0 -1
- package/dist/install.d.ts +0 -81
- package/dist/install.js +0 -168
- package/dist/install.js.map +0 -1
- package/dist/instructions.d.ts +0 -4
- package/dist/instructions.js +0 -67
- package/dist/instructions.js.map +0 -1
- package/dist/memoryPath.d.ts +0 -1
- package/dist/memoryPath.js +0 -13
- package/dist/memoryPath.js.map +0 -1
- package/dist/memorySync.d.ts +0 -28
- package/dist/memorySync.js +0 -56
- package/dist/memorySync.js.map +0 -1
- package/dist/paths.d.ts +0 -16
- package/dist/paths.js +0 -58
- package/dist/paths.js.map +0 -1
- package/dist/registry/caveats.d.ts +0 -17
- package/dist/registry/caveats.js +0 -74
- package/dist/registry/caveats.js.map +0 -1
- package/dist/registry/clients.d.ts +0 -17
- package/dist/registry/clients.js +0 -402
- package/dist/registry/clients.js.map +0 -1
- package/dist/registry/index.d.ts +0 -6
- package/dist/registry/index.js +0 -7
- package/dist/registry/index.js.map +0 -1
- package/dist/registry/serverInfo.d.ts +0 -25
- package/dist/registry/serverInfo.js +0 -33
- package/dist/registry/serverInfo.js.map +0 -1
- package/dist/registry/servers.d.ts +0 -58
- package/dist/registry/servers.js +0 -259
- package/dist/registry/servers.js.map +0 -1
- package/dist/registry/toolHints.d.ts +0 -29
- package/dist/registry/toolHints.js +0 -41
- package/dist/registry/toolHints.js.map +0 -1
- package/dist/registry/types.d.ts +0 -71
- package/dist/registry/types.js +0 -6
- package/dist/registry/types.js.map +0 -1
- package/dist/skillFilePath.d.ts +0 -1
- package/dist/skillFilePath.js +0 -29
- package/dist/skillFilePath.js.map +0 -1
- package/dist/stubs.d.ts +0 -7
- package/dist/stubs.js +0 -159
- package/dist/stubs.js.map +0 -1
- package/dist/tools/connections.d.ts +0 -154
- package/dist/tools/connections.js +0 -164
- package/dist/tools/connections.js.map +0 -1
- package/dist/tools/getAgentDefinition.d.ts +0 -26
- package/dist/tools/getAgentDefinition.js +0 -29
- package/dist/tools/getAgentDefinition.js.map +0 -1
- package/dist/tools/getSkill.d.ts +0 -26
- package/dist/tools/getSkill.js +0 -26
- package/dist/tools/getSkill.js.map +0 -1
- package/dist/tools/getSkillFile.d.ts +0 -27
- package/dist/tools/getSkillFile.js +0 -39
- package/dist/tools/getSkillFile.js.map +0 -1
- package/dist/tools/index.d.ts +0 -263
- package/dist/tools/index.js +0 -69
- package/dist/tools/index.js.map +0 -1
- package/dist/tools/lists.d.ts +0 -38
- package/dist/tools/lists.js +0 -39
- package/dist/tools/lists.js.map +0 -1
- package/dist/tools/memoryGraph.d.ts +0 -69
- package/dist/tools/memoryGraph.js +0 -128
- package/dist/tools/memoryGraph.js.map +0 -1
- package/dist/tools/memoryRead.d.ts +0 -25
- package/dist/tools/memoryRead.js +0 -33
- package/dist/tools/memoryRead.js.map +0 -1
- package/dist/tools/memoryWrite.d.ts +0 -27
- package/dist/tools/memoryWrite.js +0 -34
- package/dist/tools/memoryWrite.js.map +0 -1
- package/dist/tools/write.d.ts +0 -166
- package/dist/tools/write.js +0 -193
- package/dist/tools/write.js.map +0 -1
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import type { ApiClient } from '../apiClient.js';
|
|
3
|
-
export declare const ListConnectionsInput: z.ZodObject<{}, z.core.$strip>;
|
|
4
|
-
export declare function createListConnectionsTool(api: ApiClient): {
|
|
5
|
-
name: string;
|
|
6
|
-
description: string;
|
|
7
|
-
inputSchema: z.ZodObject<{}, z.core.$strip>;
|
|
8
|
-
handler: () => Promise<{
|
|
9
|
-
content: {
|
|
10
|
-
type: "text";
|
|
11
|
-
text: string;
|
|
12
|
-
}[];
|
|
13
|
-
}>;
|
|
14
|
-
};
|
|
15
|
-
export declare const ConnectionCreateInput: z.ZodObject<{
|
|
16
|
-
name: z.ZodString;
|
|
17
|
-
slug: z.ZodString;
|
|
18
|
-
url: z.ZodString;
|
|
19
|
-
transport: z.ZodDefault<z.ZodEnum<{
|
|
20
|
-
http: "http";
|
|
21
|
-
sse: "sse";
|
|
22
|
-
}>>;
|
|
23
|
-
authType: z.ZodDefault<z.ZodEnum<{
|
|
24
|
-
none: "none";
|
|
25
|
-
bearer: "bearer";
|
|
26
|
-
header: "header";
|
|
27
|
-
}>>;
|
|
28
|
-
authHeaderName: z.ZodOptional<z.ZodString>;
|
|
29
|
-
secret: z.ZodOptional<z.ZodString>;
|
|
30
|
-
teamId: z.ZodOptional<z.ZodString>;
|
|
31
|
-
}, z.core.$strip>;
|
|
32
|
-
export declare function createConnectionCreateTool(api: ApiClient): {
|
|
33
|
-
name: string;
|
|
34
|
-
description: string;
|
|
35
|
-
inputSchema: z.ZodObject<{
|
|
36
|
-
name: z.ZodString;
|
|
37
|
-
slug: z.ZodString;
|
|
38
|
-
url: z.ZodString;
|
|
39
|
-
transport: z.ZodDefault<z.ZodEnum<{
|
|
40
|
-
http: "http";
|
|
41
|
-
sse: "sse";
|
|
42
|
-
}>>;
|
|
43
|
-
authType: z.ZodDefault<z.ZodEnum<{
|
|
44
|
-
none: "none";
|
|
45
|
-
bearer: "bearer";
|
|
46
|
-
header: "header";
|
|
47
|
-
}>>;
|
|
48
|
-
authHeaderName: z.ZodOptional<z.ZodString>;
|
|
49
|
-
secret: z.ZodOptional<z.ZodString>;
|
|
50
|
-
teamId: z.ZodOptional<z.ZodString>;
|
|
51
|
-
}, z.core.$strip>;
|
|
52
|
-
handler: (args: z.infer<typeof ConnectionCreateInput>) => Promise<{
|
|
53
|
-
content: {
|
|
54
|
-
type: "text";
|
|
55
|
-
text: string;
|
|
56
|
-
}[];
|
|
57
|
-
}>;
|
|
58
|
-
};
|
|
59
|
-
export declare const ConnectionUpdateInput: z.ZodObject<{
|
|
60
|
-
slug: z.ZodString;
|
|
61
|
-
name: z.ZodOptional<z.ZodString>;
|
|
62
|
-
url: z.ZodOptional<z.ZodString>;
|
|
63
|
-
transport: z.ZodOptional<z.ZodEnum<{
|
|
64
|
-
http: "http";
|
|
65
|
-
sse: "sse";
|
|
66
|
-
}>>;
|
|
67
|
-
authType: z.ZodOptional<z.ZodEnum<{
|
|
68
|
-
none: "none";
|
|
69
|
-
bearer: "bearer";
|
|
70
|
-
header: "header";
|
|
71
|
-
}>>;
|
|
72
|
-
authHeaderName: z.ZodOptional<z.ZodString>;
|
|
73
|
-
secret: z.ZodOptional<z.ZodString>;
|
|
74
|
-
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
75
|
-
}, z.core.$strip>;
|
|
76
|
-
export declare function createConnectionUpdateTool(api: ApiClient): {
|
|
77
|
-
name: string;
|
|
78
|
-
description: string;
|
|
79
|
-
inputSchema: z.ZodObject<{
|
|
80
|
-
slug: z.ZodString;
|
|
81
|
-
name: z.ZodOptional<z.ZodString>;
|
|
82
|
-
url: z.ZodOptional<z.ZodString>;
|
|
83
|
-
transport: z.ZodOptional<z.ZodEnum<{
|
|
84
|
-
http: "http";
|
|
85
|
-
sse: "sse";
|
|
86
|
-
}>>;
|
|
87
|
-
authType: z.ZodOptional<z.ZodEnum<{
|
|
88
|
-
none: "none";
|
|
89
|
-
bearer: "bearer";
|
|
90
|
-
header: "header";
|
|
91
|
-
}>>;
|
|
92
|
-
authHeaderName: z.ZodOptional<z.ZodString>;
|
|
93
|
-
secret: z.ZodOptional<z.ZodString>;
|
|
94
|
-
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
95
|
-
}, z.core.$strip>;
|
|
96
|
-
handler: (args: z.infer<typeof ConnectionUpdateInput>) => Promise<{
|
|
97
|
-
content: {
|
|
98
|
-
type: "text";
|
|
99
|
-
text: string;
|
|
100
|
-
}[];
|
|
101
|
-
}>;
|
|
102
|
-
};
|
|
103
|
-
export declare const ConnectionDeleteInput: z.ZodObject<{
|
|
104
|
-
slug: z.ZodString;
|
|
105
|
-
}, z.core.$strip>;
|
|
106
|
-
export declare function createConnectionDeleteTool(api: ApiClient): {
|
|
107
|
-
name: string;
|
|
108
|
-
description: string;
|
|
109
|
-
inputSchema: z.ZodObject<{
|
|
110
|
-
slug: z.ZodString;
|
|
111
|
-
}, z.core.$strip>;
|
|
112
|
-
handler: (args: z.infer<typeof ConnectionDeleteInput>) => Promise<{
|
|
113
|
-
content: {
|
|
114
|
-
type: "text";
|
|
115
|
-
text: string;
|
|
116
|
-
}[];
|
|
117
|
-
}>;
|
|
118
|
-
};
|
|
119
|
-
export declare const ConnectionToolsInput: z.ZodObject<{
|
|
120
|
-
slug: z.ZodString;
|
|
121
|
-
}, z.core.$strip>;
|
|
122
|
-
export declare function createConnectionToolsTool(api: ApiClient): {
|
|
123
|
-
name: string;
|
|
124
|
-
description: string;
|
|
125
|
-
inputSchema: z.ZodObject<{
|
|
126
|
-
slug: z.ZodString;
|
|
127
|
-
}, z.core.$strip>;
|
|
128
|
-
handler: (args: z.infer<typeof ConnectionToolsInput>) => Promise<{
|
|
129
|
-
content: {
|
|
130
|
-
type: "text";
|
|
131
|
-
text: string;
|
|
132
|
-
}[];
|
|
133
|
-
}>;
|
|
134
|
-
};
|
|
135
|
-
export declare const ConnectionToolToggleInput: z.ZodObject<{
|
|
136
|
-
slug: z.ZodString;
|
|
137
|
-
tool: z.ZodString;
|
|
138
|
-
enabled: z.ZodBoolean;
|
|
139
|
-
}, z.core.$strip>;
|
|
140
|
-
export declare function createConnectionToolToggleTool(api: ApiClient): {
|
|
141
|
-
name: string;
|
|
142
|
-
description: string;
|
|
143
|
-
inputSchema: z.ZodObject<{
|
|
144
|
-
slug: z.ZodString;
|
|
145
|
-
tool: z.ZodString;
|
|
146
|
-
enabled: z.ZodBoolean;
|
|
147
|
-
}, z.core.$strip>;
|
|
148
|
-
handler: (args: z.infer<typeof ConnectionToolToggleInput>) => Promise<{
|
|
149
|
-
content: {
|
|
150
|
-
type: "text";
|
|
151
|
-
text: string;
|
|
152
|
-
}[];
|
|
153
|
-
}>;
|
|
154
|
-
};
|
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { ApiError } from '../apiClient.js';
|
|
3
|
-
/**
|
|
4
|
-
* Fremde MCP-Server anbinden, ohne das Dashboard zu oeffnen.
|
|
5
|
-
*
|
|
6
|
-
* Angesprochen wird ueber den slug und nicht ueber die Kennung: der slug ist
|
|
7
|
-
* der Name, unter dem ein Agent die Werkzeuge dieses Servers ohnehin schon
|
|
8
|
-
* sieht ("fabbrica__list_customers"), waehrend eine UUID nichts ist, was
|
|
9
|
-
* jemand im Gespraech bei sich hat. Die Kennung holt dieses Modul selbst.
|
|
10
|
-
*
|
|
11
|
-
* Zum Geheimnis: es darf mitgegeben werden, und die Beschreibung sagt, was
|
|
12
|
-
* das kostet - ein Schluessel, der als Argument durch einen Agenten laeuft,
|
|
13
|
-
* steht in dessen Verlauf. Wer das nicht will, legt die Verbindung ohne an
|
|
14
|
-
* und traegt ihn im Dashboard nach.
|
|
15
|
-
*/
|
|
16
|
-
const text = (value) => ({ content: [{ type: 'text', text: value }] });
|
|
17
|
-
const bad = (value) => ({ content: [{ type: 'text', text: value }], isError: true });
|
|
18
|
-
async function attempt(run) {
|
|
19
|
-
try {
|
|
20
|
-
return text(await run());
|
|
21
|
-
}
|
|
22
|
-
catch (e) {
|
|
23
|
-
if (e instanceof ApiError) {
|
|
24
|
-
const params = Object.keys(e.params).length ? ` ${JSON.stringify(e.params)}` : '';
|
|
25
|
-
return bad(`${e.code}${params}`);
|
|
26
|
-
}
|
|
27
|
-
return bad('errors.UNKNOWN');
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
const slug = z
|
|
31
|
-
.string()
|
|
32
|
-
.min(1)
|
|
33
|
-
.max(32)
|
|
34
|
-
.regex(/^[a-z0-9]+(-[a-z0-9]+)*$/, 'errors.INVALID_SLUG');
|
|
35
|
-
/** Die eigene, private Verbindung gewinnt: privat und Team duerfen denselben slug tragen. */
|
|
36
|
-
async function bySlug(api, wanted) {
|
|
37
|
-
const { connections } = await api.listConnections();
|
|
38
|
-
const hits = connections.filter((c) => c.slug === wanted);
|
|
39
|
-
return hits.find((c) => c.scope === 'personal') ?? hits[0] ?? null;
|
|
40
|
-
}
|
|
41
|
-
function describe(c) {
|
|
42
|
-
const auth = c.authType === 'none' ? 'no auth' : `${c.authType}, secret ...${c.secretHint ?? '?'}`;
|
|
43
|
-
return `${c.slug} — ${c.name} (${c.scope}, ${c.enabled ? c.status : 'disabled'}, ${auth})\n ${c.url}${c.statusError ? `\n last error: ${c.statusError}` : ''}`;
|
|
44
|
-
}
|
|
45
|
-
export const ListConnectionsInput = z.object({});
|
|
46
|
-
export function createListConnectionsTool(api) {
|
|
47
|
-
return {
|
|
48
|
-
name: 'list_connections',
|
|
49
|
-
description: 'List the MCP servers connected through this OnlyMCP account, with the tool-name prefix each one uses.',
|
|
50
|
-
inputSchema: ListConnectionsInput,
|
|
51
|
-
handler: () => attempt(async () => {
|
|
52
|
-
const { connections } = await api.listConnections();
|
|
53
|
-
if (connections.length === 0) {
|
|
54
|
-
return 'No MCP servers are connected yet. Add one with connection_create.';
|
|
55
|
-
}
|
|
56
|
-
return connections.map(describe).join('\n');
|
|
57
|
-
}),
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
export const ConnectionCreateInput = z.object({
|
|
61
|
-
name: z.string().min(1).max(80),
|
|
62
|
-
slug,
|
|
63
|
-
url: z.string().url().max(2000),
|
|
64
|
-
transport: z.enum(['http', 'sse']).default('http'),
|
|
65
|
-
authType: z.enum(['none', 'bearer', 'header']).default('none'),
|
|
66
|
-
authHeaderName: z.string().max(80).optional(),
|
|
67
|
-
secret: z.string().max(4000).optional(),
|
|
68
|
-
teamId: z.string().max(64).optional(),
|
|
69
|
-
});
|
|
70
|
-
export function createConnectionCreateTool(api) {
|
|
71
|
-
return {
|
|
72
|
-
name: 'connection_create',
|
|
73
|
-
description: 'Connect a remote MCP server (http or sse only - a stdio server cannot be started on somebody else\'s behalf). It is probed straight away. Passing a secret here puts it into this conversation; leave it out and set it in the dashboard if that matters.',
|
|
74
|
-
inputSchema: ConnectionCreateInput,
|
|
75
|
-
handler: (args) => attempt(async () => {
|
|
76
|
-
const { connection } = await api.createConnection(args);
|
|
77
|
-
return `Connected.\n${describe(connection)}\n\nIts tools are now available as "${connection.slug}__<tool>".`;
|
|
78
|
-
}),
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
export const ConnectionUpdateInput = z.object({
|
|
82
|
-
slug,
|
|
83
|
-
name: z.string().min(1).max(80).optional(),
|
|
84
|
-
url: z.string().url().max(2000).optional(),
|
|
85
|
-
transport: z.enum(['http', 'sse']).optional(),
|
|
86
|
-
authType: z.enum(['none', 'bearer', 'header']).optional(),
|
|
87
|
-
authHeaderName: z.string().max(80).optional(),
|
|
88
|
-
secret: z.string().max(4000).optional(),
|
|
89
|
-
enabled: z.boolean().optional(),
|
|
90
|
-
});
|
|
91
|
-
export function createConnectionUpdateTool(api) {
|
|
92
|
-
return {
|
|
93
|
-
name: 'connection_update',
|
|
94
|
-
description: 'Change a connected MCP server. Only the fields you pass are touched; url, transport, authType and secret trigger a fresh probe.',
|
|
95
|
-
inputSchema: ConnectionUpdateInput,
|
|
96
|
-
handler: (args) => attempt(async () => {
|
|
97
|
-
const found = await bySlug(api, args.slug);
|
|
98
|
-
if (!found)
|
|
99
|
-
return `Connection not found: ${args.slug}`;
|
|
100
|
-
const { slug: _ignored, ...patch } = args;
|
|
101
|
-
const { connection } = await api.updateConnection(found.id, patch);
|
|
102
|
-
return `Updated.\n${describe(connection)}`;
|
|
103
|
-
}),
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
export const ConnectionDeleteInput = z.object({ slug });
|
|
107
|
-
export function createConnectionDeleteTool(api) {
|
|
108
|
-
return {
|
|
109
|
-
name: 'connection_delete',
|
|
110
|
-
description: 'Disconnect a remote MCP server and forget its stored credential. Its tools disappear from the gateway.',
|
|
111
|
-
inputSchema: ConnectionDeleteInput,
|
|
112
|
-
handler: (args) => attempt(async () => {
|
|
113
|
-
const found = await bySlug(api, args.slug);
|
|
114
|
-
if (!found)
|
|
115
|
-
return `Connection not found: ${args.slug}`;
|
|
116
|
-
await api.deleteConnection(found.id);
|
|
117
|
-
return `Disconnected ${args.slug}.`;
|
|
118
|
-
}),
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
export const ConnectionToolsInput = z.object({ slug });
|
|
122
|
-
export function createConnectionToolsTool(api) {
|
|
123
|
-
return {
|
|
124
|
-
name: 'connection_tools',
|
|
125
|
-
description: 'List what one connected server offers, and whether each tool is switched on for the gateway.',
|
|
126
|
-
inputSchema: ConnectionToolsInput,
|
|
127
|
-
handler: (args) => attempt(async () => {
|
|
128
|
-
const found = await bySlug(api, args.slug);
|
|
129
|
-
if (!found)
|
|
130
|
-
return `Connection not found: ${args.slug}`;
|
|
131
|
-
const { capabilities } = await api.listCapabilities(found.id);
|
|
132
|
-
if (capabilities.length === 0) {
|
|
133
|
-
return `${args.slug} has nothing on record yet. Its status is "${found.status}".`;
|
|
134
|
-
}
|
|
135
|
-
return capabilities
|
|
136
|
-
.map((cap) => `${cap.enabled ? '[on] ' : '[off]'} ${cap.kind} ${cap.name}${cap.exposedAs ? ` -> ${cap.exposedAs}` : ''}${cap.description ? ` — ${cap.description}` : ''}`)
|
|
137
|
-
.join('\n');
|
|
138
|
-
}),
|
|
139
|
-
};
|
|
140
|
-
}
|
|
141
|
-
export const ConnectionToolToggleInput = z.object({
|
|
142
|
-
slug,
|
|
143
|
-
tool: z.string().min(1).max(200),
|
|
144
|
-
enabled: z.boolean(),
|
|
145
|
-
});
|
|
146
|
-
export function createConnectionToolToggleTool(api) {
|
|
147
|
-
return {
|
|
148
|
-
name: 'connection_tool_toggle',
|
|
149
|
-
description: 'Switch one tool of a connected server on or off. A tool that is off costs no room in any client\'s tool list.',
|
|
150
|
-
inputSchema: ConnectionToolToggleInput,
|
|
151
|
-
handler: (args) => attempt(async () => {
|
|
152
|
-
const found = await bySlug(api, args.slug);
|
|
153
|
-
if (!found)
|
|
154
|
-
return `Connection not found: ${args.slug}`;
|
|
155
|
-
const { capabilities } = await api.listCapabilities(found.id);
|
|
156
|
-
const cap = capabilities.find((x) => x.kind === 'tool' && x.name === args.tool);
|
|
157
|
-
if (!cap)
|
|
158
|
-
return `${args.slug} offers no tool called ${args.tool}.`;
|
|
159
|
-
await api.toggleCapability(found.id, cap.id, args.enabled);
|
|
160
|
-
return `${args.slug}__${cap.name} is now ${args.enabled ? 'on' : 'off'}.`;
|
|
161
|
-
}),
|
|
162
|
-
};
|
|
163
|
-
}
|
|
164
|
-
//# sourceMappingURL=connections.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"connections.js","sourceRoot":"","sources":["../../src/tools/connections.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import type { ApiClient } from '../apiClient.js';
|
|
3
|
-
import type { TtlCache } from '../cache.js';
|
|
4
|
-
export declare const GetAgentInput: z.ZodObject<{
|
|
5
|
-
name: z.ZodString;
|
|
6
|
-
}, z.core.$strip>;
|
|
7
|
-
export declare function createGetAgentDefinitionTool(api: ApiClient, cache: TtlCache): {
|
|
8
|
-
name: string;
|
|
9
|
-
description: string;
|
|
10
|
-
inputSchema: z.ZodObject<{
|
|
11
|
-
name: z.ZodString;
|
|
12
|
-
}, z.core.$strip>;
|
|
13
|
-
handler(args: z.infer<typeof GetAgentInput>): Promise<{
|
|
14
|
-
content: {
|
|
15
|
-
type: "text";
|
|
16
|
-
text: string;
|
|
17
|
-
}[];
|
|
18
|
-
isError?: undefined;
|
|
19
|
-
} | {
|
|
20
|
-
content: {
|
|
21
|
-
type: "text";
|
|
22
|
-
text: string;
|
|
23
|
-
}[];
|
|
24
|
-
isError: boolean;
|
|
25
|
-
}>;
|
|
26
|
-
};
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { ApiError } from '../apiClient.js';
|
|
3
|
-
export const GetAgentInput = z.object({ name: z.string().min(1).max(64) });
|
|
4
|
-
export function createGetAgentDefinitionTool(api, cache) {
|
|
5
|
-
return {
|
|
6
|
-
name: 'get_agent_definition',
|
|
7
|
-
description: "Delivers an agent's system prompt from the OnlyMCP cloud.",
|
|
8
|
-
inputSchema: GetAgentInput,
|
|
9
|
-
async handler(args) {
|
|
10
|
-
const key = `agent:${args.name}`;
|
|
11
|
-
const cached = await cache.get(key);
|
|
12
|
-
if (cached !== null)
|
|
13
|
-
return { content: [{ type: 'text', text: cached }] };
|
|
14
|
-
try {
|
|
15
|
-
// This is the one read that runs the agent, so it asks the server to
|
|
16
|
-
// count it. The cache above answers repeat loads without a request: the
|
|
17
|
-
// count for this transport is a lower bound.
|
|
18
|
-
const a = await api.getAgent(args.name, { use: true });
|
|
19
|
-
await cache.set(key, a.body);
|
|
20
|
-
return { content: [{ type: 'text', text: a.body }] };
|
|
21
|
-
}
|
|
22
|
-
catch (e) {
|
|
23
|
-
const code = e instanceof ApiError ? e.code : 'errors.UNKNOWN';
|
|
24
|
-
return { content: [{ type: 'text', text: code }], isError: true };
|
|
25
|
-
}
|
|
26
|
-
},
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=getAgentDefinition.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getAgentDefinition.js","sourceRoot":"","sources":["../../src/tools/getAgentDefinition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAG3C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAE3E,MAAM,UAAU,4BAA4B,CAAC,GAAc,EAAE,KAAe;IAC1E,OAAO;QACL,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,2DAA2D;QACxE,WAAW,EAAE,aAAa;QAC1B,KAAK,CAAC,OAAO,CAAC,IAAmC;YAC/C,MAAM,GAAG,GAAG,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YACnF,IAAI,CAAC;gBACH,qEAAqE;gBACrE,wEAAwE;gBACxE,6CAA6C;gBAC7C,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvD,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC7B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAChE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,IAAI,GAAG,CAAC,YAAY,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC;gBAC/D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC7E,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/tools/getSkill.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import type { ApiClient } from '../apiClient.js';
|
|
3
|
-
import type { TtlCache } from '../cache.js';
|
|
4
|
-
export declare const GetSkillInput: z.ZodObject<{
|
|
5
|
-
name: z.ZodString;
|
|
6
|
-
}, z.core.$strip>;
|
|
7
|
-
export declare function createGetSkillTool(api: ApiClient, cache: TtlCache): {
|
|
8
|
-
name: string;
|
|
9
|
-
description: string;
|
|
10
|
-
inputSchema: z.ZodObject<{
|
|
11
|
-
name: z.ZodString;
|
|
12
|
-
}, z.core.$strip>;
|
|
13
|
-
handler(args: z.infer<typeof GetSkillInput>): Promise<{
|
|
14
|
-
content: {
|
|
15
|
-
type: "text";
|
|
16
|
-
text: string;
|
|
17
|
-
}[];
|
|
18
|
-
isError?: undefined;
|
|
19
|
-
} | {
|
|
20
|
-
content: {
|
|
21
|
-
type: "text";
|
|
22
|
-
text: string;
|
|
23
|
-
}[];
|
|
24
|
-
isError: boolean;
|
|
25
|
-
}>;
|
|
26
|
-
};
|
package/dist/tools/getSkill.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { ApiError } from '../apiClient.js';
|
|
3
|
-
export const GetSkillInput = z.object({ name: z.string().min(1).max(64) });
|
|
4
|
-
export function createGetSkillTool(api, cache) {
|
|
5
|
-
return {
|
|
6
|
-
name: 'get_skill',
|
|
7
|
-
description: "Delivers a skill's full content from the OnlyMCP cloud. Called from the stub files.",
|
|
8
|
-
inputSchema: GetSkillInput,
|
|
9
|
-
async handler(args) {
|
|
10
|
-
const key = `skill:${args.name}`;
|
|
11
|
-
const cached = await cache.get(key);
|
|
12
|
-
if (cached !== null)
|
|
13
|
-
return { content: [{ type: 'text', text: cached }] };
|
|
14
|
-
try {
|
|
15
|
-
const skill = await api.getSkill(args.name);
|
|
16
|
-
await cache.set(key, skill.body);
|
|
17
|
-
return { content: [{ type: 'text', text: skill.body }] };
|
|
18
|
-
}
|
|
19
|
-
catch (e) {
|
|
20
|
-
const code = e instanceof ApiError ? e.code : 'errors.UNKNOWN';
|
|
21
|
-
return { content: [{ type: 'text', text: code }], isError: true };
|
|
22
|
-
}
|
|
23
|
-
},
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=getSkill.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getSkill.js","sourceRoot":"","sources":["../../src/tools/getSkill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAG3C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAE3E,MAAM,UAAU,kBAAkB,CAAC,GAAc,EAAE,KAAe;IAChE,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,WAAW,EACT,qFAAqF;QACvF,WAAW,EAAE,aAAa;QAC1B,KAAK,CAAC,OAAO,CAAC,IAAmC;YAC/C,MAAM,GAAG,GAAG,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YACnF,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5C,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACpE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,IAAI,GAAG,CAAC,YAAY,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC;gBAC/D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC7E,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import type { ApiClient } from '../apiClient.js';
|
|
3
|
-
export declare const GetSkillFileInput: z.ZodObject<{
|
|
4
|
-
name: z.ZodString;
|
|
5
|
-
path: z.ZodString;
|
|
6
|
-
}, z.core.$strip>;
|
|
7
|
-
export declare function createGetSkillFileTool(api: ApiClient): {
|
|
8
|
-
name: string;
|
|
9
|
-
description: string;
|
|
10
|
-
inputSchema: z.ZodObject<{
|
|
11
|
-
name: z.ZodString;
|
|
12
|
-
path: z.ZodString;
|
|
13
|
-
}, z.core.$strip>;
|
|
14
|
-
handler(args: z.infer<typeof GetSkillFileInput>): Promise<{
|
|
15
|
-
content: {
|
|
16
|
-
type: "text";
|
|
17
|
-
text: string;
|
|
18
|
-
}[];
|
|
19
|
-
isError: boolean;
|
|
20
|
-
} | {
|
|
21
|
-
content: {
|
|
22
|
-
type: "text";
|
|
23
|
-
text: string;
|
|
24
|
-
}[];
|
|
25
|
-
isError?: undefined;
|
|
26
|
-
}>;
|
|
27
|
-
};
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { ApiError } from '../apiClient.js';
|
|
3
|
-
export const GetSkillFileInput = z.object({
|
|
4
|
-
name: z.string().min(1).max(64),
|
|
5
|
-
path: z.string().min(1).max(200),
|
|
6
|
-
});
|
|
7
|
-
export function createGetSkillFileTool(api) {
|
|
8
|
-
return {
|
|
9
|
-
name: 'get_skill_file',
|
|
10
|
-
description: "Delivers a single companion file of a skill from the OnlyMCP cloud, e.g. references/palette.md. " +
|
|
11
|
-
'Usually not needed: `npx onlymcp sync` places these files next to the SKILL.md.',
|
|
12
|
-
inputSchema: GetSkillFileInput,
|
|
13
|
-
async handler(args) {
|
|
14
|
-
try {
|
|
15
|
-
const file = await api.getSkillFile(args.name, args.path);
|
|
16
|
-
// Eine Binaerdatei ist als Text nie brauchbar. Das zu sagen hilft mehr,
|
|
17
|
-
// als 200 KB base64 zurueckzugeben, mit denen das Modell nichts
|
|
18
|
-
// anfangen kann ausser sie durch seinen Kontext zu schieben.
|
|
19
|
-
if (file.encoding === 'base64') {
|
|
20
|
-
return {
|
|
21
|
-
content: [
|
|
22
|
-
{
|
|
23
|
-
type: 'text',
|
|
24
|
-
text: `errors.BINARY_FILE ${file.path} (${file.size} bytes) - fetch it to disk with \`npx onlymcp sync\`.`,
|
|
25
|
-
},
|
|
26
|
-
],
|
|
27
|
-
isError: true,
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
return { content: [{ type: 'text', text: file.content }] };
|
|
31
|
-
}
|
|
32
|
-
catch (e) {
|
|
33
|
-
const code = e instanceof ApiError ? e.code : 'errors.UNKNOWN';
|
|
34
|
-
return { content: [{ type: 'text', text: code }], isError: true };
|
|
35
|
-
}
|
|
36
|
-
},
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=getSkillFile.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getSkillFile.js","sourceRoot":"","sources":["../../src/tools/getSkillFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;CACjC,CAAC,CAAC;AAEH,MAAM,UAAU,sBAAsB,CAAC,GAAc;IACnD,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,kGAAkG;YAClG,iFAAiF;QACnF,WAAW,EAAE,iBAAiB;QAC9B,KAAK,CAAC,OAAO,CAAC,IAAuC;YACnD,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1D,wEAAwE;gBACxE,gEAAgE;gBAChE,6DAA6D;gBAC7D,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBAC/B,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAe;gCACrB,IAAI,EAAE,sBAAsB,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,uDAAuD;6BAC3G;yBACF;wBACD,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;gBACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YACtE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,IAAI,GAAG,CAAC,YAAY,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC;gBAC/D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC7E,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|