nucleus-mcp 1.0.7 → 1.2.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 (135) hide show
  1. package/package.json +2 -4
  2. package/.github/workflows/ci.yml +0 -72
  3. package/.smithery/shttp/module.js +0 -3
  4. package/.smithery/shttp/module.js.map +0 -7
  5. package/.smithery/stdio/index.cjs +0 -74
  6. package/.smithery/stdio/index.cjs.map +0 -7
  7. package/CHANGELOG.md +0 -65
  8. package/CODE_OF_CONDUCT.md +0 -34
  9. package/COMPARISON.md +0 -20
  10. package/CONTRIBUTING.md +0 -137
  11. package/DEVELOPMENT.md +0 -109
  12. package/LICENSE +0 -21
  13. package/README.md +0 -319
  14. package/ROADMAP.md +0 -24
  15. package/SECURITY.md +0 -88
  16. package/docs/COMMUNITY_FAQ.md +0 -48
  17. package/docs/COMPETITIVE_ANALYSIS.md +0 -90
  18. package/docs/DEMO_SCRIPT.md +0 -86
  19. package/docs/ENTERPRISE.md +0 -169
  20. package/docs/FAQ.md +0 -228
  21. package/docs/QUICK_START.md +0 -155
  22. package/docs/README.md +0 -67
  23. package/docs/RECURSIVE_SNAP_DEMO.gif +0 -0
  24. package/docs/social-preview-hq.png +0 -0
  25. package/docs/social-preview.png +0 -0
  26. package/examples/basic_usage.py +0 -84
  27. package/package.json.real +0 -24
  28. package/pyproject.toml +0 -50
  29. package/registry-server.json +0 -20
  30. package/scripts/demo_governance.py +0 -109
  31. package/scripts/sse_bridge.py +0 -87
  32. package/scripts/verify_windows_paths.py +0 -48
  33. package/server.json +0 -20
  34. package/src/mcp_server_nucleus/__init__.py +0 -8583
  35. package/src/mcp_server_nucleus/__main__.py +0 -9
  36. package/src/mcp_server_nucleus/cli.py +0 -1225
  37. package/src/mcp_server_nucleus/commitment_core.py +0 -146
  38. package/src/mcp_server_nucleus/commitment_ledger.py +0 -841
  39. package/src/mcp_server_nucleus/core/__init__.py +0 -6
  40. package/src/mcp_server_nucleus/core/orchestrator.py +0 -9
  41. package/src/mcp_server_nucleus/core/tool_registration_impl.py +0 -99
  42. package/src/mcp_server_nucleus/daemon/safety/lock.py +0 -121
  43. package/src/mcp_server_nucleus/deployment/render_integration.py +0 -4
  44. package/src/mcp_server_nucleus/hypervisor/__init__.py +0 -0
  45. package/src/mcp_server_nucleus/hypervisor/injector.py +0 -83
  46. package/src/mcp_server_nucleus/hypervisor/locker.py +0 -130
  47. package/src/mcp_server_nucleus/hypervisor/watchdog.py +0 -71
  48. package/src/mcp_server_nucleus/runtime/__init__.py +0 -58
  49. package/src/mcp_server_nucleus/runtime/agent.py +0 -517
  50. package/src/mcp_server_nucleus/runtime/agent_pool.py +0 -797
  51. package/src/mcp_server_nucleus/runtime/agents/base.py +0 -34
  52. package/src/mcp_server_nucleus/runtime/agents/oracle/manifest.json +0 -28
  53. package/src/mcp_server_nucleus/runtime/auth.py +0 -98
  54. package/src/mcp_server_nucleus/runtime/autopilot.py +0 -1057
  55. package/src/mcp_server_nucleus/runtime/broker.py +0 -126
  56. package/src/mcp_server_nucleus/runtime/budget.py +0 -153
  57. package/src/mcp_server_nucleus/runtime/capabilities/base.py +0 -20
  58. package/src/mcp_server_nucleus/runtime/capabilities/brain_ops.py +0 -253
  59. package/src/mcp_server_nucleus/runtime/capabilities/code_ops.py +0 -192
  60. package/src/mcp_server_nucleus/runtime/capabilities/depth_tracker.py +0 -81
  61. package/src/mcp_server_nucleus/runtime/capabilities/feature_map.py +0 -274
  62. package/src/mcp_server_nucleus/runtime/capabilities/marketing_engine.py +0 -205
  63. package/src/mcp_server_nucleus/runtime/capabilities/memory_ops.py +0 -79
  64. package/src/mcp_server_nucleus/runtime/capabilities/proof_system.py +0 -127
  65. package/src/mcp_server_nucleus/runtime/capabilities/render_ops.py +0 -80
  66. package/src/mcp_server_nucleus/runtime/capabilities/render_poller_cap.py +0 -266
  67. package/src/mcp_server_nucleus/runtime/capabilities/self_healing.py +0 -110
  68. package/src/mcp_server_nucleus/runtime/capabilities/strategy.py +0 -138
  69. package/src/mcp_server_nucleus/runtime/capabilities/synthesizer.py +0 -134
  70. package/src/mcp_server_nucleus/runtime/capabilities/web_ops.py +0 -94
  71. package/src/mcp_server_nucleus/runtime/common.py +0 -134
  72. package/src/mcp_server_nucleus/runtime/context_manager.py +0 -342
  73. package/src/mcp_server_nucleus/runtime/context_rules.json +0 -86
  74. package/src/mcp_server_nucleus/runtime/crdt_task_store.py +0 -349
  75. package/src/mcp_server_nucleus/runtime/critic.py +0 -150
  76. package/src/mcp_server_nucleus/runtime/daemon.py +0 -142
  77. package/src/mcp_server_nucleus/runtime/dashboard.py +0 -1087
  78. package/src/mcp_server_nucleus/runtime/depth_ops.py +0 -339
  79. package/src/mcp_server_nucleus/runtime/event_ops.py +0 -103
  80. package/src/mcp_server_nucleus/runtime/event_stream.py +0 -213
  81. package/src/mcp_server_nucleus/runtime/export.py +0 -64
  82. package/src/mcp_server_nucleus/runtime/factory.py +0 -594
  83. package/src/mcp_server_nucleus/runtime/federation.py +0 -1040
  84. package/src/mcp_server_nucleus/runtime/fetcher.py +0 -92
  85. package/src/mcp_server_nucleus/runtime/file_monitor.py +0 -208
  86. package/src/mcp_server_nucleus/runtime/firestore_bridge.py +0 -91
  87. package/src/mcp_server_nucleus/runtime/gcloud_ops.py +0 -186
  88. package/src/mcp_server_nucleus/runtime/hooks.py +0 -246
  89. package/src/mcp_server_nucleus/runtime/identity/gatekeeper.py +0 -106
  90. package/src/mcp_server_nucleus/runtime/identity/keygen.py +0 -147
  91. package/src/mcp_server_nucleus/runtime/identity/manifest.py +0 -62
  92. package/src/mcp_server_nucleus/runtime/identity/trust.py +0 -27
  93. package/src/mcp_server_nucleus/runtime/inspector.py +0 -74
  94. package/src/mcp_server_nucleus/runtime/installer.py +0 -81
  95. package/src/mcp_server_nucleus/runtime/ipc_auth.py +0 -377
  96. package/src/mcp_server_nucleus/runtime/lifecycle.py +0 -129
  97. package/src/mcp_server_nucleus/runtime/llm_client.py +0 -408
  98. package/src/mcp_server_nucleus/runtime/llm_tiers.json +0 -88
  99. package/src/mcp_server_nucleus/runtime/locking.py +0 -228
  100. package/src/mcp_server_nucleus/runtime/loops/fixer.py +0 -110
  101. package/src/mcp_server_nucleus/runtime/memory.py +0 -158
  102. package/src/mcp_server_nucleus/runtime/mounter.py +0 -210
  103. package/src/mcp_server_nucleus/runtime/mounter_ops.py +0 -250
  104. package/src/mcp_server_nucleus/runtime/nuke_protocol.py +0 -147
  105. package/src/mcp_server_nucleus/runtime/orchestrator.py +0 -370
  106. package/src/mcp_server_nucleus/runtime/orchestrator_unified.py +0 -263
  107. package/src/mcp_server_nucleus/runtime/orchestrator_v3.py +0 -617
  108. package/src/mcp_server_nucleus/runtime/plugin_loader.py +0 -84
  109. package/src/mcp_server_nucleus/runtime/policy.py +0 -117
  110. package/src/mcp_server_nucleus/runtime/profiling.py +0 -219
  111. package/src/mcp_server_nucleus/runtime/prometheus.py +0 -286
  112. package/src/mcp_server_nucleus/runtime/proposals.py +0 -101
  113. package/src/mcp_server_nucleus/runtime/publisher.py +0 -109
  114. package/src/mcp_server_nucleus/runtime/pulse.py +0 -516
  115. package/src/mcp_server_nucleus/runtime/registry.py +0 -82
  116. package/src/mcp_server_nucleus/runtime/render_ops.py +0 -83
  117. package/src/mcp_server_nucleus/runtime/schema_gen.py +0 -140
  118. package/src/mcp_server_nucleus/runtime/session_ops.py +0 -224
  119. package/src/mcp_server_nucleus/runtime/stdio_server.py +0 -633
  120. package/src/mcp_server_nucleus/runtime/storage.py +0 -83
  121. package/src/mcp_server_nucleus/runtime/strategy.py +0 -91
  122. package/src/mcp_server_nucleus/runtime/swarm.py +0 -170
  123. package/src/mcp_server_nucleus/runtime/sync_ops.py +0 -878
  124. package/src/mcp_server_nucleus/runtime/task_ingestion.py +0 -1020
  125. package/src/mcp_server_nucleus/runtime/task_ops.py +0 -449
  126. package/src/mcp_server_nucleus/runtime/task_scheduler.py +0 -488
  127. package/src/mcp_server_nucleus/runtime/team.py +0 -59
  128. package/src/mcp_server_nucleus/runtime/triggers.py +0 -237
  129. package/src/mcp_server_nucleus/runtime/vector_store.py +0 -125
  130. package/src/mcp_server_nucleus/runtime/watcher.py +0 -112
  131. package/src/mcp_server_nucleus/tool_tiers.py +0 -243
  132. package/tests/__init__.py +0 -1
  133. package/tests/conftest.py +0 -42
  134. package/tests/test_core.py +0 -235
  135. package/tests/test_search.py +0 -69
@@ -1,109 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- Governance Demo Script for Nucleus MCP
4
- --------------------------------------
5
- Demonstrates the core "Shared Brain" and "Governance" features:
6
- 1. Engram Ledger (Deep Memory)
7
- 2. Tool Guardrails (Security)
8
- 3. Audit Trail (Trust)
9
- """
10
-
11
- import json
12
- import os
13
- import sys
14
- import time
15
- from pathlib import Path
16
-
17
- # Add src to path for imports
18
- sys.path.insert(0, str(Path(__file__).parent.parent / "src"))
19
-
20
- # Set up test brain path
21
- DEMO_BRAIN = Path(__file__).parent.parent / ".demo_brain"
22
- os.environ["NUCLEAR_BRAIN_PATH"] = str(DEMO_BRAIN)
23
-
24
- def print_header(title: str):
25
- print("\n" + "=" * 60)
26
- print(f" šŸ›ļø {title}")
27
- print("=" * 60 + "\n")
28
-
29
- def print_result(result: str):
30
- try:
31
- data = json.loads(result)
32
- print(json.dumps(data, indent=2))
33
- except:
34
- print(result)
35
-
36
- def demo_engram_ledger():
37
- from mcp_server_nucleus import brain_write_engram, brain_query_engrams
38
-
39
- print_header("1. SHARED BRAIN: ENGRAM LEDGER")
40
-
41
- print("šŸ“ Storing an architectural decision...")
42
- res = brain_write_engram(
43
- key="db_policy",
44
- value="Use only local-first databases (SQLite/LevelDB) for this experiment.",
45
- context="Architecture",
46
- intensity=9
47
- )
48
- print_result(res)
49
-
50
- time.sleep(1)
51
-
52
- print("\nšŸ“ Storing a security policy...")
53
- res = brain_write_engram(
54
- key="api_security",
55
- value="All external API calls must be logged to the brain for auditing.",
56
- context="Security",
57
- intensity=10
58
- )
59
- print_result(res)
60
-
61
- print("\nšŸ” Querying the brain for 'Security' context...")
62
- res = brain_query_engrams(context="Security")
63
- print_result(res)
64
-
65
- def demo_governance():
66
- from mcp_server_nucleus import brain_governance_status, brain_audit_log
67
-
68
- print_header("2. GOVERNANCE & AUDIT TRAIL")
69
-
70
- print("šŸ›”ļø Checking Governance Status...")
71
- res = brain_governance_status()
72
- print_result(res)
73
-
74
- print("\nšŸ” Viewing the Cryptographic Audit Trail...")
75
- print("Every action taken by your agents is hashed for integrity.")
76
- res = brain_audit_log(limit=5)
77
- print_result(res)
78
-
79
- def cleanup():
80
- import shutil
81
- if DEMO_BRAIN.exists():
82
- shutil.rmtree(DEMO_BRAIN)
83
-
84
- def main():
85
- print("\n" + "🧠" * 20)
86
- print(" NUCLEUS MCP - UNIVERSAL BRAIN DEMO")
87
- print(" Govern Your Agents in 60 Seconds")
88
- print("🧠" * 20 + "\n")
89
-
90
- cleanup()
91
- DEMO_BRAIN.mkdir(parents=True, exist_ok=True)
92
-
93
- try:
94
- demo_engram_ledger()
95
- demo_governance()
96
-
97
- print_header("DEMO COMPLETE")
98
- print("šŸš€ Ready to launch!")
99
- print(" - Persistent Memory: CHECK")
100
- print(" - Cross-Agent Sync: CHECK")
101
- print(" - Security Guardrails: CHECK")
102
- print("\nNext: pip install nucleus-mcp")
103
- print()
104
-
105
- finally:
106
- cleanup()
107
-
108
- if __name__ == "__main__":
109
- main()
@@ -1,87 +0,0 @@
1
-
2
- import json
3
- import logging
4
- import os
5
- import sys
6
- from http.server import HTTPServer, BaseHTTPRequestHandler
7
- from pathlib import Path
8
-
9
- # Add src to sys.path
10
- sys.path.append(str(Path(__file__).parent.parent / "src"))
11
-
12
- from mcp_server_nucleus.runtime.stdio_server import StdioServer
13
-
14
- logging.basicConfig(level=logging.INFO)
15
- logger = logging.getLogger("nucleus.sse_bridge")
16
-
17
- class MCPBridgeHandler(BaseHTTPRequestHandler):
18
- """
19
- Simple SSE Bridge for Model Context Protocol.
20
- Converts HTTP POST requests from clients like ChatGPT to JSON-RPC tool calls.
21
- """
22
-
23
- server_impl = StdioServer(os.getcwd())
24
-
25
- def do_OPTIONS(self):
26
- self.send_response(200)
27
- self.send_header('Access-Control-Allow-Origin', '*')
28
- self.send_header('Access-Control-Allow-Methods', 'GET, POST, OPTIONS')
29
- self.send_header('Access-Control-Allow-Headers', 'Content-Type')
30
- self.end_headers()
31
-
32
- def do_GET(self):
33
- if self.path == '/sse':
34
- self.send_response(200)
35
- self.send_header('Content-Type', 'text/event-stream')
36
- self.send_header('Cache-Control', 'no-cache')
37
- self.send_header('Connection', 'keep-alive')
38
- self.send_header('Access-Control-Allow-Origin', '*')
39
- self.end_headers()
40
- logger.info("New SSE connection established")
41
- # In a real implementation, we would keep this open and push events
42
- # For a tool-only bridge, ChatGPT usually just needs the initial setup
43
- try:
44
- # Send endpoint event
45
- endpoint_msg = json.dumps({"type": "endpoint", "url": "/post"})
46
- self.wfile.write(f"event: endpoint\ndata: {endpoint_msg}\n\n".encode())
47
- self.wfile.flush()
48
- except Exception as e:
49
- logger.error(f"SSE Error: {e}")
50
- else:
51
- self.send_response(404)
52
- self.end_headers()
53
-
54
- def do_POST(self):
55
- if self.path == '/post' or self.path == '/sse':
56
- content_length = int(self.headers.get('Content-Length', 0))
57
- post_data = self.rfile.read(content_length).decode('utf-8')
58
-
59
- try:
60
- request = json.loads(post_data)
61
- logger.info(f"Request: {request.get('method')}")
62
-
63
- response = self.server_impl.handle_request(request)
64
-
65
- self.send_response(200)
66
- self.send_header('Content-Type', 'application/json')
67
- self.send_header('Access-Control-Allow-Origin', '*')
68
- self.end_headers()
69
-
70
- self.wfile.write(json.dumps(response).encode())
71
- except Exception as e:
72
- logger.error(f"POST Error: {e}")
73
- self.send_response(500)
74
- self.end_headers()
75
- else:
76
- self.send_response(404)
77
- self.end_headers()
78
-
79
- def run(port=8000):
80
- server_address = ('', port)
81
- httpd = HTTPServer(server_address, MCPBridgeHandler)
82
- logger.info(f"šŸš€ Nucleus SSE Bridge running on http://localhost:{port}/sse")
83
- logger.info("Connect from ChatGPT: Settings -> Apps -> Advanced -> Developer Mode")
84
- httpd.serve_forever()
85
-
86
- if __name__ == "__main__":
87
- run()
@@ -1,48 +0,0 @@
1
-
2
- import os
3
- import platform
4
- from pathlib import Path
5
- import sys
6
-
7
- # Add src to path
8
- sys.path.insert(0, str(Path(__file__).parent.parent / "src"))
9
-
10
- from mcp_server_nucleus.cli import get_claude_config_path, get_cursor_config_path, get_windsurf_config_path
11
-
12
- def test_windows_paths():
13
- print("🪟 Mocking Windows environment...")
14
-
15
- # Save original
16
- orig_system = platform.system
17
- orig_environ = os.environ.copy()
18
-
19
- try:
20
- # Mock platform.system()
21
- platform.system = lambda: "Windows"
22
- os.environ["APPDATA"] = "C:\\Users\\Test\\AppData\\Roaming"
23
- os.environ["LOCALAPPDATA"] = "C:\\Users\\Test\\AppData\\Local"
24
-
25
- print(f"System: {platform.system()}")
26
-
27
- claude = get_claude_config_path()
28
- print(f"Claude: {claude}")
29
- assert "AppData\\Roaming\\Claude" in str(claude)
30
-
31
- cursor = get_cursor_config_path()
32
- print(f"Cursor: {cursor}")
33
- assert "AppData\\Roaming\\Cursor" in str(cursor)
34
-
35
- windsurf = get_windsurf_config_path()
36
- print(f"Windsurf: {windsurf}")
37
- assert "AppData\\Roaming\\Codeium\\windsurf" in str(windsurf)
38
-
39
- print("\nāœ… Windows path resolution looks CORRECT.")
40
-
41
- finally:
42
- # Restore
43
- platform.system = orig_system
44
- os.environ.clear()
45
- os.environ.update(orig_environ)
46
-
47
- if __name__ == "__main__":
48
- test_windows_paths()
package/server.json DELETED
@@ -1,20 +0,0 @@
1
- {
2
- "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
3
- "name": "io.github.eidetic-works/nucleus",
4
- "description": "Sovereign agent control plane with task ledger, hypervisor security, and long-term memory.",
5
- "repository": {
6
- "url": "https://github.com/eidetic-works/nucleus-mcp",
7
- "source": "github"
8
- },
9
- "version": "1.0.4",
10
- "packages": [
11
- {
12
- "registryType": "npm",
13
- "identifier": "nucleus-mcp",
14
- "version": "1.0.4",
15
- "transport": {
16
- "type": "stdio"
17
- }
18
- }
19
- ]
20
- }