@henrychong-ai/mcp-neo4j-knowledge-graph 1.0.5 → 1.0.6
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 +35 -6
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -10,19 +10,36 @@ Scalable, high performance knowledge graph memory system with semantic retrieval
|
|
|
10
10
|
|
|
11
11
|
## 🔧 Fork Notice
|
|
12
12
|
|
|
13
|
-
**This is a maintained fork of [@gannonh/memento-mcp](https://github.com/gannonh/memento-mcp)** with critical bug fixes and
|
|
13
|
+
**This is a maintained fork of [@gannonh/memento-mcp](https://github.com/gannonh/memento-mcp)** with critical bug fixes and active maintenance.
|
|
14
14
|
|
|
15
15
|
### What's Fixed
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
#### v1.0.5 (Latest) - BigInt Conversion Bug
|
|
18
18
|
|
|
19
|
+
**Problem**: Temporal versioning operations (`add_observations`, `delete_observations`, `update_relation`) failed with:
|
|
19
20
|
```
|
|
20
|
-
|
|
21
|
+
TypeError: Cannot mix BigInt and other types, use explicit conversions
|
|
21
22
|
```
|
|
22
23
|
|
|
23
|
-
**Root Cause**:
|
|
24
|
+
**Root Cause**: Neo4j driver returns integer fields as JavaScript BigInt, but code performed arithmetic without conversion.
|
|
25
|
+
|
|
26
|
+
**Solution**: Applied explicit `Number()` conversion before all version arithmetic operations in 3 critical locations.
|
|
27
|
+
|
|
28
|
+
**Status**: ✅ Fully resolved, all 287 tests passing
|
|
29
|
+
|
|
30
|
+
#### v1.0.4 - Partial BigInt Fix
|
|
31
|
+
|
|
32
|
+
Fixed BigInt conversion for `createdAt` field assignments but missed version arithmetic (completed in v1.0.5).
|
|
33
|
+
|
|
34
|
+
#### Original Fork Fixes - JSON Parsing & Architecture
|
|
35
|
+
|
|
36
|
+
The original fork addressed **JSON parsing errors** and architectural issues in the upstream package:
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
SyntaxError: Unexpected token 'F', "Framework:"... is not valid JSON
|
|
40
|
+
```
|
|
24
41
|
|
|
25
|
-
**
|
|
42
|
+
**Solutions Implemented**:
|
|
26
43
|
- ✅ Uses `neo4j-driver` directly for all database operations (no subprocess)
|
|
27
44
|
- ✅ Proper transaction management with commit/rollback
|
|
28
45
|
- ✅ Parameterized Cypher queries to prevent injection
|
|
@@ -30,7 +47,19 @@ SyntaxError: Unexpected token 'F', "Framework:"... is not valid JSON
|
|
|
30
47
|
- ✅ All 287 unit tests passing
|
|
31
48
|
- ✅ Zero security vulnerabilities
|
|
32
49
|
|
|
33
|
-
|
|
50
|
+
#### Known Issue: Schema Constraint Configuration
|
|
51
|
+
|
|
52
|
+
After v1.0.5, temporal versioning requires a **composite uniqueness constraint** in your Neo4j database:
|
|
53
|
+
|
|
54
|
+
```cypher
|
|
55
|
+
CREATE CONSTRAINT entity_name
|
|
56
|
+
FOR (e:Entity)
|
|
57
|
+
REQUIRE (e.name, e.validTo) IS UNIQUE;
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
If you see `Node already exists` errors, your database has an old single-field constraint. See `docs/SCHEMA_CONSTRAINT_FIX.md` for diagnosis and fix instructions.
|
|
61
|
+
|
|
62
|
+
See [INVESTIGATION.md](INVESTIGATION.md) for detailed technical analysis.
|
|
34
63
|
|
|
35
64
|
### Installation
|
|
36
65
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@henrychong-ai/mcp-neo4j-knowledge-graph",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.6",
|
|
4
4
|
"description": "Neo4j-based knowledge graph MCP server (fork of @gannonh/memento-mcp with bug fixes)",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Gannon Hall (original), Henry Chong (fork maintainer)",
|
|
@@ -68,6 +68,7 @@
|
|
|
68
68
|
"glob": "^11.0.1",
|
|
69
69
|
"prettier": "^3.5.3",
|
|
70
70
|
"rimraf": "^6.0.1",
|
|
71
|
+
"semver": "^7.6.0",
|
|
71
72
|
"shx": "^0.4.0",
|
|
72
73
|
"tsx": "^4.19.3",
|
|
73
74
|
"typescript": "^5.8.2",
|