MCP server powered by the Nodus orchestration runtime
Project description
nodus-mcp-server
An MCP (Model Context Protocol) server that exposes the Nodus orchestration runtime as tools for Claude Desktop and other MCP-compatible hosts.
What it does
Six tools over a single server process:
| Tool | Description |
|---|---|
nodus.remember |
Store a fact in persistent SQLite memory with optional tags |
nodus.recall |
Search memory by free-text query and/or tags |
nodus.forget |
Delete a memory entry by ID |
nodus.run_goal |
Run a Nodus goal (sandboxed, structured step results) |
nodus.run_workflow |
Run a Nodus workflow (checkpoint/resume capable) |
nodus.exec |
Execute arbitrary .nd code (10 s timeout, no file I/O) |
Requirements
- Python ≥ 3.10
nodus-lang >= 4.0.4nodus-mcp >= 0.1.0
Install
pip install nodus-lang nodus-mcp nodus-mcp-server
Claude Desktop setup
Add to your claude_desktop_config.json:
{
"mcpServers": {
"nodus": {
"command": "nodus-mcp-server",
"args": ["--stdio"]
}
}
}
Restart Claude Desktop. The six nodus.* tools will appear in the tool list.
Memory persists at ~/.nodus-mcp-server/data/memory.db and survives upgrades.
HTTP mode
For remote or multi-client use:
nodus-mcp-server --http --port 8080
nodus-mcp-server --http --port 8080 --bearer-token <secret>
Built-in goals and workflows
Goals
summarize — params: {text: string}
Counts characters and classifies text size (short / medium / long).
{
"name": "summarize",
"params": {"text": "Your text here"}
}
Returns:
{
"steps": {
"measure": 14,
"classify": {"chars": 14, "size": "short", "empty": false}
}
}
pipeline — params: {items: list, label: string}
Validates an item list and produces a labelled report.
{
"name": "pipeline",
"params": {"items": [1, 2, 3], "label": "batch-1"}
}
Returns:
{
"steps": {
"validate": 3,
"report": {"label": "batch-1", "item_count": 3, "has_items": true, "status": "complete"}
}
}
Workflows
research — params: {topic: string}
Two-step planning + execution workflow with checkpoints at each step.
{
"name": "research",
"params": {"topic": "LLM context windows"}
}
Returns:
{
"steps": {
"plan": {"query": "LLM context windows", "strategy": "step-by-step"},
"execute": {"topic": "LLM context windows", "query": "LLM context windows", "strategy": "step-by-step", "status": "complete"}
}
}
Adding your own goals and workflows
Drop a .nd file into goals/ or workflows/. The file should only define the goal or workflow — do not call run_goal() or run_workflow() at the bottom (the server calls it for you).
// goals/my_goal.nd — input variable injected via params
goal my_goal {
step process {
let result = len(input_text)
return {"length": result, "has_content": result > 0i}
}
}
Then call it:
{"name": "my_goal", "params": {"input_text": "hello"}}
Sandbox
.nd scripts run with:
- No file system access (
allowed_paths=[]) - No network access
- Goal timeout: 30 s
- Workflow timeout: 60 s
nodus.exectimeout: 10 s
Architecture
server.py — NodusRuntime, tool registration, MCP transport
runner.py — goal/workflow execution via ModuleLoader + VM
memory_store.py — SQLite-backed thread-safe memory store
goals/ — .nd goal definitions
workflows/ — .nd workflow definitions
~/.nodus-mcp-server/data/memory.db — SQLite DB (persists across upgrades)
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nodus_mcp_server-0.1.6.tar.gz.
File metadata
- Download URL: nodus_mcp_server-0.1.6.tar.gz
- Upload date:
- Size: 14.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
22615c05160f7e443db97e5df211681756e5b60b423f85c2b78f984bf1b1ea46
|
|
| MD5 |
50f2605661abd11be846bfab661da178
|
|
| BLAKE2b-256 |
c8558ea971ac20f6df5ad9cbd98114ad15ccf1f7045f5807fdc04426fce161eb
|
File details
Details for the file nodus_mcp_server-0.1.6-py3-none-any.whl.
File metadata
- Download URL: nodus_mcp_server-0.1.6-py3-none-any.whl
- Upload date:
- Size: 14.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bfc3e5841c5e3a5737d577f12e27ce403e4d2fc94ce5f5da8178727ae80216d7
|
|
| MD5 |
eb41670cd2cc2c2a2135b106348e75d1
|
|
| BLAKE2b-256 |
8de1d1cceee77a808d224fdb986aa6a4b15c2631723cd0ed03f4ae66046c37d2
|