@henrychong-ai/mcp-neo4j-knowledge-graph 1.1.1 → 1.1.3

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 CHANGED
@@ -20,25 +20,20 @@ npx @henrychong-ai/mcp-neo4j-knowledge-graph
20
20
 
21
21
  This method is recommended for use with Claude Desktop and other MCP-compatible clients.
22
22
 
23
- ### Local Development
23
+ ### npm Installation
24
24
 
25
- For development or contributing to the project:
25
+ For local use or development:
26
26
 
27
27
  ```bash
28
- # Clone the repository
29
- git clone https://github.com/henrychong-ai/mcp-neo4j-knowledge-graph.git
30
- cd mcp-neo4j-knowledge-graph
28
+ # Install the package
29
+ npm install -g @henrychong-ai/mcp-neo4j-knowledge-graph
31
30
 
32
- # Install dependencies
33
- npm install
34
-
35
- # Build the project
36
- npm run build
37
-
38
- # Run tests
39
- npm test
31
+ # Or use locally in your project
32
+ npm install @henrychong-ai/mcp-neo4j-knowledge-graph
40
33
  ```
41
34
 
35
+ > **Note**: This package is maintained in a private GitHub repository but published publicly to npm. The compiled code, documentation, and full functionality are available through npm installation.
36
+
42
37
  ---
43
38
 
44
39
  ## Core Concepts
@@ -665,25 +660,17 @@ docker-compose up -d neo4j
665
660
  npm run neo4j:init
666
661
  ```
667
662
 
668
- ## Building and Development
663
+ ## Package Information
669
664
 
670
- ```bash
671
- # Clone the repository
672
- git clone https://github.com/henrychong-ai/mcp-neo4j-knowledge-graph.git
673
- cd mcp-neo4j-knowledge-graph
665
+ This package is maintained in a private GitHub repository but published publicly to npm:
674
666
 
675
- # Install dependencies
676
- npm install
667
+ - **npm Package**: [@henrychong-ai/mcp-neo4j-knowledge-graph](https://www.npmjs.com/package/@henrychong-ai/mcp-neo4j-knowledge-graph)
668
+ - **Installation**: `npm install @henrychong-ai/mcp-neo4j-knowledge-graph`
669
+ - **Published Contents**: Compiled JavaScript (dist/), documentation, and type definitions
670
+ - **License**: MIT
671
+ - **Automated Publishing**: GitHub Actions with OIDC authentication
677
672
 
678
- # Build the project
679
- npm run build
680
-
681
- # Run tests
682
- npm test
683
-
684
- # Check test coverage
685
- npm run test:coverage
686
- ```
673
+ The npm package includes everything needed to use this MCP server - compiled code, documentation, and type definitions. Source TypeScript files and development tooling remain in the private repository.
687
674
 
688
675
  ## License
689
676
 
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * CLI tool for generating embeddings for entities in the knowledge graph
4
+ *
5
+ * Usage:
6
+ * npm run embeddings:generate # Generate for all entities without embeddings
7
+ * npm run embeddings:generate -- --limit 10 # Test with first 10 entities
8
+ * npm run embeddings:generate -- --force # Regenerate all embeddings (even if exist)
9
+ *
10
+ * Requirements:
11
+ * - OPENAI_API_KEY environment variable must be set
12
+ * - Neo4j connection configured (NEO4J_URI, NEO4J_USERNAME, NEO4J_PASSWORD)
13
+ */
14
+ interface GenerateEmbeddingsOptions {
15
+ limit?: number;
16
+ force?: boolean;
17
+ batchSize?: number;
18
+ }
19
+ /**
20
+ * Generate embeddings for entities in the knowledge graph
21
+ */
22
+ declare function generateEmbeddings(options?: GenerateEmbeddingsOptions): Promise<void>;
23
+ export { generateEmbeddings };
@@ -0,0 +1,218 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * CLI tool for generating embeddings for entities in the knowledge graph
4
+ *
5
+ * Usage:
6
+ * npm run embeddings:generate # Generate for all entities without embeddings
7
+ * npm run embeddings:generate -- --limit 10 # Test with first 10 entities
8
+ * npm run embeddings:generate -- --force # Regenerate all embeddings (even if exist)
9
+ *
10
+ * Requirements:
11
+ * - OPENAI_API_KEY environment variable must be set
12
+ * - Neo4j connection configured (NEO4J_URI, NEO4J_USERNAME, NEO4J_PASSWORD)
13
+ */
14
+ import { Neo4jStorageProvider } from '../storage/neo4j/Neo4jStorageProvider.js';
15
+ import { EmbeddingServiceFactory } from '../embeddings/EmbeddingServiceFactory.js';
16
+ import dotenv from 'dotenv';
17
+ // Load environment variables
18
+ dotenv.config();
19
+ /**
20
+ * Parse command line arguments
21
+ */
22
+ function parseArgs() {
23
+ const args = process.argv.slice(2);
24
+ const options = {
25
+ batchSize: 10, // Process 10 entities at a time
26
+ };
27
+ for (let i = 0; i < args.length; i++) {
28
+ switch (args[i]) {
29
+ case '--limit':
30
+ options.limit = parseInt(args[++i], 10);
31
+ break;
32
+ case '--force':
33
+ options.force = true;
34
+ break;
35
+ case '--batch-size':
36
+ options.batchSize = parseInt(args[++i], 10);
37
+ break;
38
+ case '--help':
39
+ printHelp();
40
+ process.exit(0);
41
+ }
42
+ }
43
+ return options;
44
+ }
45
+ /**
46
+ * Print help message
47
+ */
48
+ function printHelp() {
49
+ console.log(`
50
+ Generate Embeddings CLI Tool
51
+
52
+ Usage:
53
+ npm run embeddings:generate [options]
54
+
55
+ Options:
56
+ --limit <n> Generate embeddings for first N entities only (for testing)
57
+ --force Regenerate embeddings even if they already exist
58
+ --batch-size <n> Number of entities to process in each batch (default: 10)
59
+ --help Show this help message
60
+
61
+ Environment Variables:
62
+ OPENAI_API_KEY Required: Your OpenAI API key
63
+ NEO4J_URI Neo4j connection URI (default: bolt://localhost:7687)
64
+ NEO4J_USERNAME Neo4j username (default: neo4j)
65
+ NEO4J_PASSWORD Neo4j password
66
+
67
+ Examples:
68
+ npm run embeddings:generate # Generate for all entities
69
+ npm run embeddings:generate -- --limit 5 # Test with 5 entities first
70
+ npm run embeddings:generate -- --force # Regenerate all
71
+ `);
72
+ }
73
+ /**
74
+ * Generate embeddings for entities in the knowledge graph
75
+ */
76
+ async function generateEmbeddings(options = {}) {
77
+ console.log('\n🚀 Starting embedding generation...\n');
78
+ // Validate OpenAI API key
79
+ if (!process.env.OPENAI_API_KEY) {
80
+ console.error('❌ Error: OPENAI_API_KEY environment variable is not set');
81
+ console.error(' Please set your OpenAI API key:');
82
+ console.error(' export OPENAI_API_KEY=sk-your-key-here\n');
83
+ process.exit(1);
84
+ }
85
+ // Create storage provider
86
+ console.log('📊 Connecting to Neo4j...');
87
+ const storageProvider = new Neo4jStorageProvider({
88
+ config: {
89
+ uri: process.env.NEO4J_URI || 'bolt://localhost:7687',
90
+ username: process.env.NEO4J_USERNAME || 'neo4j',
91
+ password: process.env.NEO4J_PASSWORD || '',
92
+ database: process.env.NEO4J_DATABASE || 'neo4j',
93
+ },
94
+ });
95
+ try {
96
+ // Create embedding service
97
+ console.log('🤖 Initializing OpenAI embedding service...');
98
+ const embeddingService = EmbeddingServiceFactory.createFromEnvironment();
99
+ const modelInfo = embeddingService.getProviderInfo();
100
+ console.log(` Provider: ${modelInfo.provider}`);
101
+ console.log(` Model: ${modelInfo.model}`);
102
+ console.log(` Dimensions: ${modelInfo.dimensions}\n`);
103
+ // Query entities
104
+ const whereClause = options.force
105
+ ? 'WHERE e.validTo IS NULL'
106
+ : 'WHERE e.validTo IS NULL AND (e.embedding IS NULL OR size(e.embedding) = 0)';
107
+ const limitClause = options.limit ? `LIMIT ${options.limit}` : '';
108
+ console.log('🔍 Querying entities without embeddings...');
109
+ const query = `
110
+ MATCH (e:Entity)
111
+ ${whereClause}
112
+ RETURN e.name AS name, e.observations AS observations, e.entityType AS entityType
113
+ ORDER BY e.name
114
+ ${limitClause}
115
+ `;
116
+ const connectionManager = storageProvider.getConnectionManager();
117
+ const result = await connectionManager.executeQuery(query, {});
118
+ const entities = result.records.map((record) => ({
119
+ name: record.get('name'),
120
+ observations: record.get('observations'),
121
+ entityType: record.get('entityType'),
122
+ }));
123
+ if (entities.length === 0) {
124
+ console.log('✅ All entities already have embeddings!\n');
125
+ await storageProvider.close();
126
+ return;
127
+ }
128
+ console.log(` Found ${entities.length} entities to process\n`);
129
+ // Process in batches
130
+ const batchSize = options.batchSize || 10;
131
+ let processed = 0;
132
+ let succeeded = 0;
133
+ let failed = 0;
134
+ for (let i = 0; i < entities.length; i += batchSize) {
135
+ const batch = entities.slice(i, Math.min(i + batchSize, entities.length));
136
+ const batchNum = Math.floor(i / batchSize) + 1;
137
+ const totalBatches = Math.ceil(entities.length / batchSize);
138
+ console.log(`📦 Processing batch ${batchNum}/${totalBatches} (${batch.length} entities)...`);
139
+ for (const entity of batch) {
140
+ try {
141
+ // Prepare text from observations
142
+ const observations = Array.isArray(entity.observations)
143
+ ? entity.observations
144
+ : JSON.parse(entity.observations || '[]');
145
+ const text = observations.join('\n');
146
+ if (!text || text.trim().length === 0) {
147
+ console.log(` ⚠️ Skipping ${entity.name}: no observations`);
148
+ processed++;
149
+ continue;
150
+ }
151
+ // Generate embedding
152
+ const embedding = await embeddingService.generateEmbedding(text);
153
+ // Update entity
154
+ const updateQuery = `
155
+ MATCH (e:Entity {name: $name})
156
+ WHERE e.validTo IS NULL
157
+ SET e.embedding = $embedding, e.updatedAt = $now
158
+ RETURN e.name
159
+ `;
160
+ await connectionManager.executeQuery(updateQuery, {
161
+ name: entity.name,
162
+ embedding,
163
+ now: Date.now(),
164
+ });
165
+ console.log(` ✅ ${entity.name} (${entity.entityType})`);
166
+ succeeded++;
167
+ }
168
+ catch (error) {
169
+ console.error(` ❌ Failed: ${entity.name}`);
170
+ console.error(` Error: ${error instanceof Error ? error.message : String(error)}`);
171
+ failed++;
172
+ }
173
+ processed++;
174
+ }
175
+ // Progress summary
176
+ const progress = ((processed / entities.length) * 100).toFixed(1);
177
+ console.log(` Progress: ${processed}/${entities.length} (${progress}%)\n`);
178
+ // Rate limiting: small delay between batches
179
+ if (i + batchSize < entities.length) {
180
+ await new Promise((resolve) => setTimeout(resolve, 1000));
181
+ }
182
+ }
183
+ // Final summary
184
+ console.log('═══════════════════════════════════════════════════');
185
+ console.log('📊 Embedding Generation Complete!');
186
+ console.log('═══════════════════════════════════════════════════');
187
+ console.log(` Total processed: ${processed}`);
188
+ console.log(` ✅ Succeeded: ${succeeded}`);
189
+ if (failed > 0) {
190
+ console.log(` ❌ Failed: ${failed}`);
191
+ }
192
+ console.log('═══════════════════════════════════════════════════\n');
193
+ // Calculate estimated cost
194
+ const avgTokensPerEntity = 200; // Conservative estimate
195
+ const totalTokens = succeeded * avgTokensPerEntity;
196
+ const costPer1MTokens = 0.02; // text-embedding-3-small
197
+ const estimatedCost = (totalTokens / 1000000) * costPer1MTokens;
198
+ console.log(`💰 Estimated cost: $${estimatedCost.toFixed(4)} USD`);
199
+ console.log(` (${totalTokens.toLocaleString()} tokens × $${costPer1MTokens}/1M tokens)\n`);
200
+ }
201
+ catch (error) {
202
+ console.error('\n❌ Fatal error:', error);
203
+ process.exit(1);
204
+ }
205
+ finally {
206
+ await storageProvider.close();
207
+ }
208
+ }
209
+ // Main execution
210
+ if (import.meta.url === `file://${process.argv[1]}`) {
211
+ const options = parseArgs();
212
+ generateEmbeddings(options).catch((error) => {
213
+ console.error('Unhandled error:', error);
214
+ process.exit(1);
215
+ });
216
+ }
217
+ export { generateEmbeddings };
218
+ //# sourceMappingURL=generate-embeddings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-embeddings.js","sourceRoot":"","sources":["../../src/cli/generate-embeddings.ts"],"names":[],"mappings":"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"}
@@ -88,6 +88,35 @@ export class Neo4jSchemaManager {
88
88
  async createEntityConstraints(recreate = false) {
89
89
  this.log('Creating entity name constraint...');
90
90
  const constraintName = 'entity_name';
91
+ // Check for conflicting constraints on Entity nodes with 'name' property
92
+ const allConstraints = await this.listConstraints();
93
+ const entityConstraints = allConstraints.filter((c) => {
94
+ // Neo4j returns either 'labelsOrTypes' or 'entityType' depending on version
95
+ const label = c.labelsOrTypes || c.entityType;
96
+ const properties = c.properties;
97
+ return ((label === 'Entity' || (Array.isArray(label) && label.includes('Entity'))) &&
98
+ Array.isArray(properties) &&
99
+ properties.includes('name'));
100
+ });
101
+ // Warn about conflicting constraints
102
+ let hasConflicts = false;
103
+ for (const constraint of entityConstraints) {
104
+ if (constraint.name !== constraintName) {
105
+ hasConflicts = true;
106
+ this.log(`⚠️ WARNING: Found conflicting Entity constraint: ${constraint.name}`);
107
+ this.log(` Properties: ${JSON.stringify(constraint.properties)}`);
108
+ if (recreate) {
109
+ this.log(` Dropping conflicting constraint: ${constraint.name}`);
110
+ await this.dropConstraintIfExists(constraint.name);
111
+ }
112
+ else {
113
+ this.log(` Run with recreate=true to automatically remove conflicting constraints`);
114
+ }
115
+ }
116
+ }
117
+ if (hasConflicts && !recreate) {
118
+ this.log('⚠️ Conflicting constraints detected. Use npm run neo4j:init with recreate=true to fix automatically.');
119
+ }
91
120
  if (recreate) {
92
121
  await this.dropConstraintIfExists(constraintName);
93
122
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Neo4jSchemaManager.js","sourceRoot":"","sources":["../../../src/storage/neo4j/Neo4jSchemaManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Neo4jSchemaManager.js","sourceRoot":"","sources":["../../../src/storage/neo4j/Neo4jSchemaManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAoB,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C;;GAEG;AACH,MAAM,OAAO,kBAAkB;IAK7B;;;;;OAKG;IACH,YACE,iBAAyC,EACzC,MAA6B,EAC7B,KAAK,GAAG,IAAI;QAEZ,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG;YACZ,GAAG,oBAAoB;YACvB,GAAG,MAAM;SACV,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;;OAGG;IACK,GAAG,CAAC,OAAe;QACzB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,wBAAwB,OAAO,EAAE,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;QACjF,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,GAAG,CAAC,SAAS,WAAW,CAAC,MAAM,cAAc,CAAC,CAAC;QACpD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW;QACf,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAC7E,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,GAAG,CAAC,SAAS,OAAO,CAAC,MAAM,UAAU,CAAC,CAAC;QAC5C,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,sBAAsB,CAAC,IAAY;QACvC,IAAI,CAAC,GAAG,CAAC,uBAAuB,IAAI,kBAAkB,CAAC,CAAC;QACxD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,mBAAmB,IAAI,YAAY,EAAE,EAAE,CAAC,CAAC;YACnF,IAAI,CAAC,GAAG,CAAC,cAAc,IAAI,0BAA0B,CAAC,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,6BAA6B,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;YACxD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CAAC,IAAY;QAClC,IAAI,CAAC,GAAG,CAAC,kBAAkB,IAAI,kBAAkB,CAAC,CAAC;QACnD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,cAAc,IAAI,YAAY,EAAE,EAAE,CAAC,CAAC;YAC9E,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,0BAA0B,CAAC,CAAC;YAClD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,wBAAwB,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;YACnD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,uBAAuB,CAAC,QAAQ,GAAG,KAAK;QAC5C,IAAI,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAE/C,MAAM,cAAc,GAAG,aAAa,CAAC;QAErC,yEAAyE;QACzE,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QACpD,MAAM,iBAAiB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACpD,4EAA4E;YAC5E,MAAM,KAAK,GAAG,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,UAAU,CAAC;YAC9C,MAAM,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;YAEhC,OAAO,CACL,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC1E,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;gBACzB,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC5B,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,qCAAqC;QACrC,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,KAAK,MAAM,UAAU,IAAI,iBAAiB,EAAE,CAAC;YAC3C,IAAI,UAAU,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBACvC,YAAY,GAAG,IAAI,CAAC;gBACpB,IAAI,CAAC,GAAG,CAAC,qDAAqD,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;gBACjF,IAAI,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBAEpE,IAAI,QAAQ,EAAE,CAAC;oBACb,IAAI,CAAC,GAAG,CAAC,uCAAuC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;oBACnE,MAAM,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,IAAc,CAAC,CAAC;gBAC/D,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,GAAG,CACN,2EAA2E,CAC5E,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,YAAY,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CACN,uGAAuG,CACxG,CAAC;QACJ,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;QACpD,CAAC;QAED,+DAA+D;QAC/D,MAAM,KAAK,GAAG;;;;KAIb,CAAC;QAEF,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAE3C,oCAAoC;QACpC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;QACjE,IAAI,CAAC,GAAG,CAAC,4BAA4B,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACxE,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,iBAAiB,CACrB,SAAiB,EACjB,SAAiB,EACjB,YAAoB,EACpB,UAAkB,EAClB,kBAA2C,EAC3C,QAAQ,GAAG,KAAK;QAEhB,IAAI,CAAC,GAAG,CAAC,yBAAyB,SAAS,KAAK,CAAC,CAAC;QAElD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,KAAK,GAAG;4BACU,SAAS;eACtB,SAAS;cACV,YAAY;;;mCAGS,UAAU;6CACA,kBAAkB,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB;;;KAG5F,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,0CAA0C,KAAK,EAAE,CAAC,CAAC;QAC5D,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,GAAG,CAAC,gBAAgB,SAAS,0BAA0B,CAAC,CAAC;QAE9D,+BAA+B;QAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,CAAC,GAAG,CAAC,8BAA8B,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,iBAAiB,CAAC,SAAiB;QACvC,IAAI,CAAC,GAAG,CAAC,4BAA4B,SAAS,0BAA0B,CAAC,CAAC;QAC1E,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CACtD,6CAA6C,EAC7C,EAAE,SAAS,EAAE,CACd,CAAC;YAEF,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,GAAG,CAAC,gBAAgB,SAAS,iBAAiB,CAAC,CAAC;gBACrD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,KAAK,KAAK,QAAQ,CAAC;YAEpC,IAAI,CAAC,GAAG,CAAC,gBAAgB,SAAS,uBAAuB,KAAK,EAAE,CAAC,CAAC;YAElE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,IAAI,CAAC,GAAG,CAAC,gBAAgB,SAAS,qCAAqC,KAAK,GAAG,CAAC,CAAC;YACnF,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,gCAAgC,KAAK,EAAE,CAAC,CAAC;YAClD,6DAA6D;YAC7D,IAAI,CAAC;gBACH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAC9D,0DAA0D,EAC1D,EAAE,SAAS,EAAE,CACd,CAAC;gBAEF,IAAI,cAAc,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxC,IAAI,CAAC,GAAG,CAAC,gBAAgB,SAAS,kCAAkC,CAAC,CAAC;oBACtE,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACrD,MAAM,QAAQ,GAAG,KAAK,KAAK,QAAQ,CAAC;gBAEpC,IAAI,CAAC,GAAG,CAAC,gBAAgB,SAAS,uBAAuB,KAAK,mBAAmB,CAAC,CAAC;gBAEnF,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,IAAI,CAAC,GAAG,CACN,gBAAgB,SAAS,qCAAqC,KAAK,oBAAoB,CACxF,CAAC;gBACJ,CAAC;gBAED,OAAO,QAAQ,CAAC;YAClB,CAAC;YAAC,OAAO,aAAa,EAAE,CAAC;gBACvB,IAAI,CAAC,GAAG,CAAC,6CAA6C,aAAa,EAAE,CAAC,CAAC;gBACvE,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CAAC,QAAQ,GAAG,KAAK;QACrC,IAAI,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAEzC,qBAAqB;QACrB,MAAM,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QAE7C,4CAA4C;QAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;QAC9C,MAAM,SAAS,GAAG,QAAQ,CAAC;QAC3B,MAAM,YAAY,GAAG,WAAW,CAAC;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;QAChD,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;QAE1D,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,KAAK,GAAG;4BACU,SAAS;eACtB,SAAS;cACV,YAAY;;;mCAGS,UAAU;6CACA,kBAAkB;;;KAG1D,CAAC;QAEF,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAErD,IAAI,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;IACvC,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@henrychong-ai/mcp-neo4j-knowledge-graph",
3
- "version": "1.1.1",
3
+ "version": "1.1.3",
4
4
  "description": "Neo4j-based knowledge graph MCP server with temporal versioning and semantic search",
5
5
  "license": "MIT",
6
6
  "author": "Henry Chong <henry@henrychong.ai>",
@@ -46,7 +46,9 @@
46
46
  "format": "prettier --write \"**/*.{ts,json,md}\"",
47
47
  "fix": "npm run lint:fix && npm run format",
48
48
  "neo4j:init": "tsx src/cli/neo4j-setup.ts init",
49
- "neo4j:test": "tsx src/cli/neo4j-setup.ts test"
49
+ "neo4j:test": "tsx src/cli/neo4j-setup.ts test",
50
+ "embeddings:generate": "tsx src/cli/generate-embeddings.ts",
51
+ "embeddings:test": "tsx src/cli/generate-embeddings.ts -- --limit 5"
50
52
  },
51
53
  "dependencies": {
52
54
  "@modelcontextprotocol/sdk": "1.11.0",