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.
- package/package.json +2 -4
- package/.github/workflows/ci.yml +0 -72
- package/.smithery/shttp/module.js +0 -3
- package/.smithery/shttp/module.js.map +0 -7
- package/.smithery/stdio/index.cjs +0 -74
- package/.smithery/stdio/index.cjs.map +0 -7
- package/CHANGELOG.md +0 -65
- package/CODE_OF_CONDUCT.md +0 -34
- package/COMPARISON.md +0 -20
- package/CONTRIBUTING.md +0 -137
- package/DEVELOPMENT.md +0 -109
- package/LICENSE +0 -21
- package/README.md +0 -319
- package/ROADMAP.md +0 -24
- package/SECURITY.md +0 -88
- package/docs/COMMUNITY_FAQ.md +0 -48
- package/docs/COMPETITIVE_ANALYSIS.md +0 -90
- package/docs/DEMO_SCRIPT.md +0 -86
- package/docs/ENTERPRISE.md +0 -169
- package/docs/FAQ.md +0 -228
- package/docs/QUICK_START.md +0 -155
- package/docs/README.md +0 -67
- package/docs/RECURSIVE_SNAP_DEMO.gif +0 -0
- package/docs/social-preview-hq.png +0 -0
- package/docs/social-preview.png +0 -0
- package/examples/basic_usage.py +0 -84
- package/package.json.real +0 -24
- package/pyproject.toml +0 -50
- package/registry-server.json +0 -20
- package/scripts/demo_governance.py +0 -109
- package/scripts/sse_bridge.py +0 -87
- package/scripts/verify_windows_paths.py +0 -48
- package/server.json +0 -20
- package/src/mcp_server_nucleus/__init__.py +0 -8583
- package/src/mcp_server_nucleus/__main__.py +0 -9
- package/src/mcp_server_nucleus/cli.py +0 -1225
- package/src/mcp_server_nucleus/commitment_core.py +0 -146
- package/src/mcp_server_nucleus/commitment_ledger.py +0 -841
- package/src/mcp_server_nucleus/core/__init__.py +0 -6
- package/src/mcp_server_nucleus/core/orchestrator.py +0 -9
- package/src/mcp_server_nucleus/core/tool_registration_impl.py +0 -99
- package/src/mcp_server_nucleus/daemon/safety/lock.py +0 -121
- package/src/mcp_server_nucleus/deployment/render_integration.py +0 -4
- package/src/mcp_server_nucleus/hypervisor/__init__.py +0 -0
- package/src/mcp_server_nucleus/hypervisor/injector.py +0 -83
- package/src/mcp_server_nucleus/hypervisor/locker.py +0 -130
- package/src/mcp_server_nucleus/hypervisor/watchdog.py +0 -71
- package/src/mcp_server_nucleus/runtime/__init__.py +0 -58
- package/src/mcp_server_nucleus/runtime/agent.py +0 -517
- package/src/mcp_server_nucleus/runtime/agent_pool.py +0 -797
- package/src/mcp_server_nucleus/runtime/agents/base.py +0 -34
- package/src/mcp_server_nucleus/runtime/agents/oracle/manifest.json +0 -28
- package/src/mcp_server_nucleus/runtime/auth.py +0 -98
- package/src/mcp_server_nucleus/runtime/autopilot.py +0 -1057
- package/src/mcp_server_nucleus/runtime/broker.py +0 -126
- package/src/mcp_server_nucleus/runtime/budget.py +0 -153
- package/src/mcp_server_nucleus/runtime/capabilities/base.py +0 -20
- package/src/mcp_server_nucleus/runtime/capabilities/brain_ops.py +0 -253
- package/src/mcp_server_nucleus/runtime/capabilities/code_ops.py +0 -192
- package/src/mcp_server_nucleus/runtime/capabilities/depth_tracker.py +0 -81
- package/src/mcp_server_nucleus/runtime/capabilities/feature_map.py +0 -274
- package/src/mcp_server_nucleus/runtime/capabilities/marketing_engine.py +0 -205
- package/src/mcp_server_nucleus/runtime/capabilities/memory_ops.py +0 -79
- package/src/mcp_server_nucleus/runtime/capabilities/proof_system.py +0 -127
- package/src/mcp_server_nucleus/runtime/capabilities/render_ops.py +0 -80
- package/src/mcp_server_nucleus/runtime/capabilities/render_poller_cap.py +0 -266
- package/src/mcp_server_nucleus/runtime/capabilities/self_healing.py +0 -110
- package/src/mcp_server_nucleus/runtime/capabilities/strategy.py +0 -138
- package/src/mcp_server_nucleus/runtime/capabilities/synthesizer.py +0 -134
- package/src/mcp_server_nucleus/runtime/capabilities/web_ops.py +0 -94
- package/src/mcp_server_nucleus/runtime/common.py +0 -134
- package/src/mcp_server_nucleus/runtime/context_manager.py +0 -342
- package/src/mcp_server_nucleus/runtime/context_rules.json +0 -86
- package/src/mcp_server_nucleus/runtime/crdt_task_store.py +0 -349
- package/src/mcp_server_nucleus/runtime/critic.py +0 -150
- package/src/mcp_server_nucleus/runtime/daemon.py +0 -142
- package/src/mcp_server_nucleus/runtime/dashboard.py +0 -1087
- package/src/mcp_server_nucleus/runtime/depth_ops.py +0 -339
- package/src/mcp_server_nucleus/runtime/event_ops.py +0 -103
- package/src/mcp_server_nucleus/runtime/event_stream.py +0 -213
- package/src/mcp_server_nucleus/runtime/export.py +0 -64
- package/src/mcp_server_nucleus/runtime/factory.py +0 -594
- package/src/mcp_server_nucleus/runtime/federation.py +0 -1040
- package/src/mcp_server_nucleus/runtime/fetcher.py +0 -92
- package/src/mcp_server_nucleus/runtime/file_monitor.py +0 -208
- package/src/mcp_server_nucleus/runtime/firestore_bridge.py +0 -91
- package/src/mcp_server_nucleus/runtime/gcloud_ops.py +0 -186
- package/src/mcp_server_nucleus/runtime/hooks.py +0 -246
- package/src/mcp_server_nucleus/runtime/identity/gatekeeper.py +0 -106
- package/src/mcp_server_nucleus/runtime/identity/keygen.py +0 -147
- package/src/mcp_server_nucleus/runtime/identity/manifest.py +0 -62
- package/src/mcp_server_nucleus/runtime/identity/trust.py +0 -27
- package/src/mcp_server_nucleus/runtime/inspector.py +0 -74
- package/src/mcp_server_nucleus/runtime/installer.py +0 -81
- package/src/mcp_server_nucleus/runtime/ipc_auth.py +0 -377
- package/src/mcp_server_nucleus/runtime/lifecycle.py +0 -129
- package/src/mcp_server_nucleus/runtime/llm_client.py +0 -408
- package/src/mcp_server_nucleus/runtime/llm_tiers.json +0 -88
- package/src/mcp_server_nucleus/runtime/locking.py +0 -228
- package/src/mcp_server_nucleus/runtime/loops/fixer.py +0 -110
- package/src/mcp_server_nucleus/runtime/memory.py +0 -158
- package/src/mcp_server_nucleus/runtime/mounter.py +0 -210
- package/src/mcp_server_nucleus/runtime/mounter_ops.py +0 -250
- package/src/mcp_server_nucleus/runtime/nuke_protocol.py +0 -147
- package/src/mcp_server_nucleus/runtime/orchestrator.py +0 -370
- package/src/mcp_server_nucleus/runtime/orchestrator_unified.py +0 -263
- package/src/mcp_server_nucleus/runtime/orchestrator_v3.py +0 -617
- package/src/mcp_server_nucleus/runtime/plugin_loader.py +0 -84
- package/src/mcp_server_nucleus/runtime/policy.py +0 -117
- package/src/mcp_server_nucleus/runtime/profiling.py +0 -219
- package/src/mcp_server_nucleus/runtime/prometheus.py +0 -286
- package/src/mcp_server_nucleus/runtime/proposals.py +0 -101
- package/src/mcp_server_nucleus/runtime/publisher.py +0 -109
- package/src/mcp_server_nucleus/runtime/pulse.py +0 -516
- package/src/mcp_server_nucleus/runtime/registry.py +0 -82
- package/src/mcp_server_nucleus/runtime/render_ops.py +0 -83
- package/src/mcp_server_nucleus/runtime/schema_gen.py +0 -140
- package/src/mcp_server_nucleus/runtime/session_ops.py +0 -224
- package/src/mcp_server_nucleus/runtime/stdio_server.py +0 -633
- package/src/mcp_server_nucleus/runtime/storage.py +0 -83
- package/src/mcp_server_nucleus/runtime/strategy.py +0 -91
- package/src/mcp_server_nucleus/runtime/swarm.py +0 -170
- package/src/mcp_server_nucleus/runtime/sync_ops.py +0 -878
- package/src/mcp_server_nucleus/runtime/task_ingestion.py +0 -1020
- package/src/mcp_server_nucleus/runtime/task_ops.py +0 -449
- package/src/mcp_server_nucleus/runtime/task_scheduler.py +0 -488
- package/src/mcp_server_nucleus/runtime/team.py +0 -59
- package/src/mcp_server_nucleus/runtime/triggers.py +0 -237
- package/src/mcp_server_nucleus/runtime/vector_store.py +0 -125
- package/src/mcp_server_nucleus/runtime/watcher.py +0 -112
- package/src/mcp_server_nucleus/tool_tiers.py +0 -243
- package/tests/__init__.py +0 -1
- package/tests/conftest.py +0 -42
- package/tests/test_core.py +0 -235
- package/tests/test_search.py +0 -69
package/CHANGELOG.md
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
All notable changes to this project will be documented in this file.
|
|
4
|
-
|
|
5
|
-
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
-
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
-
|
|
8
|
-
## [1.0.0] - 2025-02-09
|
|
9
|
-
|
|
10
|
-
### 🎉 Initial Open Source Release
|
|
11
|
-
|
|
12
|
-
**The Universal Brain for AI Agents** — Cross-platform memory sync for Cursor, Claude Desktop, Windsurf, and any MCP-compatible tool.
|
|
13
|
-
|
|
14
|
-
### Added
|
|
15
|
-
|
|
16
|
-
#### Core Features
|
|
17
|
-
- **Persistent Memory** — `brain_write_engram` / `brain_query_engrams` for storing and retrieving knowledge
|
|
18
|
-
- **Audit Trail** — Immutable event log with SHA-256 integrity (`brain_audit_log`)
|
|
19
|
-
- **State Management** — `brain_get_state` / `brain_set_state` for project context
|
|
20
|
-
|
|
21
|
-
#### Multi-Agent Sync
|
|
22
|
-
- **Cross-Platform Sync** — One brain shared across Cursor, Claude Desktop, Windsurf
|
|
23
|
-
- **Agent Identity** — `brain_identify_agent` for tracking which agent is active
|
|
24
|
-
- **Manual Sync** — `brain_sync_now` to trigger immediate synchronization
|
|
25
|
-
- **Sync Status** — `brain_sync_status` to view sync state and active agents
|
|
26
|
-
|
|
27
|
-
#### Hypervisor (Security)
|
|
28
|
-
- **File Locking** — `lock_resource` / `unlock_resource` with immutable flags
|
|
29
|
-
- **Resource Watching** — `watch_resource` for monitoring file changes
|
|
30
|
-
- **Security Status** — `hypervisor_status` for system security overview
|
|
31
|
-
|
|
32
|
-
#### CLI Tools
|
|
33
|
-
- **Smart Init** — `nucleus-init` auto-configures Claude Desktop, Cursor, and Windsurf
|
|
34
|
-
- **Brain Structure** — Creates `.brain/` folder with proper structure
|
|
35
|
-
|
|
36
|
-
#### Developer Experience
|
|
37
|
-
- MIT License — Fully open source
|
|
38
|
-
- MCP Compatible — Works with any MCP-compatible client
|
|
39
|
-
- Local-First — Your data stays on your machine
|
|
40
|
-
- Zero Cloud Dependencies — No accounts, no telemetry
|
|
41
|
-
|
|
42
|
-
### Technical Details
|
|
43
|
-
- Python 3.10+ required
|
|
44
|
-
- FastMCP integration for MCP protocol
|
|
45
|
-
- Watchdog for file monitoring
|
|
46
|
-
- Pydantic for data validation
|
|
47
|
-
|
|
48
|
-
---
|
|
49
|
-
|
|
50
|
-
## Future Roadmap
|
|
51
|
-
|
|
52
|
-
### [1.1.0] - Planned
|
|
53
|
-
- Auto-sync with file watcher
|
|
54
|
-
- Conflict resolution UI
|
|
55
|
-
- Session persistence improvements
|
|
56
|
-
|
|
57
|
-
### [1.2.0] - Planned
|
|
58
|
-
- Task management system
|
|
59
|
-
- Multi-agent orchestration
|
|
60
|
-
- Decision provenance (DSoR)
|
|
61
|
-
|
|
62
|
-
### [2.0.0] - Vision
|
|
63
|
-
- Peer-to-peer federation
|
|
64
|
-
- Enterprise SSO/RBAC
|
|
65
|
-
- Cloud sync option (opt-in)
|
package/CODE_OF_CONDUCT.md
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
# Contributor Covenant Code of Conduct
|
|
2
|
-
|
|
3
|
-
## Our Pledge
|
|
4
|
-
|
|
5
|
-
We as members, contributors, and leaders pledge to make participation in our
|
|
6
|
-
community a harassment-free experience for everyone, regardless of age, body
|
|
7
|
-
size, visible or invisible disability, ethnicity, sex characteristics, gender
|
|
8
|
-
identity and expression, level of experience, education, socio-economic status,
|
|
9
|
-
nationality, personal appearance, race, religion, or sexual identity
|
|
10
|
-
and orientation.
|
|
11
|
-
|
|
12
|
-
## Our Standards
|
|
13
|
-
|
|
14
|
-
Examples of behavior that contributes to a positive environment:
|
|
15
|
-
|
|
16
|
-
* Demonstrating empathy and kindness toward other people
|
|
17
|
-
* Being respectful of differing opinions, viewpoints, and experiences
|
|
18
|
-
* Giving and gracefully accepting constructive feedback
|
|
19
|
-
* Accepting responsibility for mistakes and learning from them
|
|
20
|
-
* Focusing on what is best for the overall community
|
|
21
|
-
|
|
22
|
-
Examples of unacceptable behavior:
|
|
23
|
-
|
|
24
|
-
* Harassment, trolling, or personal attacks
|
|
25
|
-
* Publishing others private information without permission
|
|
26
|
-
* Other conduct which could reasonably be considered inappropriate
|
|
27
|
-
|
|
28
|
-
## Enforcement
|
|
29
|
-
|
|
30
|
-
Community leaders are responsible for clarifying and enforcing our standards.
|
|
31
|
-
|
|
32
|
-
## Attribution
|
|
33
|
-
|
|
34
|
-
This Code of Conduct is adapted from the Contributor Covenant, version 2.0.
|
package/COMPARISON.md
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# Nucleus-MCP vs. ContextStream 🧠
|
|
2
|
-
|
|
3
|
-
When choosing a memory layer for your AI agents, the fundamental question is: **Where does your project's soul live?**
|
|
4
|
-
|
|
5
|
-
| Feature | Nucleus-MCP | ContextStream |
|
|
6
|
-
| :--- | :--- | :--- |
|
|
7
|
-
| **Philosophy** | **Protocol Level.** Lives inside your tools. | **Platform Level.** Lives on a separate portal. |
|
|
8
|
-
| **Data Ownership** | **Local-First.** Engrams never leave your disk. | **Cloud-Centric.** Managed on their servers. |
|
|
9
|
-
| **Friction** | **Zero.** `pip install` and you're syncing. | **Moderate.** Requires account and platform setup. |
|
|
10
|
-
| **Security** | **Hypervisor Hard-Locks.** L1-L4 safety. | **Managed Guardrails.** Enterprise-policy based. |
|
|
11
|
-
| **IDE Support** | Native (Cursor, Windsurf, VS Code). | Extension/Portal based. |
|
|
12
|
-
| **Governance** | Cryptographic Interaction Ledger. | Dashboards & Reports. |
|
|
13
|
-
|
|
14
|
-
### Why serious engineers choose Nucleus:
|
|
15
|
-
|
|
16
|
-
1. **Sovereignty is Binary**: ContextStream asks you to trust their cloud with your architectural secrets. Nucleus doesn't ask for trust—it gives you the keys.
|
|
17
|
-
2. **Horizontal Interconnect**: We don't want to be your IDE. We make your existing IDEs (Cursor and Windsurf) talk to each other.
|
|
18
|
-
3. **Hard-Tech Governance**: While others show you a "dashboard" of what the agent did, Nucleus provides a **cryptographically signed ledger** of every decision, enforced by a Hypervisor.
|
|
19
|
-
|
|
20
|
-
**Verdict**: Choose **ContextStream** if you want a collaborative SaaS portal for your team. Choose **Nucleus-MCP** if you want a sovereign, local-first engine that gives your personal agent a permanent, secure brain.
|
package/CONTRIBUTING.md
DELETED
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
# Contributing to Nucleus MCP
|
|
2
|
-
|
|
3
|
-
Thank you for your interest in contributing to Nucleus MCP - The Universal Brain for AI Agents.
|
|
4
|
-
|
|
5
|
-
## We're Open Source! 🎉
|
|
6
|
-
|
|
7
|
-
Nucleus is fully open source under the MIT license. We welcome contributions of all kinds:
|
|
8
|
-
|
|
9
|
-
- ✅ **Bug Reports**: Via GitHub Issues
|
|
10
|
-
- ✅ **Feature Requests**: Via GitHub Discussions
|
|
11
|
-
- ✅ **Code Contributions**: Via Pull Requests
|
|
12
|
-
- ✅ **Documentation**: Improvements always welcome
|
|
13
|
-
- ✅ **Integrations**: Add support for new AI tools
|
|
14
|
-
|
|
15
|
-
## How to Contribute
|
|
16
|
-
|
|
17
|
-
### 1. Bug Reports
|
|
18
|
-
|
|
19
|
-
Found a bug? Please open a GitHub Issue with:
|
|
20
|
-
|
|
21
|
-
- **Environment**: Python version, OS, MCP client (Claude/Cursor/Windsurf)
|
|
22
|
-
- **Steps to Reproduce**: Minimal example
|
|
23
|
-
- **Expected Behavior**: What should happen
|
|
24
|
-
- **Actual Behavior**: What actually happens
|
|
25
|
-
- **Logs**: Relevant error messages (sanitize sensitive data)
|
|
26
|
-
|
|
27
|
-
### 2. Feature Requests
|
|
28
|
-
|
|
29
|
-
Have an idea? Open a GitHub Discussion with:
|
|
30
|
-
|
|
31
|
-
- **Problem Statement**: What problem does this solve?
|
|
32
|
-
- **Proposed Solution**: How would you implement it?
|
|
33
|
-
- **Alternatives Considered**: What else did you consider?
|
|
34
|
-
- **Use Cases**: Who benefits from this?
|
|
35
|
-
|
|
36
|
-
### 3. Code Contributions
|
|
37
|
-
|
|
38
|
-
#### Good First Issues
|
|
39
|
-
|
|
40
|
-
Look for issues labeled `good-first-issue` - these are ideal for new contributors:
|
|
41
|
-
- Documentation improvements
|
|
42
|
-
- Small bug fixes
|
|
43
|
-
- Test coverage additions
|
|
44
|
-
- New integration examples
|
|
45
|
-
|
|
46
|
-
#### Development Setup
|
|
47
|
-
|
|
48
|
-
```bash
|
|
49
|
-
# Clone the repo
|
|
50
|
-
git clone https://github.com/eidetic-works/nucleus-mcp.git
|
|
51
|
-
cd nucleus-mcp
|
|
52
|
-
|
|
53
|
-
# Create virtual environment
|
|
54
|
-
python3 -m venv venv
|
|
55
|
-
source venv/bin/activate
|
|
56
|
-
|
|
57
|
-
# Install in development mode
|
|
58
|
-
pip install -e ".[dev]"
|
|
59
|
-
|
|
60
|
-
# Run tests
|
|
61
|
-
pytest tests/
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
#### Pull Request Process
|
|
65
|
-
|
|
66
|
-
1. Fork the repository
|
|
67
|
-
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
|
|
68
|
-
3. Make your changes
|
|
69
|
-
4. Add tests for new functionality
|
|
70
|
-
5. Ensure all tests pass (`pytest tests/`)
|
|
71
|
-
6. Run linting (`ruff check src/`)
|
|
72
|
-
7. Commit with clear messages
|
|
73
|
-
8. Push to your fork
|
|
74
|
-
9. Open a Pull Request
|
|
75
|
-
|
|
76
|
-
#### PR Review Criteria
|
|
77
|
-
|
|
78
|
-
- [ ] Tests pass
|
|
79
|
-
- [ ] Code follows existing style
|
|
80
|
-
- [ ] Documentation updated if needed
|
|
81
|
-
- [ ] No breaking changes (or clearly documented)
|
|
82
|
-
|
|
83
|
-
### 4. Documentation
|
|
84
|
-
|
|
85
|
-
Documentation improvements are always welcome:
|
|
86
|
-
|
|
87
|
-
- Typo fixes
|
|
88
|
-
- Clarification of existing docs
|
|
89
|
-
- New examples or tutorials
|
|
90
|
-
- Integration guides for new tools
|
|
91
|
-
|
|
92
|
-
## Code of Conduct
|
|
93
|
-
|
|
94
|
-
### Be Respectful
|
|
95
|
-
- Treat everyone with respect
|
|
96
|
-
- No harassment, discrimination, or personal attacks
|
|
97
|
-
- Assume good intent
|
|
98
|
-
|
|
99
|
-
### Be Constructive
|
|
100
|
-
- Provide actionable feedback
|
|
101
|
-
- Focus on the problem, not the person
|
|
102
|
-
- Celebrate successes
|
|
103
|
-
|
|
104
|
-
### Be Patient
|
|
105
|
-
- Maintainers are volunteers
|
|
106
|
-
- Response times may vary
|
|
107
|
-
- Quality over speed
|
|
108
|
-
|
|
109
|
-
## Security Vulnerabilities
|
|
110
|
-
|
|
111
|
-
**Do NOT report security vulnerabilities via public GitHub Issues.**
|
|
112
|
-
|
|
113
|
-
Instead, email: security@nucleusos.dev
|
|
114
|
-
|
|
115
|
-
Include:
|
|
116
|
-
- Detailed description of the vulnerability
|
|
117
|
-
- Steps to reproduce
|
|
118
|
-
- Potential impact
|
|
119
|
-
- Any suggested fixes
|
|
120
|
-
|
|
121
|
-
We follow responsible disclosure and will credit researchers who report valid vulnerabilities.
|
|
122
|
-
|
|
123
|
-
## License
|
|
124
|
-
|
|
125
|
-
By contributing to Nucleus MCP, you agree that your contributions will be licensed under the MIT License.
|
|
126
|
-
|
|
127
|
-
## Questions?
|
|
128
|
-
|
|
129
|
-
- **General Questions**: GitHub Discussions
|
|
130
|
-
- **Bug Reports**: GitHub Issues
|
|
131
|
-
- **Security**: security@nucleusos.dev
|
|
132
|
-
|
|
133
|
-
---
|
|
134
|
-
|
|
135
|
-
*Thank you for helping make Nucleus better!*
|
|
136
|
-
|
|
137
|
-
*— The Nucleus Team*
|
package/DEVELOPMENT.md
DELETED
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
# Development Workflow
|
|
2
|
-
|
|
3
|
-
## Branch Strategy
|
|
4
|
-
|
|
5
|
-
```
|
|
6
|
-
main (protected)
|
|
7
|
-
└── dev (integration branch)
|
|
8
|
-
├── feature/xxx
|
|
9
|
-
└── fix/xxx
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
### Branches
|
|
13
|
-
|
|
14
|
-
| Branch | Purpose | Merges To |
|
|
15
|
-
|--------|---------|-----------|
|
|
16
|
-
| `main` | Production-ready, PyPI releases | - |
|
|
17
|
-
| `dev` | Integration, testing | `main` (via PR) |
|
|
18
|
-
| `feature/*` | New features | `dev` (via PR) |
|
|
19
|
-
| `fix/*` | Bug fixes | `dev` (via PR) |
|
|
20
|
-
|
|
21
|
-
## Development Setup
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
# Clone
|
|
25
|
-
git clone https://github.com/eidetic-works/nucleus-mcp.git
|
|
26
|
-
cd nucleus-mcp
|
|
27
|
-
|
|
28
|
-
# Create dev branch (if not exists)
|
|
29
|
-
git checkout -b dev
|
|
30
|
-
git push -u origin dev
|
|
31
|
-
|
|
32
|
-
# Create feature branch
|
|
33
|
-
git checkout dev
|
|
34
|
-
git pull origin dev
|
|
35
|
-
git checkout -b feature/my-feature
|
|
36
|
-
|
|
37
|
-
# Work on feature...
|
|
38
|
-
git add .
|
|
39
|
-
git commit -m "feat: description"
|
|
40
|
-
git push -u origin feature/my-feature
|
|
41
|
-
|
|
42
|
-
# Create PR to dev branch
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
## Local Testing
|
|
46
|
-
|
|
47
|
-
```bash
|
|
48
|
-
# Create virtual environment
|
|
49
|
-
python3 -m venv .venv
|
|
50
|
-
source .venv/bin/activate
|
|
51
|
-
|
|
52
|
-
# Install in development mode
|
|
53
|
-
pip install -e ".[dev]"
|
|
54
|
-
|
|
55
|
-
# Run tests
|
|
56
|
-
pytest tests/ -v
|
|
57
|
-
|
|
58
|
-
# Type checking
|
|
59
|
-
mypy src/
|
|
60
|
-
|
|
61
|
-
# Linting
|
|
62
|
-
ruff check src/
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
## Release Process
|
|
66
|
-
|
|
67
|
-
1. Ensure all features merged to `dev`
|
|
68
|
-
2. Create PR from `dev` → `main`
|
|
69
|
-
3. Review and merge
|
|
70
|
-
4. Tag release: `git tag v1.x.x && git push --tags`
|
|
71
|
-
5. Publish to PyPI:
|
|
72
|
-
```bash
|
|
73
|
-
python -m build
|
|
74
|
-
twine upload dist/*
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
## Internal Work Separation
|
|
78
|
-
|
|
79
|
-
### What Goes in This Repo (PUBLIC)
|
|
80
|
-
- Core MCP server code (`src/`)
|
|
81
|
-
- Tests (`tests/`)
|
|
82
|
-
- Examples (`examples/`)
|
|
83
|
-
- Public documentation (`docs/DEMO_SCRIPT.md`)
|
|
84
|
-
- Standard files (README, LICENSE, etc.)
|
|
85
|
-
|
|
86
|
-
### What Stays Local (NEVER COMMIT)
|
|
87
|
-
- Launch strategy docs (keep in a separate local folder, NOT in this repo)
|
|
88
|
-
- Internal roadmaps
|
|
89
|
-
- GTM documents
|
|
90
|
-
- Outreach plans
|
|
91
|
-
- Any `.md` matching patterns in `.gitignore`
|
|
92
|
-
|
|
93
|
-
## Pre-Push Checklist
|
|
94
|
-
|
|
95
|
-
```bash
|
|
96
|
-
# Before pushing, always verify:
|
|
97
|
-
git status # No unwanted files staged
|
|
98
|
-
git diff --cached --name-only # Review what's being committed
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
## Protected Files (via .gitignore)
|
|
102
|
-
|
|
103
|
-
The following patterns are blocked from commits:
|
|
104
|
-
- `docs/*LAUNCH*.md`
|
|
105
|
-
- `docs/*STRATEGY*.md`
|
|
106
|
-
- `*_INTERNAL.md`
|
|
107
|
-
- `*_PRIVATE.md`
|
|
108
|
-
- `GTM*.md`
|
|
109
|
-
- `OUTREACH*.md`
|
package/LICENSE
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2025 Nucleus Team
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
package/README.md
DELETED
|
@@ -1,319 +0,0 @@
|
|
|
1
|
-
# 🧠 Nucleus MCP
|
|
2
|
-
|
|
3
|
-
[](https://pypi.org/project/nucleus-mcp/)
|
|
4
|
-
[](https://opensource.org/licenses/MIT)
|
|
5
|
-
[](https://modelcontextprotocol.io)
|
|
6
|
-
[](https://www.python.org/downloads/)
|
|
7
|
-
|
|
8
|
-
> [!CAUTION]
|
|
9
|
-
> **After the [OpenClaw security crisis](https://www.youtube.com/watch?v=ceEUO_i7aW4) (1.5M API keys leaked, sleeper agents in skills), agent security is no longer optional.**
|
|
10
|
-
> Nucleus was built security-first: Hypervisor controls, resource locking, and full audit trails — all 100% local.
|
|
11
|
-
|
|
12
|
-
> **The Sovereign Brain** — Cross-platform AI memory that never leaves your machine. Syncs Cursor, Claude Desktop, Windsurf, and any MCP-compatible tool.
|
|
13
|
-
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
## 🎯 The Problem
|
|
17
|
-
|
|
18
|
-
You use **multiple AI tools** daily:
|
|
19
|
-
- **Cursor** for coding
|
|
20
|
-
- **Claude Desktop** for thinking
|
|
21
|
-
- **Windsurf** for exploration
|
|
22
|
-
- **ChatGPT** for quick reasoning
|
|
23
|
-
|
|
24
|
-
**But they don't share memory. (Until now).**
|
|
25
|
-
|
|
26
|
-
Every time you switch tools, you lose context. You re-explain decisions. You repeat yourself constantly.
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
### ✨ The Solution
|
|
31
|
-
|
|
32
|
-
**Nucleus syncs them with one brain.**
|
|
33
|
-
|
|
34
|
-
```
|
|
35
|
-
Tell Claude about a decision → Cursor knows it
|
|
36
|
-
Make a plan in Windsurf → Claude remembers it
|
|
37
|
-
One brain. All your tools.
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-

|
|
41
|
-
|
|
42
|
-
> [!TIP]
|
|
43
|
-
> **See the "Recursive Snap" in action**: Nucleus mounts your entire tool mesh (Stripe, Search, Postgres) into a single governed parent instantly.
|
|
44
|
-
|
|
45
|
-
---
|
|
46
|
-
|
|
47
|
-
## 🚀 What Makes Nucleus Different
|
|
48
|
-
|
|
49
|
-
| Feature | Other Solutions | Nucleus |
|
|
50
|
-
|---------|-----------------|---------|
|
|
51
|
-
| **Cross-Platform Sync** | Single platform only | ✅ Syncs ALL your AI tools |
|
|
52
|
-
| **Sovereignty** | Cloud-dependent | ✅ 100% local, your data stays on your machine |
|
|
53
|
-
| **Protocol** | Proprietary | ✅ MCP standard (Anthropic-backed) |
|
|
54
|
-
| **Security** | Often misconfigured | ✅ Secure by default, audit logs included |
|
|
55
|
-
| **Lock-in** | Platform-specific | ✅ MIT license, open standard |
|
|
56
|
-
|
|
57
|
-
---
|
|
58
|
-
|
|
59
|
-
## ⚡ Quick Start (2 Minutes)
|
|
60
|
-
|
|
61
|
-
### 1. Install
|
|
62
|
-
|
|
63
|
-
```bash
|
|
64
|
-
pip install nucleus-mcp
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
### 2. Initialize
|
|
68
|
-
|
|
69
|
-
```bash
|
|
70
|
-
nucleus-init --scan
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
This creates your `.brain/` folder, auto-configures Claude Desktop, and **automatically ingests your README.md** to seed the brain with initial context.
|
|
74
|
-
|
|
75
|
-
### 3. Restart Claude Desktop
|
|
76
|
-
|
|
77
|
-
Then try:
|
|
78
|
-
> "What decisions have we made about the architecture?"
|
|
79
|
-
|
|
80
|
-
Claude will now remember across sessions!
|
|
81
|
-
|
|
82
|
-
---
|
|
83
|
-
|
|
84
|
-
## 🔧 Manual Configuration
|
|
85
|
-
|
|
86
|
-
### Claude Desktop
|
|
87
|
-
|
|
88
|
-
Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS):
|
|
89
|
-
|
|
90
|
-
```json
|
|
91
|
-
{
|
|
92
|
-
"mcpServers": {
|
|
93
|
-
"nucleus": {
|
|
94
|
-
"command": "python3",
|
|
95
|
-
"args": ["-m", "mcp_server_nucleus"],
|
|
96
|
-
"env": {
|
|
97
|
-
"NUCLEAR_BRAIN_PATH": "/path/to/your/project/.brain"
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
### Cursor
|
|
105
|
-
|
|
106
|
-
Add to `~/.cursor/mcp.json`:
|
|
107
|
-
|
|
108
|
-
```json
|
|
109
|
-
{
|
|
110
|
-
"mcpServers": {
|
|
111
|
-
"nucleus": {
|
|
112
|
-
"command": "python3",
|
|
113
|
-
"args": ["-m", "mcp_server_nucleus"],
|
|
114
|
-
"env": {
|
|
115
|
-
"NUCLEAR_BRAIN_PATH": "/path/to/your/project/.brain"
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
### Windsurf
|
|
123
|
-
|
|
124
|
-
Add to `~/.codeium/windsurf/mcp_config.json`:
|
|
125
|
-
|
|
126
|
-
```json
|
|
127
|
-
{
|
|
128
|
-
"mcpServers": {
|
|
129
|
-
"nucleus": {
|
|
130
|
-
"command": "python3",
|
|
131
|
-
"args": ["-m", "mcp_server_nucleus"],
|
|
132
|
-
"env": {
|
|
133
|
-
"NUCLEAR_BRAIN_PATH": "/path/to/your/project/.brain"
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
### ChatGPT (Web)
|
|
141
|
-
|
|
142
|
-
1. Go to **Settings** → **Apps** → **Advanced** → **Developer Mode**.
|
|
143
|
-
2. Run the Nucleus SSE Bridge: `python scripts/sse_bridge.py`.
|
|
144
|
-
3. Add `http://localhost:8000/sse` as your MCP endpoint.
|
|
145
|
-
|
|
146
|
-
See the [Community FAQ](docs/COMMUNITY_FAQ.md) for more details.
|
|
147
|
-
|
|
148
|
-
---
|
|
149
|
-
|
|
150
|
-
## 🛠 Core Tools
|
|
151
|
-
|
|
152
|
-
### Memory
|
|
153
|
-
| Tool | Description |
|
|
154
|
-
|------|-------------|
|
|
155
|
-
| `brain_write_engram` | Store persistent knowledge |
|
|
156
|
-
| `brain_query_engrams` | Retrieve knowledge |
|
|
157
|
-
| `brain_audit_log` | View decision history |
|
|
158
|
-
|
|
159
|
-
### Sync (Multi-Agent)
|
|
160
|
-
| Tool | Description |
|
|
161
|
-
|------|-------------|
|
|
162
|
-
| `brain_sync_now` | Manually trigger brain sync |
|
|
163
|
-
| `brain_sync_status` | Check sync state and conflicts |
|
|
164
|
-
| `brain_sync_auto` | Enable/disable auto-sync |
|
|
165
|
-
| `brain_identify_agent` | Register agent identity |
|
|
166
|
-
|
|
167
|
-
### State Management
|
|
168
|
-
| Tool | Description |
|
|
169
|
-
|------|-------------|
|
|
170
|
-
| `brain_get_state` | Get current project state |
|
|
171
|
-
| `brain_set_state` | Update project state |
|
|
172
|
-
| `brain_list_artifacts` | List all artifacts |
|
|
173
|
-
|
|
174
|
-
### Hypervisor (Security)
|
|
175
|
-
| Tool | Description |
|
|
176
|
-
|------|-------------|
|
|
177
|
-
| `lock_resource` | Lock file/folder (immutable) |
|
|
178
|
-
| `unlock_resource` | Unlock resource |
|
|
179
|
-
| `watch_resource` | Monitor file changes |
|
|
180
|
-
| `hypervisor_status` | View security state |
|
|
181
|
-
|
|
182
|
-
---
|
|
183
|
-
|
|
184
|
-
## 🔄 Multi-Agent Sync (The Killer Feature)
|
|
185
|
-
|
|
186
|
-
**Multiple agents, one brain.**
|
|
187
|
-
|
|
188
|
-
```python
|
|
189
|
-
# Agent A (Claude Desktop) makes a decision
|
|
190
|
-
brain_sync_now() # Syncs to shared .brain/
|
|
191
|
-
|
|
192
|
-
# Agent B (Cursor) automatically sees it
|
|
193
|
-
brain_sync_status() # Shows last sync, active agents
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
**Features:**
|
|
197
|
-
- **Intent-Aware Locking** — Files locked with WHO/WHEN/WHY metadata
|
|
198
|
-
- **Conflict Detection** — Last-write-wins with manual resolution option
|
|
199
|
-
- **Auto-Sync** — Optional file watcher for real-time sync
|
|
200
|
-
- **Audit Trail** — Every sync logged to `events.jsonl`
|
|
201
|
-
|
|
202
|
-
---
|
|
203
|
-
|
|
204
|
-
## ⚔️ Comparison: Nucleus vs Alternatives
|
|
205
|
-
|
|
206
|
-
| | OpenClaw | Claude Code | Nucleus |
|
|
207
|
-
|---|----------|-------------|---------|
|
|
208
|
-
| **What it syncs** | OpenClaw → OpenClaw | Claude → Claude | **Everything ↔ Everything** |
|
|
209
|
-
| **Security** | ❌ Sleeper agents, key leaks | ⚠️ Cloud-managed | ✅ Hypervisor + audit trail |
|
|
210
|
-
| **Cross-platform** | ❌ | ❌ | ✅ |
|
|
211
|
-
| **Local-first** | ⚠️ Some cloud | ⚠️ Some cloud | ✅ 100% local |
|
|
212
|
-
| **Identity Persistence** | ❌ Session-bound | ❌ Login-bound | ✅ Hypervisor-enforced |
|
|
213
|
-
| **MCP Native** | ❌ Custom protocol | ⚠️ Limited | ✅ Full MCP |
|
|
214
|
-
| **Open Source** | ✅ MIT | ❌ Closed | ✅ MIT |
|
|
215
|
-
|
|
216
|
-
---
|
|
217
|
-
|
|
218
|
-
## 🔗 Technical Deep Dives
|
|
219
|
-
|
|
220
|
-
* **Forensics**: [How we trace agent intent at the kernel level](https://dev.to/nucleusos/how-i-synced-cursor-claude-and-windsurf-with-one-shared-brain-mcp-1mh4)
|
|
221
|
-
* **Philosophy**: [Why we abandoned cloud memory for local sovereignty](https://dev.to/nucleusos/why-we-abandoned-cloud-memory-for-local-sovereignty-5bbo)
|
|
222
|
-
|
|
223
|
-
**OpenClaw is great for multi-agent teams on their platform.**
|
|
224
|
-
**OpenClaw trades security for capability. Nucleus gives you both.**
|
|
225
|
-
|
|
226
|
-
> [!TIP]
|
|
227
|
-
> **Check out the [Detailed Comparison](docs/COMPETITIVE_ANALYSIS.md)** to see how Nucleus stacks up against ContextStream and other alternatives.
|
|
228
|
-
|
|
229
|
-
---
|
|
230
|
-
|
|
231
|
-
## 📁 The `.brain/` Folder
|
|
232
|
-
|
|
233
|
-
Nucleus stores everything in a `.brain/` folder in your project:
|
|
234
|
-
|
|
235
|
-
```
|
|
236
|
-
.brain/
|
|
237
|
-
├── config/
|
|
238
|
-
│ └── nucleus.yaml # Configuration
|
|
239
|
-
├── ledger/
|
|
240
|
-
│ ├── state.json # Current state
|
|
241
|
-
│ ├── events.jsonl # Audit log
|
|
242
|
-
│ └── decisions.md # Decision history
|
|
243
|
-
├── artifacts/
|
|
244
|
-
│ └── ... # Your stored knowledge
|
|
245
|
-
└── sessions/
|
|
246
|
-
└── ... # Saved sessions
|
|
247
|
-
```
|
|
248
|
-
|
|
249
|
-
**Your data. Your machine. Your control.**
|
|
250
|
-
|
|
251
|
-
---
|
|
252
|
-
|
|
253
|
-
## 🤝 Contributing
|
|
254
|
-
|
|
255
|
-
We're building the universal brain for AI agents. Join us!
|
|
256
|
-
|
|
257
|
-
- **🐛 Found a bug?** Open an [Issue](https://github.com/eidetic-works/nucleus-mcp/issues)
|
|
258
|
-
- **💡 Feature idea?** Start a [Discussion](https://github.com/eidetic-works/nucleus-mcp/discussions)
|
|
259
|
-
- **🔧 Want to contribute?** See [CONTRIBUTING.md](CONTRIBUTING.md)
|
|
260
|
-
|
|
261
|
-
### ✨ Pioneers & Contributors
|
|
262
|
-
|
|
263
|
-
Nucleus is a community-first project. A special thank you to our first contributor for setting the standard:
|
|
264
|
-
|
|
265
|
-
- **[@aryasadawrate19](https://github.com/aryasadawrate19)** — Added Linux XDG support for `nucleus-init`, bringing Nucleus to the Linux ecosystem.
|
|
266
|
-
|
|
267
|
-
*Want to be here? See [CONTRIBUTING.md](CONTRIBUTING.md) and claim a "Good First Issue".*
|
|
268
|
-
|
|
269
|
-
### Development Setup
|
|
270
|
-
|
|
271
|
-
```bash
|
|
272
|
-
git clone https://github.com/eidetic-works/nucleus-mcp.git
|
|
273
|
-
cd nucleus-mcp
|
|
274
|
-
python3 -m venv venv
|
|
275
|
-
source venv/bin/activate
|
|
276
|
-
pip install -e ".[dev]"
|
|
277
|
-
pytest tests/
|
|
278
|
-
```
|
|
279
|
-
|
|
280
|
-
## 🏢 Enterprise
|
|
281
|
-
|
|
282
|
-
Nucleus is built for organizations that cannot compromise on data sovereignty:
|
|
283
|
-
|
|
284
|
-
- **Air-Gap Ready**: Deploy in fully disconnected environments
|
|
285
|
-
- **Compliance First**: Full audit trail, SHA-256 hashing, ITAR/SOC2 ready
|
|
286
|
-
- **Team Sync**: Git-based knowledge sharing (coming soon)
|
|
287
|
-
|
|
288
|
-
📄 **[Enterprise Guide](docs/ENTERPRISE.md)** | 📊 **[Competitive Analysis](docs/COMPETITIVE_ANALYSIS.md)**
|
|
289
|
-
|
|
290
|
-
**Contact**: [enterprise@nucleusos.dev](mailto:enterprise@nucleusos.dev)
|
|
291
|
-
|
|
292
|
-
---
|
|
293
|
-
|
|
294
|
-
## 🛡️ Join the Nucleus Vanguard (Private Beta)
|
|
295
|
-
|
|
296
|
-
We're building the first secure sync layer for agents. Join our Vanguard Pioneers to help shape the roadmap and get early access to features before they go public.
|
|
297
|
-
|
|
298
|
-
**[Join the Nucleus Vanguard (Discord)](https://discord.gg/RJuBNNJ5MT)** | **[Visit Website](https://nucleusos.dev)**
|
|
299
|
-
|
|
300
|
-
> [!TIP]
|
|
301
|
-
> The Vanguard is currently open for early adopters. Introduce yourself in the `#welcome-start` channel to claim your **Vanguard Pioneer** role and join the inner circle.
|
|
302
|
-
|
|
303
|
-
---
|
|
304
|
-
|
|
305
|
-
## 📜 License
|
|
306
|
-
|
|
307
|
-
MIT © Nucleus Team
|
|
308
|
-
|
|
309
|
-
---
|
|
310
|
-
|
|
311
|
-
## ⭐ Support
|
|
312
|
-
|
|
313
|
-
**Star us on GitHub if Nucleus saves you from context amnesia!**
|
|
314
|
-
|
|
315
|
-
One brain. All your AI tools. No more repeating yourself.
|
|
316
|
-
|
|
317
|
-
---
|
|
318
|
-
|
|
319
|
-
*Built for the AI-native developer.*
|