stifler-memex-mcp 0.8.0 → 0.9.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/README.md +52 -13
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,14 +1,20 @@
|
|
|
1
|
-
# memex —
|
|
1
|
+
# memex — trusted engineering context for agentic software engineering
|
|
2
2
|
|
|
3
3
|
<!-- mcp-name: io.github.STiFLeR7/memex -->
|
|
4
4
|
|
|
5
|
-
>
|
|
5
|
+
> A protocol-neutral engineering-context layer for AI coding agents. memex
|
|
6
|
+
> builds a bitemporal knowledge graph of your repository — modules, symbols,
|
|
7
|
+
> decisions, problems, evidence, and code evolution — and exposes bounded,
|
|
8
|
+
> provenance-aware context through Hermes MemoryProvider or MCP.
|
|
6
9
|
|
|
7
|
-
A daemon and MCP server that turns
|
|
10
|
+
A daemon and MCP server that turns commits and file changes into structured
|
|
11
|
+
engineering knowledge. Agents can receive relevant repository context before a
|
|
12
|
+
task, with freshness and provenance preserved, without making memex a source of
|
|
13
|
+
personal memory or raw session state.
|
|
8
14
|
|
|
9
|
-
[](https://pypi.org/project/memex-mcp/)
|
|
10
16
|
[](https://pypistats.org/packages/memex-mcp)
|
|
11
|
-
[](https://www.npmjs.com/package/stifler-memex-mcp)
|
|
12
18
|
[](https://www.npmjs.com/package/stifler-memex-mcp)
|
|
13
19
|
[](https://github.com/STiFLeR7/claude-plugins)
|
|
14
20
|
[](https://glama.ai/mcp/servers/STiFLeR7/memex)
|
|
@@ -24,9 +30,11 @@ A daemon and MCP server that turns every commit and every file change into struc
|
|
|
24
30
|
flowchart LR
|
|
25
31
|
A[Your repository<br/>files + git] --> B[memex watcher<br/>tree-sitter + Gemini]
|
|
26
32
|
B --> C[Neo4j graph<br/>bitemporal facts]
|
|
27
|
-
C --> D[
|
|
28
|
-
D --> E[
|
|
29
|
-
|
|
33
|
+
C --> D[memex core<br/>ContextPacket selection]
|
|
34
|
+
D --> E[Hermes MemoryProvider<br/>automatic read-only prefetch]
|
|
35
|
+
D --> F[MCP fallback<br/>explicit lookup]
|
|
36
|
+
E --> G[AI coding agent]
|
|
37
|
+
F --> G
|
|
30
38
|
|
|
31
39
|
style B fill:#cfe8ff,stroke:#0066cc,color:#000
|
|
32
40
|
style C fill:#fff4cf,stroke:#cc9900,color:#000
|
|
@@ -59,6 +67,30 @@ npx stifler-memex-mcp watch --repo .
|
|
|
59
67
|
npx stifler-memex-mcp serve --repo .
|
|
60
68
|
```
|
|
61
69
|
|
|
70
|
+
### Hermes integration
|
|
71
|
+
|
|
72
|
+
The v0.9 Hermes integration is read-only. Hermes retains personal memory, raw
|
|
73
|
+
session state, and execution state. memex supplies repository engineering
|
|
74
|
+
context through a bounded `ContextPacket`; it does not ingest Hermes
|
|
75
|
+
`state.db`, transcripts, prompts, or tool results.
|
|
76
|
+
|
|
77
|
+
Add the memex provider to Hermes' profile configuration:
|
|
78
|
+
|
|
79
|
+
```yaml
|
|
80
|
+
memory:
|
|
81
|
+
provider: memex
|
|
82
|
+
plugins:
|
|
83
|
+
memex:
|
|
84
|
+
repo_path: /absolute/path/to/repository
|
|
85
|
+
prefetch_timeout_seconds: 7
|
|
86
|
+
max_items: 8
|
|
87
|
+
max_chars: 12000
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
If Hermes is not installed, use the same context selector through the MCP
|
|
91
|
+
`get_engineering_context` tool. Both paths share the protocol-neutral memex
|
|
92
|
+
core and fail open when retrieval is unavailable.
|
|
93
|
+
|
|
62
94
|
| Channel | Command |
|
|
63
95
|
|---|---|
|
|
64
96
|
| Claude Code marketplace | `/plugin install memex-mcp@stifler-marketplace` |
|
|
@@ -86,13 +118,14 @@ initial admin key, and the `down -v` footgun to avoid.
|
|
|
86
118
|
|---|---|
|
|
87
119
|
| Output | A Neo4j graph populated continuously from your repo |
|
|
88
120
|
| Storage | Neo4j via [Graphiti](https://github.com/getzep/graphiti). Bitemporal — every edge has `created_at` and optional `expired_at` |
|
|
89
|
-
|
|
|
90
|
-
|
|
|
121
|
+
| Context | Bounded, ranked, provenance-aware `ContextPacket` |
|
|
122
|
+
| Integrations | Hermes MemoryProvider, MCP resources/tools, Claude Code, Cursor, Codex, Gemini CLI |
|
|
123
|
+
| Failure mode | Fail-open; agent execution continues without memex |
|
|
91
124
|
| Granularity | Scales from 50 to 5000+ modules via hierarchical Leiden clusters |
|
|
92
125
|
| Synthesis | Gemini Flash distills commits into `Decision` nodes; Pro for grounded synthesis |
|
|
93
126
|
| Confidence | Computed at query time. Two-regime decay (validated half-life ~139d, unvalidated stale at 30d) |
|
|
94
127
|
| Write governance | Per-node-type ACL, intent-confirmation on agent writes, explicit `corroborates` / `supersedes` semantics |
|
|
95
|
-
|
|
|
128
|
+
| Goal 10 evidence | 8/8 valid paired runs, 0 treatment failures, 0 treatment regressions |
|
|
96
129
|
|
|
97
130
|
## The lifecycle
|
|
98
131
|
|
|
@@ -340,7 +373,7 @@ memex/
|
|
|
340
373
|
│ ├── memory_tool/ Anthropic memory_20250818 adapter
|
|
341
374
|
│ ├── watcher/ daemon + git hooks
|
|
342
375
|
│ └── cli.py init / watch / serve / review / graph / cluster
|
|
343
|
-
├── tests/
|
|
376
|
+
├── tests/ unit, integration, and objective evaluation suites
|
|
344
377
|
├── docker/ Neo4j compose
|
|
345
378
|
├── npm/ npx wrapper (publishes as stifler-memex-mcp)
|
|
346
379
|
└── Dockerfile introspection-only image for MCP directory sandboxes
|
|
@@ -374,6 +407,12 @@ Hill Patel ([@STiFLeR7](https://github.com/STiFLeR7))
|
|
|
374
407
|
|
|
375
408
|
## Contributing
|
|
376
409
|
|
|
377
|
-
Open an issue or PR. `uv sync --all-extras
|
|
410
|
+
Open an issue or PR. `uv sync --all-extras` installs the development toolchain.
|
|
411
|
+
Run `uv run pytest -m "not integration"` for the offline suite and `uv run ruff
|
|
412
|
+
check .` before opening a PR. Version bumps must update `pyproject.toml`,
|
|
413
|
+
`npm/package.json`, `server.json`, and the team Docker image tag together.
|
|
414
|
+
|
|
415
|
+
The v0.9 release record is in [`CHANGELOG.md`](CHANGELOG.md), with the
|
|
416
|
+
architecture and evaluation evidence under [`docs/architecture/v0.9/`](docs/architecture/v0.9/).
|
|
378
417
|
|
|
379
418
|
> *Vannevar Bush, 1945:* "Consider a future device for individual use, which is a sort of mechanized private file and library. It needs a name, and to coin one at random, **memex** will do."
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "stifler-memex-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"mcpName": "io.github.STiFLeR7/memex",
|
|
5
|
-
"description": "
|
|
5
|
+
"description": "Trusted engineering context for agentic software engineering via Hermes MemoryProvider and MCP.",
|
|
6
6
|
"bin": {
|
|
7
7
|
"stifler-memex-mcp": "./bin/memex-mcp.js",
|
|
8
8
|
"memex-mcp": "./bin/memex-mcp.js",
|