knoten
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@knotenhas anyone tried self-consistency?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Every idea you test is a markdown file in git, marked alive, dead or retracted. A dead one carries the reason it died, the condition that would bring it back, and the script that killed it. Nothing is deleted and nothing is overwritten: a correction is a new node that supersedes the old one, so six months later the graph can tell you not just what you believe but what you already ruled out and why.
It exists because research loops forget, whether they are run by a human or an agent.
They re-propose an idea that was settled last month under a different name, and they file
the wins while the failures evaporate. knoten makes the failure the artifact: a claim
cannot be marked alive unless it cites a test it survived, and a dead end has to say what
would reopen it. Your graph declares its own rules in graph.yaml; the tool enforces them
and knows nothing else about your field.
The point is to run it before the work, not after. knoten frontier says what is worth
doing next, knoten index says whether it has been tried in different words, and
knoten gates says what the result will have to survive. Used the other way round, as a
place to file results once they exist, it is a tidy record that changes no decision.
A node
---
id: hyp-self-consistency
type: hypothesis
status: dead
cause: weak_baseline
links:
- {rel: kn:killedByGate, to: gate-compute-matched-baseline}
repro:
script: experiments/self_consistency.py
model: Qwen3-8B-Instruct
data: GSM8K test, 1319 questions
cmd: python experiments/self_consistency.py --n 5 --temp 0.7
results:
acc_greedy: 0.741
acc_self_consistency: 0.792
acc_compute_matched_baseline: 0.788
tokens_per_question: 1420
n_independent: 1319
---
# Self-consistency (sample 5, majority vote) beats greedy decoding
## Verdict: DEAD
Sampling 5 chains and taking the majority scored 79.2% vs 74.1% greedy. +5.1 points.
It looked like a free win.
## Why it died
It is not free. It costs **5x the tokens**, and given the same budget a longer-CoT
baseline reaches **78.8%**. The entire gain was compute, not method.
```python
# reproduce the kill:
python experiments/self_consistency.py --n 5 --compare compute_matched
```
## What would reopen this
A task where the majority-vote *aggregation* does real work, i.e. where the gain
survives a compute-matched baseline. Plausible for code execution or theorem proving.
GSM8K is not that task.Related MCP server: hive-memory
The loop
pip install -e .
knoten init my-topic # a graph is a folderknoten frontier # what should I work on next?
knoten index --tag decoding # anything LIKE this been tried?
knoten query self-consistency # ...or by keyword, if it has a name
knoten show hyp-self-consistency
knoten gates # what must a claim survive here?
knoten new hypothesis hyp-idea # scaffolded from this graph's rules
knoten commit hyp-idea --frontmatter fm --body b # gate-checked before it touches disk
knoten update hyp-idea --status dead --append post-mortem.md --field cause=weak_baseline
knoten attach hyp-idea run.py accuracy.png # the code and the plot
knoten validate # enforce this graph's rules
knoten hook # make `git commit` refuse a broken graph
knoten viz --open # the whole graph as one HTML fileEvery read command takes --json. Exit 0 succeeded, 1 refused, and a refusal is the
feature: read it, fix the node, run it again.
Rules are data
rules:
- id: live-claims-must-cite-their-gates
when_status: alive
when_type: hypothesis, finding
require_edge: kn:survivedGate
message: An unchallenged claim is not a finding, it is a hope.
- id: deaths-must-name-a-cause
when_status: dead
require_field_one_of:
cause: [no_signal, cost_hurdle, weak_baseline, underpowered, crowding_decay]
message: A cause of death you cannot filter on is a story, not an index.The first is the safety mechanism: a good-looking result that was never checked cannot quietly become a finding. The second is what makes a dead end reusable. Once the cause is a field rather than a sentence, the question you ask six months later is a query:
knoten index --where cause=weak_baseline # we have a stronger baseline now. what reopens?Your graph declares its vocabulary the same way, and typos in it are violations rather than new types:
node_types:
question: what this graph exists to answer, be it a question, statement or task
source: where the work came from, such as a paper, dataset or your own intuition
hypothesis: a falsifiable claim derived from an idea
gate: a standing rule every claim must survive; a bar, not a stage
statuses: [open, alive, dead, retracted, superseded, active]
tags: [decoding, reasoning, prompting, evaluation]For agents
SKILL.md is how a coding agent learns knoten. Point Claude Code, or
anything with a shell, at it. It teaches the loop above, which types of node a graph holds
and which way an edge points.
See examples/llm-research/ for a worked graph and
SPEC.md for the design and the evidence behind it.
MIT. One dependency: PyYAML. No framework, no database, no build step.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Shared long-term memory for AI agents: save and recall context as a searchable knowledge graph.
Shared memory for coding agents. Stop re-explaining your codebase every session.
Give your AI agent a persistent map of your project's structure, dependencies, and bugs.
Persistent memory and knowledge graphs for AI agents. Hybrid search, context checkpoints, and more.
Related MCP Servers
FlicenseNot gradedqualityDmaintenanceProvides persistent long-term memory for AI coding agents by storing entities, relations, and observations across different sessions. It enables users to manage and query structured knowledge like coding preferences, project patterns, and technical solutions via a graph-based storage system.1-- AlicenseNot gradedqualityCmaintenanceProvides AI coding agents with persistent, graph-connected memory across projects, enabling cross-project context retrieval via synaptic connections and hybrid search.156MIT
- AlicenseNot gradedqualityDmaintenanceEnables persistent memory for AI coding agents, allowing them to remember people, decisions, and context across sessions through a knowledge graph and automated briefings.15MIT
- AlicenseNot gradedqualityAmaintenanceProvides persistent memory for coding agents and grounds their claims by verifying against the actual codebase, preventing hallucinated responses.506Apache 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/BY571/knoten'
If you have feedback or need assistance with the MCP directory API, please join our Discord server