Summary
Research Kernel MCP is an MCP server that gives AI assistants a durable, evidence-first research memory. Instead of letting research vanish between sessions or hiding it inside a model's hidden reasoning traces, every claim, evidence record, refutation attempt, and reformulation is stored as a typed, queryable atom in a persistent graph. The model proposes; the kernel decides what is promoted.
What a reviewer should inspect first
README.md- design spec, tool surface, and boundaries.internal/research_kernel_mcp/kernel.py- the deterministic kernel: atom types, statuses, edge types, promotion gate, and SQLite persistence.internal/research_kernel_mcp/server.py- the MCP tool, resource, and prompt surface.tests/internal/test_research_kernel_mcp.py- the test suite covering start, atom add, link, retrieve, morph, refute, evidence, score, frontier, promote, and report.pytest.ini- focused test configuration.
Suggested 10-minute review script
Read the README, then open kernel.py and inspect ATOM_TYPES, STATUSES, EDGE_TYPES, and the promotion gate logic. Finally, run the self-test: .venv/bin/python internal/research_kernel_mcp/server.py --self-test.
Claim / evidence map
| Claim | Evidence to show | Status |
|---|---|---|
| Claim promotion is fail-closed: a claim cannot become SUPPORTED without support evidence, a refutation attempt, dependencies, provenance, and a rationale. | The rk_promote tool and the promotion gate in kernel.py; the test that confirms promotion fails when evidence is missing. |
Supported / bounded |
| Every state-changing operation is appended to an event log for replay and external ledger ingestion. | The events.jsonl append path in kernel.py; the test that confirms events are recorded. |
Supported / bounded |
| Artifacts are content-addressed by SHA-256 and restricted to allowlisted paths unless explicitly overridden. | The artifact storage logic in kernel.py; the RK_ARTIFACT_ALLOWLIST and RK_ALLOW_OUTSIDE_ARTIFACTS behavior. |
Supported / bounded |
| Actual counterexamples create a COUNTEREXAMPLE atom, add a REFUTES edge, and mark the target REFUTED. | The rk_refute tool with counterexample_is_actual=true; the corresponding test. |
Supported / bounded |
| The kernel is a complete research automation system ready for production deployment. | Would require deployment hardening, load testing, multi-user isolation, and external review. | Not claimed |
Limitations to state clearly
SUPPORTEDmeans the local gate passed. External publication or production posture still needs the relevant replay, review, and release gates.- Reformulations are candidate search objects until separately tested. They are not claims.
- The kernel stores research artifacts, evidence, and graph state. Hidden chain-of-thought stays outside the artifact store by design.
- SQLite persistence is durable for single-user and small-team use; multi-tenant deployment would need a different storage backend.