@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.
Files changed (2) hide show
  1. package/README.md +35 -6
  2. 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 improvements.
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
- This fork addresses a **JSON parsing error** that occurred in the `addObservations` MCP tool in the published npm package:
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
- SyntaxError: Unexpected token 'F', "Framework:"... is not valid JSON
21
+ TypeError: Cannot mix BigInt and other types, use explicit conversions
21
22
  ```
22
23
 
23
- **Root Cause**: The published npm package version had inconsistencies that caused parsing failures when adding observations to entities.
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
- **Solution**: This fork:
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
- See [INVESTIGATION.md](INVESTIGATION.md) for detailed technical analysis of the fix.
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.5",
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",