@moxxy/plugin-mcp 0.26.0 → 0.28.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.
@@ -1 +1 @@
1
- {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../src/admin/tools/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGzE,OAAO,KAAK,EACV,qBAAqB,EAEtB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAChD,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC;QAC7C,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QACjC,WAAW,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;KAC/C,CAAC,CAAC;IACH;iFAC6E;IAC7E,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,kBAAkB,CAChB,MAAM,EAAE,eAAe,EACvB,WAAW,EAAE,aAAa,CAAC,iBAAiB,CAAC,GAC5C,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;CACxD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CA6FnE"}
1
+ {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../src/admin/tools/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGzE,OAAO,KAAK,EACV,qBAAqB,EAEtB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAChD,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC;QAC7C,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QACjC,WAAW,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;KAC/C,CAAC,CAAC;IACH;iFAC6E;IAC7E,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,kBAAkB,CAChB,MAAM,EAAE,eAAe,EACvB,WAAW,EAAE,aAAa,CAAC,iBAAiB,CAAC,GAC5C,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;CACxD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CA8GnE"}
@@ -14,6 +14,23 @@ export function buildAddServerTool(deps) {
14
14
  'persisted, and it is resolved only at connect time.',
15
15
  inputSchema: addServerInput,
16
16
  permission: { action: 'prompt' },
17
+ // Mirrors mcp_test_server's honest surface: the hot-attach spawns the
18
+ // user-named stdio command (subprocess + broad fs) or connects to an
19
+ // arbitrary http/sse URL (net: any). On top of that, this tool persists
20
+ // the entry to ~/.moxxy/mcp.json and writes the auto-generated usage
21
+ // skill into ~/.moxxy/skills/.
22
+ isolation: {
23
+ capabilities: {
24
+ subprocess: true,
25
+ fs: {
26
+ read: ['$cwd/**', '/tmp/**', '~/.moxxy/mcp.json'],
27
+ write: ['$cwd/**', '/tmp/**', '~/.moxxy/mcp.json', '~/.moxxy/skills/**'],
28
+ },
29
+ net: { mode: 'any' },
30
+ env: ['PATH', 'HOME', 'USER', 'SHELL', 'LANG', 'LC_ALL', 'TERM'],
31
+ timeMs: 600_000,
32
+ },
33
+ },
17
34
  handler: async (input) => {
18
35
  const server = validateAddServerInput(input);
19
36
  const cfg = await readMcpConfig();
@@ -1 +1 @@
1
- {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/admin/tools/add.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/admin/tools/add.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/admin/tools/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAGzD,wBAAgB,oBAAoB,IAAI,OAAO,CAe9C"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/admin/tools/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAGzD,wBAAgB,oBAAoB,IAAI,OAAO,CAsB9C"}
@@ -5,6 +5,13 @@ export function buildListServersTool() {
5
5
  name: 'mcp_list_servers',
6
6
  description: 'List every MCP server currently registered in ~/.moxxy/mcp.json. Returns name + transport kind + connection details (command/url) for each.',
7
7
  inputSchema: z.object({}),
8
+ isolation: {
9
+ capabilities: {
10
+ fs: { read: ['~/.moxxy/mcp.json'] },
11
+ net: { mode: 'none' },
12
+ timeMs: 10_000,
13
+ },
14
+ },
8
15
  handler: async () => {
9
16
  const cfg = await readMcpConfig();
10
17
  return cfg.servers.map((s) => s.kind === undefined || s.kind === 'stdio'
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/admin/tools/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,CAAC,EAAgB,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,UAAU,oBAAoB;IAClC,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,6IAA6I;QAC/I,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,GAAG,GAAG,MAAM,aAAa,EAAE,CAAC;YAClC,OAAO,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3B,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;gBACxC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,OAAgB,EAAE,OAAO,EAAG,CAAyB,CAAC,OAAO,EAAE;gBACvF,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAG,CAAqB,CAAC,GAAG,EAAE,CACpE,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/admin/tools/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,CAAC,EAAgB,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,UAAU,oBAAoB;IAClC,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,6IAA6I;QAC/I,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,SAAS,EAAE;YACT,YAAY,EAAE;gBACZ,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,mBAAmB,CAAC,EAAE;gBACnC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;gBACrB,MAAM,EAAE,MAAM;aACf;SACF;QACD,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,GAAG,GAAG,MAAM,aAAa,EAAE,CAAC;YAClC,OAAO,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3B,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;gBACxC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,OAAgB,EAAE,OAAO,EAAG,CAAyB,CAAC,OAAO,EAAE;gBACvF,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAG,CAAqB,CAAC,GAAG,EAAE,CACpE,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../../src/admin/tools/remove.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAIzD,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9C;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAqCzE"}
1
+ {"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../../src/admin/tools/remove.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAIzD,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9C;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CA+CzE"}
@@ -9,6 +9,16 @@ export function buildRemoveServerTool(deps) {
9
9
  'The tools become uncallable immediately and the entry is gone on next restart.',
10
10
  inputSchema: z.object({ name: serverNameSchema }),
11
11
  permission: { action: 'prompt' },
12
+ // Rewrites ~/.moxxy/mcp.json; the runtime detach only CLOSES the existing
13
+ // client (kills a stdio child / aborts an http socket) — it never spawns
14
+ // or opens anything new.
15
+ isolation: {
16
+ capabilities: {
17
+ fs: { read: ['~/.moxxy/mcp.json'], write: ['~/.moxxy/mcp.json'] },
18
+ net: { mode: 'none' },
19
+ timeMs: 30_000,
20
+ },
21
+ },
12
22
  handler: async ({ name }) => {
13
23
  // Read-modify-write under the shared config mutex so a concurrent
14
24
  // add/remove can't clobber the file.
@@ -1 +1 @@
1
- {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../src/admin/tools/remove.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,CAAC,EAAgB,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAMhD,MAAM,UAAU,qBAAqB,CAAC,IAA0B;IAC9D,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAC9B,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,0FAA0F;YAC1F,gFAAgF;QAClF,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;QACjD,UAAU,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAChC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YAC1B,kEAAkE;YAClE,qCAAqC;YACrC,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC9C,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;gBAC5D,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBAC3C,iEAAiE;oBACjE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;gBACtC,CAAC;gBACD,OAAO,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACvD,CAAC,CAAC,CAAC;YACH,uEAAuE;YACvE,uEAAuE;YACvE,qEAAqE;YACrE,sEAAsE;YACtE,yCAAyC;YACzC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC5B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,wBAAwB,IAAI,mBAAmB,EAAE,CAAC;YACzF,CAAC;YACD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI;gBACJ,eAAe,EAAE,SAAS;gBAC1B,mBAAmB,EAAE,QAAQ;aAC9B,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../src/admin/tools/remove.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,CAAC,EAAgB,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAMhD,MAAM,UAAU,qBAAqB,CAAC,IAA0B;IAC9D,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAC9B,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,0FAA0F;YAC1F,gFAAgF;QAClF,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;QACjD,UAAU,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAChC,0EAA0E;QAC1E,yEAAyE;QACzE,yBAAyB;QACzB,SAAS,EAAE;YACT,YAAY,EAAE;gBACZ,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,mBAAmB,CAAC,EAAE,KAAK,EAAE,CAAC,mBAAmB,CAAC,EAAE;gBACjE,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;gBACrB,MAAM,EAAE,MAAM;aACf;SACF;QACD,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YAC1B,kEAAkE;YAClE,qCAAqC;YACrC,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC9C,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;gBAC5D,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBAC3C,iEAAiE;oBACjE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;gBACtC,CAAC;gBACD,OAAO,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACvD,CAAC,CAAC,CAAC;YACH,uEAAuE;YACvE,uEAAuE;YACvE,qEAAqE;YACrE,sEAAsE;YACtE,yCAAyC;YACzC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC5B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,wBAAwB,IAAI,mBAAmB,EAAE,CAAC;YACzF,CAAC;YACD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI;gBACJ,eAAe,EAAE,SAAS;gBAC1B,mBAAmB,EAAE,QAAQ;aAC9B,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moxxy/plugin-mcp",
3
- "version": "0.26.0",
3
+ "version": "0.28.0",
4
4
  "description": "MCP (Model Context Protocol) client plugin for moxxy — connect to MCP servers and surface their tools.",
5
5
  "keywords": [
6
6
  "moxxy",
@@ -45,7 +45,7 @@
45
45
  "dependencies": {
46
46
  "@modelcontextprotocol/sdk": "^1.0.0",
47
47
  "zod": "^3.24.0",
48
- "@moxxy/sdk": "0.26.0"
48
+ "@moxxy/sdk": "0.28.0"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@types/node": "^22.10.0",
@@ -36,6 +36,23 @@ export function buildAddServerTool(deps: AddServerToolDeps): ToolDef {
36
36
  'persisted, and it is resolved only at connect time.',
37
37
  inputSchema: addServerInput,
38
38
  permission: { action: 'prompt' },
39
+ // Mirrors mcp_test_server's honest surface: the hot-attach spawns the
40
+ // user-named stdio command (subprocess + broad fs) or connects to an
41
+ // arbitrary http/sse URL (net: any). On top of that, this tool persists
42
+ // the entry to ~/.moxxy/mcp.json and writes the auto-generated usage
43
+ // skill into ~/.moxxy/skills/.
44
+ isolation: {
45
+ capabilities: {
46
+ subprocess: true,
47
+ fs: {
48
+ read: ['$cwd/**', '/tmp/**', '~/.moxxy/mcp.json'],
49
+ write: ['$cwd/**', '/tmp/**', '~/.moxxy/mcp.json', '~/.moxxy/skills/**'],
50
+ },
51
+ net: { mode: 'any' },
52
+ env: ['PATH', 'HOME', 'USER', 'SHELL', 'LANG', 'LC_ALL', 'TERM'],
53
+ timeMs: 600_000,
54
+ },
55
+ },
39
56
  handler: async (input) => {
40
57
  const server = validateAddServerInput(input);
41
58
  const cfg = await readMcpConfig();
@@ -7,6 +7,13 @@ export function buildListServersTool(): ToolDef {
7
7
  description:
8
8
  'List every MCP server currently registered in ~/.moxxy/mcp.json. Returns name + transport kind + connection details (command/url) for each.',
9
9
  inputSchema: z.object({}),
10
+ isolation: {
11
+ capabilities: {
12
+ fs: { read: ['~/.moxxy/mcp.json'] },
13
+ net: { mode: 'none' },
14
+ timeMs: 10_000,
15
+ },
16
+ },
10
17
  handler: async () => {
11
18
  const cfg = await readMcpConfig();
12
19
  return cfg.servers.map((s) =>
@@ -15,6 +15,16 @@ export function buildRemoveServerTool(deps: RemoveServerToolDeps): ToolDef {
15
15
  'The tools become uncallable immediately and the entry is gone on next restart.',
16
16
  inputSchema: z.object({ name: serverNameSchema }),
17
17
  permission: { action: 'prompt' },
18
+ // Rewrites ~/.moxxy/mcp.json; the runtime detach only CLOSES the existing
19
+ // client (kills a stdio child / aborts an http socket) — it never spawns
20
+ // or opens anything new.
21
+ isolation: {
22
+ capabilities: {
23
+ fs: { read: ['~/.moxxy/mcp.json'], write: ['~/.moxxy/mcp.json'] },
24
+ net: { mode: 'none' },
25
+ timeMs: 30_000,
26
+ },
27
+ },
18
28
  handler: async ({ name }) => {
19
29
  // Read-modify-write under the shared config mutex so a concurrent
20
30
  // add/remove can't clobber the file.