Skip to content

Commit 962ccb2

Browse files
committed
WIP memory server
1 parent f2bc1be commit 962ccb2

File tree

6 files changed

+294
-194
lines changed

6 files changed

+294
-194
lines changed

package-lock.json

Lines changed: 18 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
"@swc-node/register": "~1.9.1",
2323
"@swc/core": "~1.5.7",
2424
"@swc/helpers": "~0.5.11",
25-
"@types/jest": "^29.5.12",
25+
"@types/jest": "^29.5.14",
2626
"@types/node": "~18.16.9",
2727
"esbuild": "^0.19.2",
2828
"eslint": "^9.8.0",
@@ -31,7 +31,7 @@
3131
"jest-environment-node": "^29.7.0",
3232
"nx": "20.1.4",
3333
"prettier": "^2.6.2",
34-
"ts-jest": "^29.1.0",
34+
"ts-jest": "^29.2.6",
3535
"ts-node": "10.9.1",
3636
"tslib": "^2.3.0",
3737
"typescript": "~5.5.2",
Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
export default {
2-
displayName: 'mcp-neo4j-memory',
3-
preset: '../../jest.preset.js',
1+
module.exports = {
2+
preset: 'ts-jest',
43
testEnvironment: 'node',
4+
roots: ['<rootDir>/test'],
5+
testMatch: ['**/*.test.ts'],
56
transform: {
6-
'^.+\\.[tj]s$': ['ts-jest', { tsconfig: '<rootDir>/tsconfig.spec.json' }],
7-
},
8-
moduleFileExtensions: ['ts', 'js', 'html'],
9-
coverageDirectory: '../../coverage/servers/mcp-neo4j-memory',
10-
};
7+
'^.+\\.tsx?$': 'ts-jest'
8+
}
9+
};

servers/mcp-neo4j-memory/src/main.ts

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,24 +6,30 @@ import {
66
} from "@modelcontextprotocol/sdk/types.js";
77

88
import { driver as connectToNeo4j, auth as Neo4jAuth } from 'neo4j-driver'
9-
109
import { KnowledgeGraphMemory, Entity, KnowledgeGraph, Relation } from "@neo4j/graphrag-memory";
1110
import { Neo4jMemory } from './neo4j-memory.js'
1211

12+
// Get Neo4j connection details from environment variables
13+
const neo4jUri = process.env.NEO4J_URI || 'neo4j://localhost:7687';
14+
const neo4jUser = process.env.NEO4J_USERNAME || 'neo4j';
15+
const neo4jPassword = process.env.NEO4J_PASSWORD;
1316

14-
// const args = process.argv.slice(2);
17+
if (!neo4jPassword) {
18+
console.error('Error: NEO4J_PASSWORD environment variable is required');
19+
process.exit(1);
20+
}
1521

1622
const neo4jDriver = connectToNeo4j(
17-
'neo4j://localhost:7687',
18-
Neo4jAuth.basic('neo4j', 'marwhompa')
19-
)
23+
neo4jUri,
24+
Neo4jAuth.basic(neo4jUser, neo4jPassword)
25+
);
2026

2127
const knowledgeGraphMemory:KnowledgeGraphMemory = new Neo4jMemory(neo4jDriver);
2228

2329
// The server instance and tools exposed to Claude
2430
const server = new Server({
2531
name: "mcp-neo4j-memory",
26-
version: "1.0.1",
32+
version: "1.1",
2733
}, {
2834
capabilities: {
2935
tools: {},

0 commit comments

Comments
 (0)