@darkiceinteractive/mcp-conductor 1.0.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.
Files changed (125) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +558 -0
  3. package/dist/bin/cli.d.ts +8 -0
  4. package/dist/bin/cli.d.ts.map +1 -0
  5. package/dist/bin/cli.js +940 -0
  6. package/dist/bin/cli.js.map +1 -0
  7. package/dist/bridge/http-server.d.ts +161 -0
  8. package/dist/bridge/http-server.d.ts.map +1 -0
  9. package/dist/bridge/http-server.js +367 -0
  10. package/dist/bridge/http-server.js.map +1 -0
  11. package/dist/bridge/index.d.ts +5 -0
  12. package/dist/bridge/index.d.ts.map +1 -0
  13. package/dist/bridge/index.js +5 -0
  14. package/dist/bridge/index.js.map +1 -0
  15. package/dist/config/defaults.d.ts +29 -0
  16. package/dist/config/defaults.d.ts.map +1 -0
  17. package/dist/config/defaults.js +60 -0
  18. package/dist/config/defaults.js.map +1 -0
  19. package/dist/config/index.d.ts +7 -0
  20. package/dist/config/index.d.ts.map +1 -0
  21. package/dist/config/index.js +7 -0
  22. package/dist/config/index.js.map +1 -0
  23. package/dist/config/loader.d.ts +49 -0
  24. package/dist/config/loader.d.ts.map +1 -0
  25. package/dist/config/loader.js +272 -0
  26. package/dist/config/loader.js.map +1 -0
  27. package/dist/config/schema.d.ts +93 -0
  28. package/dist/config/schema.d.ts.map +1 -0
  29. package/dist/config/schema.js +5 -0
  30. package/dist/config/schema.js.map +1 -0
  31. package/dist/hub/index.d.ts +5 -0
  32. package/dist/hub/index.d.ts.map +1 -0
  33. package/dist/hub/index.js +5 -0
  34. package/dist/hub/index.js.map +1 -0
  35. package/dist/hub/mcp-hub.d.ts +176 -0
  36. package/dist/hub/mcp-hub.d.ts.map +1 -0
  37. package/dist/hub/mcp-hub.js +550 -0
  38. package/dist/hub/mcp-hub.js.map +1 -0
  39. package/dist/index.d.ts +9 -0
  40. package/dist/index.d.ts.map +1 -0
  41. package/dist/index.js +45 -0
  42. package/dist/index.js.map +1 -0
  43. package/dist/metrics/index.d.ts +5 -0
  44. package/dist/metrics/index.d.ts.map +1 -0
  45. package/dist/metrics/index.js +5 -0
  46. package/dist/metrics/index.js.map +1 -0
  47. package/dist/metrics/metrics-collector.d.ts +211 -0
  48. package/dist/metrics/metrics-collector.d.ts.map +1 -0
  49. package/dist/metrics/metrics-collector.js +437 -0
  50. package/dist/metrics/metrics-collector.js.map +1 -0
  51. package/dist/modes/index.d.ts +5 -0
  52. package/dist/modes/index.d.ts.map +1 -0
  53. package/dist/modes/index.js +5 -0
  54. package/dist/modes/index.js.map +1 -0
  55. package/dist/modes/mode-handler.d.ts +132 -0
  56. package/dist/modes/mode-handler.d.ts.map +1 -0
  57. package/dist/modes/mode-handler.js +252 -0
  58. package/dist/modes/mode-handler.js.map +1 -0
  59. package/dist/runtime/executor.d.ts +57 -0
  60. package/dist/runtime/executor.d.ts.map +1 -0
  61. package/dist/runtime/executor.js +700 -0
  62. package/dist/runtime/executor.js.map +1 -0
  63. package/dist/runtime/index.d.ts +5 -0
  64. package/dist/runtime/index.d.ts.map +1 -0
  65. package/dist/runtime/index.js +5 -0
  66. package/dist/runtime/index.js.map +1 -0
  67. package/dist/server/index.d.ts +5 -0
  68. package/dist/server/index.d.ts.map +1 -0
  69. package/dist/server/index.js +5 -0
  70. package/dist/server/index.js.map +1 -0
  71. package/dist/server/mcp-server.d.ts +62 -0
  72. package/dist/server/mcp-server.d.ts.map +1 -0
  73. package/dist/server/mcp-server.js +1272 -0
  74. package/dist/server/mcp-server.js.map +1 -0
  75. package/dist/skills/index.d.ts +5 -0
  76. package/dist/skills/index.d.ts.map +1 -0
  77. package/dist/skills/index.js +5 -0
  78. package/dist/skills/index.js.map +1 -0
  79. package/dist/skills/skills-engine.d.ts +157 -0
  80. package/dist/skills/skills-engine.d.ts.map +1 -0
  81. package/dist/skills/skills-engine.js +405 -0
  82. package/dist/skills/skills-engine.js.map +1 -0
  83. package/dist/streaming/execution-stream.d.ts +158 -0
  84. package/dist/streaming/execution-stream.d.ts.map +1 -0
  85. package/dist/streaming/execution-stream.js +320 -0
  86. package/dist/streaming/execution-stream.js.map +1 -0
  87. package/dist/streaming/index.d.ts +5 -0
  88. package/dist/streaming/index.d.ts.map +1 -0
  89. package/dist/streaming/index.js +5 -0
  90. package/dist/streaming/index.js.map +1 -0
  91. package/dist/utils/errors.d.ts +36 -0
  92. package/dist/utils/errors.d.ts.map +1 -0
  93. package/dist/utils/errors.js +68 -0
  94. package/dist/utils/errors.js.map +1 -0
  95. package/dist/utils/helpers.d.ts +44 -0
  96. package/dist/utils/helpers.d.ts.map +1 -0
  97. package/dist/utils/helpers.js +95 -0
  98. package/dist/utils/helpers.js.map +1 -0
  99. package/dist/utils/index.d.ts +9 -0
  100. package/dist/utils/index.d.ts.map +1 -0
  101. package/dist/utils/index.js +9 -0
  102. package/dist/utils/index.js.map +1 -0
  103. package/dist/utils/logger.d.ts +13 -0
  104. package/dist/utils/logger.d.ts.map +1 -0
  105. package/dist/utils/logger.js +48 -0
  106. package/dist/utils/logger.js.map +1 -0
  107. package/dist/utils/permissions.d.ts +97 -0
  108. package/dist/utils/permissions.d.ts.map +1 -0
  109. package/dist/utils/permissions.js +165 -0
  110. package/dist/utils/permissions.js.map +1 -0
  111. package/dist/utils/rate-limiter.d.ts +87 -0
  112. package/dist/utils/rate-limiter.d.ts.map +1 -0
  113. package/dist/utils/rate-limiter.js +187 -0
  114. package/dist/utils/rate-limiter.js.map +1 -0
  115. package/dist/watcher/config-watcher.d.ts +67 -0
  116. package/dist/watcher/config-watcher.d.ts.map +1 -0
  117. package/dist/watcher/config-watcher.js +150 -0
  118. package/dist/watcher/config-watcher.js.map +1 -0
  119. package/dist/watcher/index.d.ts +5 -0
  120. package/dist/watcher/index.d.ts.map +1 -0
  121. package/dist/watcher/index.js +5 -0
  122. package/dist/watcher/index.js.map +1 -0
  123. package/package.json +86 -0
  124. package/templates/CLAUDE.md +137 -0
  125. package/templates/skill-mcp-conductor.md +64 -0
@@ -0,0 +1,64 @@
1
+ # MCP Conductor - Token-Efficient Operations
2
+
3
+ When performing MCP operations, **use mcp-conductor's `execute_code` tool** instead of making direct MCP calls.
4
+
5
+ ## When to Use execute_code
6
+
7
+ **ALWAYS use execute_code when:**
8
+ - You need 2+ MCP tool calls
9
+ - Processing, filtering, or transforming data from MCP results
10
+ - Iterating over files, repos, search results, or lists
11
+ - Working with large datasets
12
+
13
+ **Direct calls are OK only for:**
14
+ - Single, simple tool call with no processing
15
+ - Debugging or interactive exploration
16
+
17
+ ## Why This Matters
18
+
19
+ Direct MCP calls put ALL data in Claude's context:
20
+ - `filesystem.list_directory` → full listing in context
21
+ - `filesystem.read_file` x 10 → 10 full files in context
22
+ - Each response consumes tokens
23
+
24
+ With execute_code:
25
+ - Write code once (small cost)
26
+ - All intermediate data stays in sandbox (zero cost)
27
+ - Only final return value in context (minimal tokens)
28
+
29
+ **Savings: 90%+ for multi-step operations**
30
+
31
+ ## Quick API Reference
32
+
33
+ ```typescript
34
+ // Get server client
35
+ const fs = mcp.server('filesystem');
36
+ const github = mcp.github; // attribute style
37
+
38
+ // Call tools
39
+ const files = await fs.call('list_directory', { path: '/src' });
40
+ const repos = await github.call('search_repositories', { query: 'ai' });
41
+
42
+ // Search all tools
43
+ const tools = await mcp.searchTools('file');
44
+
45
+ // Return only what's needed
46
+ return { count: files.entries.length };
47
+ ```
48
+
49
+ ## Example: Process Multiple Files
50
+
51
+ ```typescript
52
+ const fs = mcp.server('filesystem');
53
+ const files = await fs.call('list_directory', { path: '/src' });
54
+ const tsFiles = files.entries.filter(f => f.name.endsWith('.ts'));
55
+ const contents = await Promise.all(
56
+ tsFiles.map(f => fs.call('read_file', { path: '/src/' + f.name }))
57
+ );
58
+ return {
59
+ count: tsFiles.length,
60
+ totalLines: contents.reduce((sum, c) => sum + c.split('\n').length, 0)
61
+ };
62
+ ```
63
+
64
+ This processes potentially hundreds of files but only returns a small summary to context.