onlymcp 0.10.0 → 0.11.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/README.md +14 -11
- package/dist/apiClient.d.ts +32 -2
- package/dist/apiClient.js +42 -4
- package/dist/apiClient.js.map +1 -1
- package/dist/bin/cli.js +189 -151
- package/dist/bin/cli.js.map +1 -1
- package/dist/import/secrets.js +1 -1
- package/dist/import/secrets.js.map +1 -1
- package/dist/import/upload.js +7 -1
- package/dist/import/upload.js.map +1 -1
- package/dist/install.d.ts +66 -12
- package/dist/install.js +137 -63
- package/dist/install.js.map +1 -1
- package/dist/registry/caveats.d.ts +17 -0
- package/dist/registry/caveats.js +50 -0
- package/dist/registry/caveats.js.map +1 -0
- package/dist/registry/clients.d.ts +11 -0
- package/dist/registry/clients.js +327 -0
- package/dist/registry/clients.js.map +1 -0
- package/dist/registry/index.d.ts +4 -0
- package/dist/registry/index.js +5 -0
- package/dist/registry/index.js.map +1 -0
- package/dist/registry/servers.d.ts +50 -0
- package/dist/registry/servers.js +225 -0
- package/dist/registry/servers.js.map +1 -0
- package/dist/registry/types.d.ts +54 -0
- package/dist/registry/types.js +6 -0
- package/dist/registry/types.js.map +1 -0
- package/dist/stubs.js +2 -2
- package/dist/tools/getAgentDefinition.js +5 -2
- package/dist/tools/getAgentDefinition.js.map +1 -1
- package/dist/tools/getSkill.js +1 -1
- package/dist/tools/getSkill.js.map +1 -1
- package/dist/tools/getSkillFile.js +3 -3
- package/dist/tools/getSkillFile.js.map +1 -1
- package/dist/tools/memoryGraph.js +16 -11
- package/dist/tools/memoryGraph.js.map +1 -1
- package/dist/tools/memoryRead.js +1 -1
- package/dist/tools/memoryRead.js.map +1 -1
- package/dist/tools/memoryWrite.js +1 -1
- package/dist/tools/memoryWrite.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export type ClientId = 'claude-code' | 'claude-app' | 'chatgpt' | 'codex' | 'gemini-cli' | 'gemini-app' | 'copilot-vscode' | 'cursor' | 'windsurf' | 'cline' | 'zed' | 'continue' | 'opencode';
|
|
2
|
+
export type ClientCategory = 'chat' | 'coding' | 'ide';
|
|
3
|
+
/** How this client can reach OnlyMCP. Order in the array is preference order. */
|
|
4
|
+
export type ConnectMethod = 'remote-oauth' | 'remote-header' | 'stdio';
|
|
5
|
+
export type SnippetLanguage = 'bash' | 'json' | 'toml' | 'yaml' | 'text';
|
|
6
|
+
export interface Snippet {
|
|
7
|
+
language: SnippetLanguage;
|
|
8
|
+
/** Never translated, never localised, never contains a placeholder path. */
|
|
9
|
+
text: string;
|
|
10
|
+
/** Where the snippet goes, if it is a file. */
|
|
11
|
+
path?: string;
|
|
12
|
+
}
|
|
13
|
+
/** Present only where `npx onlymcp install` can write the config itself. */
|
|
14
|
+
export interface ClientInstall {
|
|
15
|
+
configPath: string;
|
|
16
|
+
format: 'json' | 'toml';
|
|
17
|
+
stubDir: string | null;
|
|
18
|
+
}
|
|
19
|
+
export interface ClientRecord {
|
|
20
|
+
id: ClientId;
|
|
21
|
+
name: string;
|
|
22
|
+
category: ClientCategory;
|
|
23
|
+
/** simple-icons slug, or null when no brand mark may be used. */
|
|
24
|
+
brand: string | null;
|
|
25
|
+
methods: ConnectMethod[];
|
|
26
|
+
docsUrl: string;
|
|
27
|
+
/** ISO date on which the facts below were checked against docsUrl. */
|
|
28
|
+
verifiedOn: string;
|
|
29
|
+
/** Keys into CAVEATS (caveats.ts) for restrictions that must be stated; empty when there are none. */
|
|
30
|
+
caveats: string[];
|
|
31
|
+
install: ClientInstall | null;
|
|
32
|
+
/** Pure generator. Returns null when the remote-header method does not apply. */
|
|
33
|
+
remote(ctx: RemoteContext): Snippet[] | null;
|
|
34
|
+
}
|
|
35
|
+
export interface RemoteContext {
|
|
36
|
+
/** https://only-mcp.com/api/mcp */
|
|
37
|
+
endpoint: string;
|
|
38
|
+
/** Real token, or the literal placeholder 'omk_...'. */
|
|
39
|
+
token: string;
|
|
40
|
+
/** '~' on posix, '%USERPROFILE%' on windows. */
|
|
41
|
+
homePlaceholder?: string;
|
|
42
|
+
}
|
|
43
|
+
export interface ServerRecord {
|
|
44
|
+
id: string;
|
|
45
|
+
name: string;
|
|
46
|
+
/** simple-icons slug, or null when no brand mark may be used. */
|
|
47
|
+
brand: string | null;
|
|
48
|
+
url: string;
|
|
49
|
+
auth: 'oauth' | 'bearer' | 'oauth-or-bearer' | 'none';
|
|
50
|
+
docsUrl: string;
|
|
51
|
+
verifiedOn: string;
|
|
52
|
+
/** 'github' -> github__create_issue */
|
|
53
|
+
suggestedSlug: string;
|
|
54
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// Generated by scripts/sync-registry.mjs. Do not edit.
|
|
2
|
+
// Types for the client and server registry. Zero runtime dependencies, no
|
|
3
|
+
// Node API, no DOM, no React: this package is imported by the API (server),
|
|
4
|
+
// the web app (browser) and, as a generated copy, the published CLI.
|
|
5
|
+
export {};
|
|
6
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/registry/types.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,0EAA0E;AAC1E,4EAA4E;AAC5E,qEAAqE"}
|
package/dist/stubs.js
CHANGED
|
@@ -95,7 +95,7 @@ ${MARKER}: true
|
|
|
95
95
|
x-onlymcp-name: ${s.name}
|
|
96
96
|
---
|
|
97
97
|
|
|
98
|
-
|
|
98
|
+
Call \`get_skill({ name: "${s.name}" })\` on the OnlyMCP server and follow whatever comes back.
|
|
99
99
|
`, 'utf8');
|
|
100
100
|
written += 1;
|
|
101
101
|
// Die Begleitdateien liegen danach WIRKLICH auf der Platte, nicht hinter
|
|
@@ -150,7 +150,7 @@ ${MARKER}: true
|
|
|
150
150
|
x-onlymcp-name: ${a.name}
|
|
151
151
|
---
|
|
152
152
|
|
|
153
|
-
|
|
153
|
+
Call \`get_agent_definition({ name: "${a.name}" })\` on the OnlyMCP server and follow whatever comes back.
|
|
154
154
|
`, 'utf8');
|
|
155
155
|
agentsWritten += 1;
|
|
156
156
|
}
|
|
@@ -4,7 +4,7 @@ export const GetAgentInput = z.object({ name: z.string().min(1).max(64) });
|
|
|
4
4
|
export function createGetAgentDefinitionTool(api, cache) {
|
|
5
5
|
return {
|
|
6
6
|
name: 'get_agent_definition',
|
|
7
|
-
description:
|
|
7
|
+
description: "Delivers an agent's system prompt from the OnlyMCP cloud.",
|
|
8
8
|
inputSchema: GetAgentInput,
|
|
9
9
|
async handler(args) {
|
|
10
10
|
const key = `agent:${args.name}`;
|
|
@@ -12,7 +12,10 @@ export function createGetAgentDefinitionTool(api, cache) {
|
|
|
12
12
|
if (cached !== null)
|
|
13
13
|
return { content: [{ type: 'text', text: cached }] };
|
|
14
14
|
try {
|
|
15
|
-
|
|
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 });
|
|
16
19
|
await cache.set(key, a.body);
|
|
17
20
|
return { content: [{ type: 'text', text: a.body }] };
|
|
18
21
|
}
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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.js
CHANGED
|
@@ -4,7 +4,7 @@ export const GetSkillInput = z.object({ name: z.string().min(1).max(64) });
|
|
|
4
4
|
export function createGetSkillTool(api, cache) {
|
|
5
5
|
return {
|
|
6
6
|
name: 'get_skill',
|
|
7
|
-
description:
|
|
7
|
+
description: "Delivers a skill's full content from the OnlyMCP cloud. Called from the stub files.",
|
|
8
8
|
inputSchema: GetSkillInput,
|
|
9
9
|
async handler(args) {
|
|
10
10
|
const key = `skill:${args.name}`;
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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"}
|
|
@@ -7,8 +7,8 @@ export const GetSkillFileInput = z.object({
|
|
|
7
7
|
export function createGetSkillFileTool(api) {
|
|
8
8
|
return {
|
|
9
9
|
name: 'get_skill_file',
|
|
10
|
-
description:
|
|
11
|
-
'
|
|
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
12
|
inputSchema: GetSkillFileInput,
|
|
13
13
|
async handler(args) {
|
|
14
14
|
try {
|
|
@@ -21,7 +21,7 @@ export function createGetSkillFileTool(api) {
|
|
|
21
21
|
content: [
|
|
22
22
|
{
|
|
23
23
|
type: 'text',
|
|
24
|
-
text: `errors.BINARY_FILE ${file.path} (${file.size}
|
|
24
|
+
text: `errors.BINARY_FILE ${file.path} (${file.size} bytes) - fetch it to disk with \`npx onlymcp sync\`.`,
|
|
25
25
|
},
|
|
26
26
|
],
|
|
27
27
|
isError: true,
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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"}
|
|
@@ -14,7 +14,7 @@ export const MemorySearchInput = z.object({
|
|
|
14
14
|
export function createMemorySearchTool(api) {
|
|
15
15
|
return {
|
|
16
16
|
name: 'memory_search',
|
|
17
|
-
description: '
|
|
17
|
+
description: 'Full-text search across memory, skills and agents. Delivers the best hits with a short snippet each.',
|
|
18
18
|
inputSchema: MemorySearchInput,
|
|
19
19
|
async handler(args) {
|
|
20
20
|
try {
|
|
@@ -23,7 +23,7 @@ export function createMemorySearchTool(api) {
|
|
|
23
23
|
limit: args.limit,
|
|
24
24
|
});
|
|
25
25
|
if (hits.length === 0)
|
|
26
|
-
return text(`
|
|
26
|
+
return text(`Nothing found for ${args.query}`);
|
|
27
27
|
// Die Adresse zuerst: der naechste Aufruf ist memory_read(path) oder
|
|
28
28
|
// get_skill(name), und was dafuer gebraucht wird, darf nicht im
|
|
29
29
|
// Ausschnitt untergehen.
|
|
@@ -41,13 +41,13 @@ export const MemoryTreeInput = z.object({ scope: z.string().max(96).optional() }
|
|
|
41
41
|
export function createMemoryTreeTool(api) {
|
|
42
42
|
return {
|
|
43
43
|
name: 'memory_tree',
|
|
44
|
-
description: '
|
|
44
|
+
description: 'This account\'s folder structure: every folder, empty ones included, and the files in it.',
|
|
45
45
|
inputSchema: MemoryTreeInput,
|
|
46
46
|
async handler(args) {
|
|
47
47
|
try {
|
|
48
48
|
const { nodes } = await api.memoryTree(args.scope ?? 'all');
|
|
49
49
|
if (nodes.length === 0)
|
|
50
|
-
return text('(
|
|
50
|
+
return text('(empty)');
|
|
51
51
|
return text(nodes
|
|
52
52
|
.map((n) => {
|
|
53
53
|
const depth = n.path.split('/').length - 1;
|
|
@@ -67,10 +67,14 @@ export const MemoryMoveInput = z.object({
|
|
|
67
67
|
to: z.string().min(3).max(256),
|
|
68
68
|
updateLinks: z.boolean().optional(),
|
|
69
69
|
});
|
|
70
|
+
/** "1 file", "2 files": the move answers in files. */
|
|
71
|
+
function files(count) {
|
|
72
|
+
return `${count} ${count === 1 ? 'file' : 'files'}`;
|
|
73
|
+
}
|
|
70
74
|
export function createMemoryMoveTool(api) {
|
|
71
75
|
return {
|
|
72
76
|
name: 'memory_move',
|
|
73
|
-
description:
|
|
77
|
+
description: "Moves or renames a memory file. Every [[link]] that would no longer find it follows along, by name or by path, unless turned off.",
|
|
74
78
|
inputSchema: MemoryMoveInput,
|
|
75
79
|
async handler(args) {
|
|
76
80
|
// Beide Pfade hier geprueft und nicht erst am Server: siehe
|
|
@@ -80,8 +84,9 @@ export function createMemoryMoveTool(api) {
|
|
|
80
84
|
const updateLinks = args.updateLinks ?? true;
|
|
81
85
|
try {
|
|
82
86
|
const r = await api.moveMemory(args.from, args.to, updateLinks);
|
|
83
|
-
return text(`${r.from}
|
|
84
|
-
|
|
87
|
+
return text(`${r.from} moved to ${r.to}` +
|
|
88
|
+
// The counts are files, not links: a file with three links to the moved one is one.
|
|
89
|
+
(updateLinks ? `, links updated in ${files(r.rewritten)}, ${files(r.skipped)} left unchanged` : ''));
|
|
85
90
|
}
|
|
86
91
|
catch (e) {
|
|
87
92
|
return failure(codeOf(e));
|
|
@@ -93,7 +98,7 @@ export const MemoryLinksInput = z.object({ path: z.string().min(3).max(256) });
|
|
|
93
98
|
export function createMemoryLinksTool(api) {
|
|
94
99
|
return {
|
|
95
100
|
name: 'memory_links',
|
|
96
|
-
description: '
|
|
101
|
+
description: "A memory file's [[links]], split between the ones that point somewhere and the ones that point nowhere.",
|
|
97
102
|
inputSchema: MemoryLinksInput,
|
|
98
103
|
async handler(args) {
|
|
99
104
|
if (!isSafeMemoryPath(args.path))
|
|
@@ -102,14 +107,14 @@ export function createMemoryLinksTool(api) {
|
|
|
102
107
|
const file = await api.readMemory(args.path);
|
|
103
108
|
const { resolved, unresolved } = file.links;
|
|
104
109
|
if (resolved.length === 0 && unresolved.length === 0) {
|
|
105
|
-
return text(`${args.path}
|
|
110
|
+
return text(`${args.path} does not link to anything.`);
|
|
106
111
|
}
|
|
107
112
|
// Eine offene Verknuepfung ist kein Fehler und wird nicht versteckt:
|
|
108
113
|
// sie ist eine Notiz, die jemand schreiben wollte und noch nicht
|
|
109
114
|
// geschrieben hat. Genau dafuer gibt es die Trennung (Spec 4.3).
|
|
110
115
|
return text([
|
|
111
|
-
resolved.length > 0 ? `
|
|
112
|
-
unresolved.length > 0 ? `
|
|
116
|
+
resolved.length > 0 ? `Resolved: ${resolved.join(', ')}` : '',
|
|
117
|
+
unresolved.length > 0 ? `Open (no file with this name yet): ${unresolved.join(', ')}` : '',
|
|
113
118
|
]
|
|
114
119
|
.filter((line) => line !== '')
|
|
115
120
|
.join('\n'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memoryGraph.js","sourceRoot":"","sources":["../../src/tools/memoryGraph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAWpD,MAAM,IAAI,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACxF,MAAM,OAAO,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAE1G,SAAS,MAAM,CAAC,CAAU;IACxB,OAAO,CAAC,YAAY,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACjC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;CAClD,CAAC,CAAC;AAEH,MAAM,UAAU,sBAAsB,CAAC,GAAc;IACnD,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"memoryGraph.js","sourceRoot":"","sources":["../../src/tools/memoryGraph.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/memoryRead.js
CHANGED
|
@@ -6,7 +6,7 @@ export function createMemoryReadTool(api) {
|
|
|
6
6
|
const inFlight = new Map();
|
|
7
7
|
return {
|
|
8
8
|
name: 'memory_read',
|
|
9
|
-
description: '
|
|
9
|
+
description: 'Reads a memory file live from the OnlyMCP cloud. No disk cache.',
|
|
10
10
|
inputSchema: MemoryReadInput,
|
|
11
11
|
async handler(args) {
|
|
12
12
|
if (!isSafeMemoryPath(args.path)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memoryRead.js","sourceRoot":"","sources":["../../src/tools/memoryRead.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAE9E,MAAM,UAAU,oBAAoB,CAAC,GAAc;IACjD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEpD,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"memoryRead.js","sourceRoot":"","sources":["../../src/tools/memoryRead.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAE9E,MAAM,UAAU,oBAAoB,CAAC,GAAc;IACjD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEpD,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,iEAAiE;QAC9E,WAAW,EAAE,eAAe;QAC5B,KAAK,CAAC,OAAO,CAAC,IAAqC;YACjD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC9F,CAAC;YACD,IAAI,CAAC;gBACH,mEAAmE;gBACnE,2DAA2D;gBAC3D,IAAI,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChC,IAAI,CAAC,CAAC,EAAE,CAAC;oBACP,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;oBACrD,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBAC3B,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC9C,CAAC;gBACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YACjE,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"}
|
|
@@ -9,7 +9,7 @@ export const MemoryWriteInput = z.object({
|
|
|
9
9
|
export function createMemoryWriteTool(api) {
|
|
10
10
|
return {
|
|
11
11
|
name: 'memory_write',
|
|
12
|
-
description: '
|
|
12
|
+
description: 'Writes a memory file live into the OnlyMCP cloud (write-through).',
|
|
13
13
|
inputSchema: MemoryWriteInput,
|
|
14
14
|
async handler(args) {
|
|
15
15
|
if (!isSafeMemoryPath(args.path)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memoryWrite.js","sourceRoot":"","sources":["../../src/tools/memoryWrite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAChC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC;CACnC,CAAC,CAAC;AAEH,MAAM,UAAU,qBAAqB,CAAC,GAAc;IAClD,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"memoryWrite.js","sourceRoot":"","sources":["../../src/tools/memoryWrite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAChC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC;CACnC,CAAC,CAAC;AAEH,MAAM,UAAU,qBAAqB,CAAC,GAAc;IAClD,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,mEAAmE;QAChF,WAAW,EAAE,gBAAgB;QAC7B,KAAK,CAAC,OAAO,CAAC,IAAsC;YAClD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC9F,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACvE,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO;oBACtB,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBAC1F,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBACnC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACxD,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/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "onlymcp",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Skills,
|
|
3
|
+
"version": "0.11.0",
|
|
4
|
+
"description": "Skills, agents and memory from the OnlyMCP cloud in every MCP client. Ships the stdio MCP server and the CLI that sets up Claude Code, Codex and Gemini CLI.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Francesco Palazzo",
|
|
7
7
|
"homepage": "https://only-mcp.com",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"scripts": {
|
|
36
36
|
"build": "tsc",
|
|
37
37
|
"typecheck": "tsc --noEmit",
|
|
38
|
-
"test": "vitest run",
|
|
38
|
+
"test": "node ../../scripts/sync-registry.mjs --check && vitest run",
|
|
39
39
|
"prepublishOnly": "pnpm build"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|