@henrychong-ai/mcp-neo4j-knowledge-graph 1.1.2 ā 1.1.4
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/dist/cli/generate-embeddings.d.ts +23 -0
- package/dist/cli/generate-embeddings.js +218 -0
- package/dist/cli/generate-embeddings.js.map +1 -0
- package/dist/cli/neo4j-setup.d.ts +1 -1
- package/dist/cli/neo4j-setup.js +1 -1
- package/dist/server/handlers/listToolsHandler.js +19 -19
- package/dist/server/handlers/listToolsHandler.js.map +1 -1
- package/dist/storage/neo4j/Neo4jSchemaManager.js +53 -13
- package/dist/storage/neo4j/Neo4jSchemaManager.js.map +1 -1
- package/package.json +4 -2
|
@@ -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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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Neo4j CLI Utility
|
|
4
4
|
*
|
|
5
5
|
* This script provides command-line utilities for managing Neo4j
|
|
6
|
-
* operations for the
|
|
6
|
+
* operations for the mcp-neo4j-knowledge-graph server.
|
|
7
7
|
*/
|
|
8
8
|
import { Neo4jConnectionManager } from '../storage/neo4j/Neo4jConnectionManager.js';
|
|
9
9
|
import { Neo4jSchemaManager } from '../storage/neo4j/Neo4jSchemaManager.js';
|
package/dist/cli/neo4j-setup.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Neo4j CLI Utility
|
|
4
4
|
*
|
|
5
5
|
* This script provides command-line utilities for managing Neo4j
|
|
6
|
-
* operations for the
|
|
6
|
+
* operations for the mcp-neo4j-knowledge-graph server.
|
|
7
7
|
*/
|
|
8
8
|
import { Neo4jConnectionManager } from '../storage/neo4j/Neo4jConnectionManager.js';
|
|
9
9
|
import { Neo4jSchemaManager } from '../storage/neo4j/Neo4jSchemaManager.js';
|
|
@@ -7,7 +7,7 @@ export async function handleListToolsRequest() {
|
|
|
7
7
|
const baseTools = [
|
|
8
8
|
{
|
|
9
9
|
name: 'create_entities',
|
|
10
|
-
description: 'Create multiple new entities in your
|
|
10
|
+
description: 'Create multiple new entities in your knowledge graph system',
|
|
11
11
|
inputSchema: {
|
|
12
12
|
type: 'object',
|
|
13
13
|
properties: {
|
|
@@ -49,7 +49,7 @@ export async function handleListToolsRequest() {
|
|
|
49
49
|
},
|
|
50
50
|
{
|
|
51
51
|
name: 'create_relations',
|
|
52
|
-
description: 'Create multiple new relations between entities in your
|
|
52
|
+
description: 'Create multiple new relations between entities in your knowledge graph. Relations should be in active voice',
|
|
53
53
|
inputSchema: {
|
|
54
54
|
type: 'object',
|
|
55
55
|
properties: {
|
|
@@ -101,7 +101,7 @@ export async function handleListToolsRequest() {
|
|
|
101
101
|
},
|
|
102
102
|
{
|
|
103
103
|
name: 'add_observations',
|
|
104
|
-
description: 'Add new observations to existing entities in your
|
|
104
|
+
description: 'Add new observations to existing entities in your knowledge graph',
|
|
105
105
|
inputSchema: {
|
|
106
106
|
type: 'object',
|
|
107
107
|
properties: {
|
|
@@ -157,7 +157,7 @@ export async function handleListToolsRequest() {
|
|
|
157
157
|
},
|
|
158
158
|
{
|
|
159
159
|
name: 'delete_entities',
|
|
160
|
-
description: 'Delete multiple entities and their associated relations from your
|
|
160
|
+
description: 'Delete multiple entities and their associated relations from your knowledge graph',
|
|
161
161
|
inputSchema: {
|
|
162
162
|
type: 'object',
|
|
163
163
|
properties: {
|
|
@@ -172,7 +172,7 @@ export async function handleListToolsRequest() {
|
|
|
172
172
|
},
|
|
173
173
|
{
|
|
174
174
|
name: 'delete_observations',
|
|
175
|
-
description: 'Delete specific observations from entities in your
|
|
175
|
+
description: 'Delete specific observations from entities in your knowledge graph',
|
|
176
176
|
inputSchema: {
|
|
177
177
|
type: 'object',
|
|
178
178
|
properties: {
|
|
@@ -200,7 +200,7 @@ export async function handleListToolsRequest() {
|
|
|
200
200
|
},
|
|
201
201
|
{
|
|
202
202
|
name: 'delete_relations',
|
|
203
|
-
description: 'Delete multiple relations from your
|
|
203
|
+
description: 'Delete multiple relations from your knowledge graph',
|
|
204
204
|
inputSchema: {
|
|
205
205
|
type: 'object',
|
|
206
206
|
properties: {
|
|
@@ -229,7 +229,7 @@ export async function handleListToolsRequest() {
|
|
|
229
229
|
},
|
|
230
230
|
{
|
|
231
231
|
name: 'get_relation',
|
|
232
|
-
description: 'Get a specific relation with its enhanced properties from your
|
|
232
|
+
description: 'Get a specific relation with its enhanced properties from your knowledge graph',
|
|
233
233
|
inputSchema: {
|
|
234
234
|
type: 'object',
|
|
235
235
|
properties: {
|
|
@@ -251,7 +251,7 @@ export async function handleListToolsRequest() {
|
|
|
251
251
|
},
|
|
252
252
|
{
|
|
253
253
|
name: 'update_relation',
|
|
254
|
-
description: 'Update an existing relation with enhanced properties in your
|
|
254
|
+
description: 'Update an existing relation with enhanced properties in your knowledge graph',
|
|
255
255
|
inputSchema: {
|
|
256
256
|
type: 'object',
|
|
257
257
|
properties: {
|
|
@@ -300,7 +300,7 @@ export async function handleListToolsRequest() {
|
|
|
300
300
|
},
|
|
301
301
|
{
|
|
302
302
|
name: 'read_graph',
|
|
303
|
-
description: 'Read the entire
|
|
303
|
+
description: 'Read the entire knowledge graph system',
|
|
304
304
|
inputSchema: {
|
|
305
305
|
type: 'object',
|
|
306
306
|
properties: {
|
|
@@ -313,7 +313,7 @@ export async function handleListToolsRequest() {
|
|
|
313
313
|
},
|
|
314
314
|
{
|
|
315
315
|
name: 'search_nodes',
|
|
316
|
-
description: 'Search for nodes in your
|
|
316
|
+
description: 'Search for nodes in your knowledge graph based on a query',
|
|
317
317
|
inputSchema: {
|
|
318
318
|
type: 'object',
|
|
319
319
|
properties: {
|
|
@@ -327,7 +327,7 @@ export async function handleListToolsRequest() {
|
|
|
327
327
|
},
|
|
328
328
|
{
|
|
329
329
|
name: 'open_nodes',
|
|
330
|
-
description: 'Open specific nodes in your
|
|
330
|
+
description: 'Open specific nodes in your knowledge graph by their names',
|
|
331
331
|
inputSchema: {
|
|
332
332
|
type: 'object',
|
|
333
333
|
properties: {
|
|
@@ -342,7 +342,7 @@ export async function handleListToolsRequest() {
|
|
|
342
342
|
},
|
|
343
343
|
{
|
|
344
344
|
name: 'semantic_search',
|
|
345
|
-
description: 'Search for entities semantically using vector embeddings and similarity in your
|
|
345
|
+
description: 'Search for entities semantically using vector embeddings and similarity in your knowledge graph',
|
|
346
346
|
inputSchema: {
|
|
347
347
|
type: 'object',
|
|
348
348
|
properties: {
|
|
@@ -377,7 +377,7 @@ export async function handleListToolsRequest() {
|
|
|
377
377
|
},
|
|
378
378
|
{
|
|
379
379
|
name: 'get_entity_embedding',
|
|
380
|
-
description: 'Get the vector embedding for a specific entity from your
|
|
380
|
+
description: 'Get the vector embedding for a specific entity from your knowledge graph',
|
|
381
381
|
inputSchema: {
|
|
382
382
|
type: 'object',
|
|
383
383
|
properties: {
|
|
@@ -394,7 +394,7 @@ export async function handleListToolsRequest() {
|
|
|
394
394
|
const temporalTools = [
|
|
395
395
|
{
|
|
396
396
|
name: 'get_entity_history',
|
|
397
|
-
description: 'Get the version history of an entity from your
|
|
397
|
+
description: 'Get the version history of an entity from your knowledge graph',
|
|
398
398
|
inputSchema: {
|
|
399
399
|
type: 'object',
|
|
400
400
|
properties: {
|
|
@@ -408,7 +408,7 @@ export async function handleListToolsRequest() {
|
|
|
408
408
|
},
|
|
409
409
|
{
|
|
410
410
|
name: 'get_relation_history',
|
|
411
|
-
description: 'Get the version history of a relation from your
|
|
411
|
+
description: 'Get the version history of a relation from your knowledge graph',
|
|
412
412
|
inputSchema: {
|
|
413
413
|
type: 'object',
|
|
414
414
|
properties: {
|
|
@@ -430,7 +430,7 @@ export async function handleListToolsRequest() {
|
|
|
430
430
|
},
|
|
431
431
|
{
|
|
432
432
|
name: 'get_graph_at_time',
|
|
433
|
-
description: 'Get your
|
|
433
|
+
description: 'Get your knowledge graph as it existed at a specific point in time',
|
|
434
434
|
inputSchema: {
|
|
435
435
|
type: 'object',
|
|
436
436
|
properties: {
|
|
@@ -444,7 +444,7 @@ export async function handleListToolsRequest() {
|
|
|
444
444
|
},
|
|
445
445
|
{
|
|
446
446
|
name: 'get_decayed_graph',
|
|
447
|
-
description: 'Get your
|
|
447
|
+
description: 'Get your knowledge graph with confidence values decayed based on time',
|
|
448
448
|
inputSchema: {
|
|
449
449
|
type: 'object',
|
|
450
450
|
properties: {
|
|
@@ -464,7 +464,7 @@ export async function handleListToolsRequest() {
|
|
|
464
464
|
const debugTools = [
|
|
465
465
|
{
|
|
466
466
|
name: 'force_generate_embedding',
|
|
467
|
-
description: 'Forcibly generate and store an embedding for an entity in your
|
|
467
|
+
description: 'Forcibly generate and store an embedding for an entity in your knowledge graph',
|
|
468
468
|
inputSchema: {
|
|
469
469
|
type: 'object',
|
|
470
470
|
properties: {
|
|
@@ -478,7 +478,7 @@ export async function handleListToolsRequest() {
|
|
|
478
478
|
},
|
|
479
479
|
{
|
|
480
480
|
name: 'debug_embedding_config',
|
|
481
|
-
description: 'Debug tool to check embedding configuration and status of your
|
|
481
|
+
description: 'Debug tool to check embedding configuration and status of your knowledge graph system',
|
|
482
482
|
inputSchema: {
|
|
483
483
|
type: 'object',
|
|
484
484
|
properties: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listToolsHandler.js","sourceRoot":"","sources":["../../../src/server/handlers/listToolsHandler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB;IAC1C,2DAA2D;IAC3D,MAAM,SAAS,GAAG;QAChB;YACE,IAAI,EAAE,iBAAiB;YACvB,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"listToolsHandler.js","sourceRoot":"","sources":["../../../src/server/handlers/listToolsHandler.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
|
}
|
|
@@ -191,26 +220,37 @@ export class Neo4jSchemaManager {
|
|
|
191
220
|
// Create constraints
|
|
192
221
|
await this.createEntityConstraints(recreate);
|
|
193
222
|
// Create vector index for entity embeddings
|
|
223
|
+
// Note: Vector indexes require Neo4j Enterprise Edition
|
|
224
|
+
// Community Edition will log a warning but continue without vector index
|
|
194
225
|
const indexName = this.config.vectorIndexName;
|
|
195
226
|
const nodeLabel = 'Entity';
|
|
196
227
|
const propertyName = 'embedding';
|
|
197
228
|
const dimensions = this.config.vectorDimensions;
|
|
198
229
|
const similarityFunction = this.config.similarityFunction;
|
|
199
|
-
|
|
200
|
-
|
|
230
|
+
try {
|
|
231
|
+
if (recreate) {
|
|
232
|
+
await this.dropIndexIfExists(indexName);
|
|
233
|
+
}
|
|
234
|
+
const query = `
|
|
235
|
+
CREATE VECTOR INDEX ${indexName} IF NOT EXISTS
|
|
236
|
+
FOR (n:${nodeLabel})
|
|
237
|
+
ON (n.${propertyName})
|
|
238
|
+
OPTIONS {
|
|
239
|
+
indexConfig: {
|
|
240
|
+
\`vector.dimensions\`: ${dimensions},
|
|
241
|
+
\`vector.similarity_function\`: '${similarityFunction}'
|
|
242
|
+
}
|
|
201
243
|
}
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
244
|
+
`;
|
|
245
|
+
await this.connectionManager.executeQuery(query, {});
|
|
246
|
+
this.log('Vector index created successfully');
|
|
247
|
+
}
|
|
248
|
+
catch (vectorError) {
|
|
249
|
+
// Vector indexes are only available in Neo4j Enterprise Edition
|
|
250
|
+
// Community Edition will fail here, but we can still store embeddings
|
|
251
|
+
logger.warn('Failed to create vector index (likely Neo4j Community Edition). Embeddings will still be stored but semantic search will be slower.', vectorError);
|
|
252
|
+
this.log('ā ļø Vector index creation failed - continuing without index (embeddings will still work)');
|
|
210
253
|
}
|
|
211
|
-
}
|
|
212
|
-
`;
|
|
213
|
-
await this.connectionManager.executeQuery(query, {});
|
|
214
254
|
this.log('Schema initialization complete');
|
|
215
255
|
}
|
|
216
256
|
/**
|
|
@@ -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":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@henrychong-ai/mcp-neo4j-knowledge-graph",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.4",
|
|
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",
|