@botuyo/mcp 0.3.3 → 0.3.5

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.
Files changed (96) hide show
  1. package/dist/tools/__tests__/associate_knowledge.spec.d.ts +1 -0
  2. package/dist/tools/__tests__/associate_knowledge.spec.js +23 -0
  3. package/dist/tools/__tests__/associate_knowledge.spec.js.map +1 -0
  4. package/dist/tools/__tests__/configure_agent_tool.spec.d.ts +1 -0
  5. package/dist/tools/__tests__/configure_agent_tool.spec.js +45 -0
  6. package/dist/tools/__tests__/configure_agent_tool.spec.js.map +1 -0
  7. package/dist/tools/__tests__/configure_avatar.spec.d.ts +1 -0
  8. package/dist/tools/__tests__/configure_avatar.spec.js +87 -0
  9. package/dist/tools/__tests__/configure_avatar.spec.js.map +1 -0
  10. package/dist/tools/__tests__/create_agent.spec.d.ts +1 -0
  11. package/dist/tools/__tests__/create_agent.spec.js +23 -0
  12. package/dist/tools/__tests__/create_agent.spec.js.map +1 -0
  13. package/dist/tools/__tests__/create_from_template.spec.d.ts +1 -0
  14. package/dist/tools/__tests__/create_from_template.spec.js +21 -0
  15. package/dist/tools/__tests__/create_from_template.spec.js.map +1 -0
  16. package/dist/tools/__tests__/delete_agent.spec.d.ts +1 -0
  17. package/dist/tools/__tests__/delete_agent.spec.js +31 -0
  18. package/dist/tools/__tests__/delete_agent.spec.js.map +1 -0
  19. package/dist/tools/__tests__/delete_knowledge_doc.spec.d.ts +1 -0
  20. package/dist/tools/__tests__/delete_knowledge_doc.spec.js +17 -0
  21. package/dist/tools/__tests__/delete_knowledge_doc.spec.js.map +1 -0
  22. package/dist/tools/__tests__/example_agent.spec.d.ts +1 -0
  23. package/dist/tools/__tests__/example_agent.spec.js +12 -0
  24. package/dist/tools/__tests__/example_agent.spec.js.map +1 -0
  25. package/dist/tools/__tests__/export_agent_json.spec.d.ts +1 -0
  26. package/dist/tools/__tests__/export_agent_json.spec.js +30 -0
  27. package/dist/tools/__tests__/export_agent_json.spec.js.map +1 -0
  28. package/dist/tools/__tests__/get_agent.spec.d.ts +1 -0
  29. package/dist/tools/__tests__/get_agent.spec.js +19 -0
  30. package/dist/tools/__tests__/get_agent.spec.js.map +1 -0
  31. package/dist/tools/__tests__/get_agent_status.spec.d.ts +1 -0
  32. package/dist/tools/__tests__/get_agent_status.spec.js +16 -0
  33. package/dist/tools/__tests__/get_agent_status.spec.js.map +1 -0
  34. package/dist/tools/__tests__/get_tool_config.spec.d.ts +1 -0
  35. package/dist/tools/__tests__/get_tool_config.spec.js +35 -0
  36. package/dist/tools/__tests__/get_tool_config.spec.js.map +1 -0
  37. package/dist/tools/__tests__/import_agent_json.spec.d.ts +1 -0
  38. package/dist/tools/__tests__/import_agent_json.spec.js +28 -0
  39. package/dist/tools/__tests__/import_agent_json.spec.js.map +1 -0
  40. package/dist/tools/__tests__/list_agents.spec.d.ts +1 -0
  41. package/dist/tools/__tests__/list_agents.spec.js +16 -0
  42. package/dist/tools/__tests__/list_agents.spec.js.map +1 -0
  43. package/dist/tools/__tests__/list_available_tools.spec.d.ts +1 -0
  44. package/dist/tools/__tests__/list_available_tools.spec.js +16 -0
  45. package/dist/tools/__tests__/list_available_tools.spec.js.map +1 -0
  46. package/dist/tools/__tests__/list_base_tools.spec.d.ts +1 -0
  47. package/dist/tools/__tests__/list_base_tools.spec.js +74 -0
  48. package/dist/tools/__tests__/list_base_tools.spec.js.map +1 -0
  49. package/dist/tools/__tests__/list_knowledge_docs.spec.d.ts +1 -0
  50. package/dist/tools/__tests__/list_knowledge_docs.spec.js +22 -0
  51. package/dist/tools/__tests__/list_knowledge_docs.spec.js.map +1 -0
  52. package/dist/tools/__tests__/list_templates.spec.d.ts +1 -0
  53. package/dist/tools/__tests__/list_templates.spec.js +16 -0
  54. package/dist/tools/__tests__/list_templates.spec.js.map +1 -0
  55. package/dist/tools/__tests__/list_tool_configs.spec.d.ts +1 -0
  56. package/dist/tools/__tests__/list_tool_configs.spec.js +39 -0
  57. package/dist/tools/__tests__/list_tool_configs.spec.js.map +1 -0
  58. package/dist/tools/__tests__/publish_agent.spec.d.ts +1 -0
  59. package/dist/tools/__tests__/publish_agent.spec.js +18 -0
  60. package/dist/tools/__tests__/publish_agent.spec.js.map +1 -0
  61. package/dist/tools/__tests__/remove_tool_config.spec.d.ts +1 -0
  62. package/dist/tools/__tests__/remove_tool_config.spec.js +21 -0
  63. package/dist/tools/__tests__/remove_tool_config.spec.js.map +1 -0
  64. package/dist/tools/__tests__/switch_tenant.spec.d.ts +1 -0
  65. package/dist/tools/__tests__/switch_tenant.spec.js +32 -0
  66. package/dist/tools/__tests__/switch_tenant.spec.js.map +1 -0
  67. package/dist/tools/__tests__/update_agent.spec.d.ts +1 -0
  68. package/dist/tools/__tests__/update_agent.spec.js +23 -0
  69. package/dist/tools/__tests__/update_agent.spec.js.map +1 -0
  70. package/dist/tools/__tests__/update_enabled_tools.spec.d.ts +1 -0
  71. package/dist/tools/__tests__/update_enabled_tools.spec.js +18 -0
  72. package/dist/tools/__tests__/update_enabled_tools.spec.js.map +1 -0
  73. package/dist/tools/__tests__/upsert_stage.spec.d.ts +1 -0
  74. package/dist/tools/__tests__/upsert_stage.spec.js +27 -0
  75. package/dist/tools/__tests__/upsert_stage.spec.js.map +1 -0
  76. package/dist/tools/configure_agent_tool.d.ts +4 -0
  77. package/dist/tools/configure_agent_tool.js +42 -0
  78. package/dist/tools/configure_agent_tool.js.map +1 -0
  79. package/dist/tools/configure_avatar.d.ts +10 -0
  80. package/dist/tools/configure_avatar.js +78 -0
  81. package/dist/tools/configure_avatar.js.map +1 -0
  82. package/dist/tools/get_tool_config.d.ts +4 -0
  83. package/dist/tools/get_tool_config.js +28 -0
  84. package/dist/tools/get_tool_config.js.map +1 -0
  85. package/dist/tools/index.js +20 -0
  86. package/dist/tools/index.js.map +1 -1
  87. package/dist/tools/list_base_tools.d.ts +6 -0
  88. package/dist/tools/list_base_tools.js +48 -0
  89. package/dist/tools/list_base_tools.js.map +1 -0
  90. package/dist/tools/list_tool_configs.d.ts +6 -0
  91. package/dist/tools/list_tool_configs.js +61 -0
  92. package/dist/tools/list_tool_configs.js.map +1 -0
  93. package/dist/tools/remove_tool_config.d.ts +4 -0
  94. package/dist/tools/remove_tool_config.js +20 -0
  95. package/dist/tools/remove_tool_config.js.map +1 -0
  96. package/package.json +4 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,8BAA8B;AAC9B,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACtE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChE,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AACpF,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC7E,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAChG,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC5E,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC5E,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AACvF,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AACvF,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC/E,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAChG,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC5E,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACzE,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AAC7F,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAChG,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAA;AAE9F,MAAM,CAAC,MAAM,SAAS,GAAW;IAC/B,gBAAgB;IAChB,cAAc;IACd,qBAAqB;IACrB,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;IACjB,eAAe;IACf,yBAAyB;IACzB,kBAAkB;IAClB,kBAAkB;IAClB,sBAAsB;IACtB,sBAAsB;IACtB,mBAAmB;IACnB,yBAAyB;IACzB,kBAAkB;IAClB,iBAAiB;IACjB,wBAAwB;IACxB,yBAAyB;IACzB,wBAAwB;CACzB,CAAA;AAID,MAAM,CAAC,MAAM,aAAa,GAAgC;IACxD,WAAW,EAAE,iBAAiB;IAC9B,SAAS,EAAE,eAAe;IAC1B,gBAAgB,EAAE,qBAAqB;IACvC,YAAY,EAAE,kBAAkB;IAChC,YAAY,EAAE,kBAAkB;IAChC,YAAY,EAAE,kBAAkB;IAChC,oBAAoB,EAAE,gBAAgB;IACtC,oBAAoB,EAAE,yBAAyB;IAC/C,aAAa,EAAE,mBAAmB;IAClC,aAAa,EAAE,mBAAmB;IAClC,iBAAiB,EAAE,sBAAsB;IACzC,iBAAiB,EAAE,sBAAsB;IACzC,cAAc,EAAE,oBAAoB;IACpC,oBAAoB,EAAE,yBAAyB;IAC/C,aAAa,EAAE,mBAAkC;IACjD,YAAY,EAAE,kBAAkB;IAChC,wBAAwB,EAAE,wBAAwB;IAClD,yBAAyB,EAAE,yBAAyB;IACpD,4BAA4B,EAAE,yBAAyB;CACxD,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { Tool } from '@modelcontextprotocol/sdk/types.js';
2
+ import type { BotuyoApiClient } from '../client.js';
3
+ export declare const GET_TOOLS_CATALOG_TOOL: Tool;
4
+ export declare function getToolsCatalogHandler(client: BotuyoApiClient, args: Record<string, unknown>): Promise<{
5
+ text: string;
6
+ }>;
@@ -0,0 +1,48 @@
1
+ export const GET_TOOLS_CATALOG_TOOL = {
2
+ name: 'get_tools_catalog',
3
+ description: 'Lista el catálogo completo de tools disponibles con su metadata: configurable, allowMultiInstance, configSchema, requiredIntegrations.',
4
+ inputSchema: {
5
+ type: 'object',
6
+ properties: {
7
+ filter: { type: 'string', description: 'Filtro opcional: "configurable" (solo configurables), "multi" (solo multi-instance), o vacío para todas' }
8
+ }
9
+ }
10
+ };
11
+ export async function getToolsCatalogHandler(client, args) {
12
+ const result = await client.get('/api/v1/mcp/tools/catalog');
13
+ if (!result || !result.success) {
14
+ throw new Error('Could not fetch tools catalog');
15
+ }
16
+ let tools = result.data || [];
17
+ const filter = args.filter;
18
+ if (filter === 'configurable') {
19
+ tools = tools.filter((t) => t.configurable);
20
+ }
21
+ else if (filter === 'multi') {
22
+ tools = tools.filter((t) => t.allowMultiInstance);
23
+ }
24
+ let output = `Catálogo de tools (${tools.length}):\n\n`;
25
+ for (const tool of tools) {
26
+ const badges = [];
27
+ if (tool.configurable)
28
+ badges.push('⚙️ configurable');
29
+ if (tool.allowMultiInstance)
30
+ badges.push('🔁 multi-instance');
31
+ if (tool.requiresAuth)
32
+ badges.push('🔒 auth');
33
+ output += ` ${tool.name} ${badges.length > 0 ? `[${badges.join(', ')}]` : ''}\n`;
34
+ if (tool.description) {
35
+ output += ` ${tool.description.slice(0, 120)}\n`;
36
+ }
37
+ if (tool.configSchema && tool.configSchema.length > 0) {
38
+ const keys = tool.configSchema.map((f) => `${f.key}(${f.type})`).join(', ');
39
+ output += ` Config: ${keys}\n`;
40
+ }
41
+ if (tool.requiredIntegrations) {
42
+ output += ` Requiere: ${tool.requiredIntegrations.label || tool.requiredIntegrations.category}\n`;
43
+ }
44
+ output += '\n';
45
+ }
46
+ return { text: output };
47
+ }
48
+ //# sourceMappingURL=list_base_tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list_base_tools.js","sourceRoot":"","sources":["../../src/tools/list_base_tools.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,sBAAsB,GAAS;IAC1C,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,wIAAwI;IACrJ,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yGAAyG,EAAE;SACnJ;KACF;CACF,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,MAAuB,EAAE,IAA6B;IACjG,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;IAE5D,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;IAClD,CAAC;IAED,IAAI,KAAK,GAAU,MAAM,CAAC,IAAI,IAAI,EAAE,CAAA;IACpC,MAAM,MAAM,GAAG,IAAI,CAAC,MAA4B,CAAA;IAEhD,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;QAC9B,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;IAClD,CAAC;SAAM,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QAC9B,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAA;IACxD,CAAC;IAED,IAAI,MAAM,GAAG,sBAAsB,KAAK,CAAC,MAAM,QAAQ,CAAA;IAEvD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAa,EAAE,CAAA;QAC3B,IAAI,IAAI,CAAC,YAAY;YAAE,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QACrD,IAAI,IAAI,CAAC,kBAAkB;YAAE,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;QAC7D,IAAI,IAAI,CAAC,YAAY;YAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAE7C,MAAM,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAA;QACjF,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAA;QACrD,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAChF,MAAM,IAAI,eAAe,IAAI,IAAI,CAAA;QACnC,CAAC;QACD,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,MAAM,IAAI,iBAAiB,IAAI,CAAC,oBAAoB,CAAC,KAAK,IAAI,IAAI,CAAC,oBAAoB,CAAC,QAAQ,IAAI,CAAA;QACtG,CAAC;QACD,MAAM,IAAI,IAAI,CAAA;IAChB,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;AACzB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { Tool } from '@modelcontextprotocol/sdk/types.js';
2
+ import type { BotuyoApiClient } from '../client.js';
3
+ export declare const LIST_TOOL_CONFIGS_TOOL: Tool;
4
+ export declare function listToolConfigsHandler(client: BotuyoApiClient, args: Record<string, unknown>): Promise<{
5
+ text: string;
6
+ }>;
@@ -0,0 +1,61 @@
1
+ export const LIST_TOOL_CONFIGS_TOOL = {
2
+ name: 'list_tool_configs',
3
+ description: 'Lista las configs de tools de un agente agrupadas: configuradas (single y multi-instance), habilitadas sin config, y resumen de multi-instance.',
4
+ inputSchema: {
5
+ type: 'object',
6
+ properties: {
7
+ agentId: { type: 'string', description: 'ID del agente' }
8
+ },
9
+ required: ['agentId']
10
+ }
11
+ };
12
+ export async function listToolConfigsHandler(client, args) {
13
+ const agentId = args.agentId;
14
+ if (!agentId)
15
+ throw new Error('agentId is required');
16
+ const result = await client.get(`/api/v1/mcp/agents/${agentId}/tool-configs`);
17
+ if (!result || !result.success || !result.data) {
18
+ throw new Error('Could not fetch tool configs');
19
+ }
20
+ const { configured, enabledWithoutConfig, multiInstanceSummary } = result.data;
21
+ let output = `Tool configs del agente ${agentId}:\n\n`;
22
+ // Configured tools
23
+ output += ` Tools configuradas (${(configured || []).length}):\n`;
24
+ if (!configured || configured.length === 0) {
25
+ output += ` (Ninguna)\n`;
26
+ }
27
+ else {
28
+ for (const tc of configured) {
29
+ const mode = tc.mode === 'multi-instance' ? `[multi-instance: ${tc.baseTool}]` : '[single]';
30
+ output += ` • ${tc.toolName} ${mode}\n`;
31
+ if (tc.params) {
32
+ output += ` └ params: ${Object.keys(tc.params).join(', ')}\n`;
33
+ }
34
+ if (tc.fieldsCount) {
35
+ output += ` └ fields: ${tc.fieldsCount} campos\n`;
36
+ }
37
+ if (tc.instruction) {
38
+ output += ` └ instruction: "${tc.instruction}"\n`;
39
+ }
40
+ }
41
+ }
42
+ // Enabled without config
43
+ output += `\n Tools habilitadas sin config (${(enabledWithoutConfig || []).length}):\n`;
44
+ if (!enabledWithoutConfig || enabledWithoutConfig.length === 0) {
45
+ output += ` (Ninguna)\n`;
46
+ }
47
+ else {
48
+ for (const t of enabledWithoutConfig) {
49
+ output += ` • ${t}\n`;
50
+ }
51
+ }
52
+ // Multi-instance summary
53
+ if (multiInstanceSummary && Object.keys(multiInstanceSummary).length > 0) {
54
+ output += `\n Instancias multi-instance:\n`;
55
+ for (const [baseTool, instances] of Object.entries(multiInstanceSummary)) {
56
+ output += ` ${baseTool}: ${instances.join(', ')}\n`;
57
+ }
58
+ }
59
+ return { text: output };
60
+ }
61
+ //# sourceMappingURL=list_tool_configs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list_tool_configs.js","sourceRoot":"","sources":["../../src/tools/list_tool_configs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Tool } from '@modelcontextprotocol/sdk/types.js';
2
+ import type { BotuyoApiClient } from '../client.js';
3
+ export declare const REMOVE_TOOL_CONFIG_TOOL: Tool;
4
+ export declare function removeToolConfigHandler(client: BotuyoApiClient, args: Record<string, unknown>): Promise<any>;
@@ -0,0 +1,20 @@
1
+ export const REMOVE_TOOL_CONFIG_TOOL = {
2
+ name: 'remove_tool_config',
3
+ description: 'Elimina la configuración de un tool. Si es multi-instance, también la remueve de enabledTools automáticamente.',
4
+ inputSchema: {
5
+ type: 'object',
6
+ properties: {
7
+ agentId: { type: 'string', description: 'ID del agente' },
8
+ toolName: { type: 'string', description: 'Nombre del tool o instancia a eliminar' }
9
+ },
10
+ required: ['agentId', 'toolName']
11
+ }
12
+ };
13
+ export async function removeToolConfigHandler(client, args) {
14
+ const { agentId, toolName } = args;
15
+ if (!agentId || !toolName)
16
+ throw new Error('agentId and toolName are required');
17
+ const result = await client.delete(`/api/v1/mcp/agents/${agentId}/tool-config/${toolName}`);
18
+ return result;
19
+ }
20
+ //# sourceMappingURL=remove_tool_config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove_tool_config.js","sourceRoot":"","sources":["../../src/tools/remove_tool_config.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,uBAAuB,GAAS;IAC3C,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,gHAAgH;IAC7H,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE;YACzD,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wCAAwC,EAAE;SACpF;QACD,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;KAClC;CACF,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,MAAuB,EAAE,IAA6B;IAClG,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;IAClC,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;IAE/E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,sBAAsB,OAAO,gBAAgB,QAAQ,EAAE,CAAC,CAAA;IAC3F,OAAO,MAAM,CAAA;AACf,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@botuyo/mcp",
3
- "version": "0.3.3",
3
+ "version": "0.3.5",
4
4
  "description": "BotUyo MCP Server — create and manage AI agents via Model Context Protocol",
5
5
  "keywords": [
6
6
  "mcp",
@@ -22,6 +22,7 @@
22
22
  "build": "tsc",
23
23
  "dev": "tsc -w",
24
24
  "start": "node dist/index.js",
25
+ "test": "vitest run",
25
26
  "inspect": "npx @modelcontextprotocol/inspector node dist/index.js",
26
27
  "prepublishOnly": "npm run build"
27
28
  },
@@ -34,7 +35,8 @@
34
35
  },
35
36
  "devDependencies": {
36
37
  "@types/node": "^22.0.0",
37
- "typescript": "^5.3.3"
38
+ "typescript": "^5.3.3",
39
+ "vitest": "^4.1.1"
38
40
  },
39
41
  "engines": {
40
42
  "node": ">=18"