@coreidentitylabs/open-graph-memory-mcp 1.0.1
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/.agents/skills/mcp-builder/LICENSE.txt +202 -0
- package/.agents/skills/mcp-builder/SKILL.md +236 -0
- package/.agents/skills/mcp-builder/reference/evaluation.md +602 -0
- package/.agents/skills/mcp-builder/reference/mcp_best_practices.md +249 -0
- package/.agents/skills/mcp-builder/reference/node_mcp_server.md +970 -0
- package/.agents/skills/mcp-builder/reference/python_mcp_server.md +719 -0
- package/.agents/skills/mcp-builder/scripts/connections.py +151 -0
- package/.agents/skills/mcp-builder/scripts/evaluation.py +373 -0
- package/.agents/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
- package/.agents/skills/mcp-builder/scripts/requirements.txt +2 -0
- package/.env.example +26 -0
- package/Implementation Plan.md +358 -0
- package/README.md +187 -0
- package/dist/constants.d.ts +34 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +40 -0
- package/dist/constants.js.map +1 -0
- package/dist/encoding/embedder.d.ts +12 -0
- package/dist/encoding/embedder.d.ts.map +1 -0
- package/dist/encoding/embedder.js +85 -0
- package/dist/encoding/embedder.js.map +1 -0
- package/dist/encoding/pipeline.d.ts +28 -0
- package/dist/encoding/pipeline.d.ts.map +1 -0
- package/dist/encoding/pipeline.js +146 -0
- package/dist/encoding/pipeline.js.map +1 -0
- package/dist/evolution/consolidator.d.ts +12 -0
- package/dist/evolution/consolidator.d.ts.map +1 -0
- package/dist/evolution/consolidator.js +212 -0
- package/dist/evolution/consolidator.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +53 -0
- package/dist/index.js.map +1 -0
- package/dist/llm/openai-provider.d.ts +23 -0
- package/dist/llm/openai-provider.d.ts.map +1 -0
- package/dist/llm/openai-provider.js +141 -0
- package/dist/llm/openai-provider.js.map +1 -0
- package/dist/llm/prompts.d.ts +10 -0
- package/dist/llm/prompts.d.ts.map +1 -0
- package/dist/llm/prompts.js +63 -0
- package/dist/llm/prompts.js.map +1 -0
- package/dist/llm/provider.d.ts +7 -0
- package/dist/llm/provider.d.ts.map +1 -0
- package/dist/llm/provider.js +25 -0
- package/dist/llm/provider.js.map +1 -0
- package/dist/resources/context-resource.d.ts +8 -0
- package/dist/resources/context-resource.d.ts.map +1 -0
- package/dist/resources/context-resource.js +51 -0
- package/dist/resources/context-resource.js.map +1 -0
- package/dist/retrieval/search.d.ts +24 -0
- package/dist/retrieval/search.d.ts.map +1 -0
- package/dist/retrieval/search.js +143 -0
- package/dist/retrieval/search.js.map +1 -0
- package/dist/storage/factory.d.ts +10 -0
- package/dist/storage/factory.d.ts.map +1 -0
- package/dist/storage/factory.js +35 -0
- package/dist/storage/factory.js.map +1 -0
- package/dist/storage/json-store.d.ts +34 -0
- package/dist/storage/json-store.d.ts.map +1 -0
- package/dist/storage/json-store.js +248 -0
- package/dist/storage/json-store.js.map +1 -0
- package/dist/storage/neo4j-store.d.ts +31 -0
- package/dist/storage/neo4j-store.d.ts.map +1 -0
- package/dist/storage/neo4j-store.js +440 -0
- package/dist/storage/neo4j-store.js.map +1 -0
- package/dist/tools/memory-tools.d.ts +4 -0
- package/dist/tools/memory-tools.d.ts.map +1 -0
- package/dist/tools/memory-tools.js +873 -0
- package/dist/tools/memory-tools.js.map +1 -0
- package/dist/types.d.ts +129 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +5 -0
- package/dist/types.js.map +1 -0
- package/implementation_plan.md.resolved.md +322 -0
- package/package.json +43 -0
- package/src/constants.ts +52 -0
- package/src/encoding/embedder.ts +93 -0
- package/src/encoding/pipeline.ts +197 -0
- package/src/evolution/consolidator.ts +281 -0
- package/src/index.ts +67 -0
- package/src/llm/openai-provider.ts +208 -0
- package/src/llm/prompts.ts +66 -0
- package/src/llm/provider.ts +37 -0
- package/src/resources/context-resource.ts +74 -0
- package/src/retrieval/search.ts +203 -0
- package/src/storage/factory.ts +48 -0
- package/src/storage/json-store.ts +325 -0
- package/src/storage/neo4j-store.ts +564 -0
- package/src/tools/memory-tools.ts +1067 -0
- package/src/types.ts +207 -0
- package/tsconfig.json +21 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-tools.js","sourceRoot":"","sources":["../../src/tools/memory-tools.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node types in the memory graph.
|
|
3
|
+
* - entity: People, tools, libraries, services
|
|
4
|
+
* - concept: Abstract ideas, patterns, paradigms
|
|
5
|
+
* - event: Something that happened (meeting, deployment, decision)
|
|
6
|
+
* - code_pattern: Recurring code structures, architectures
|
|
7
|
+
* - decision: Technical decisions and their rationale
|
|
8
|
+
* - conversation: Raw conversation history snapshot
|
|
9
|
+
*/
|
|
10
|
+
export type NodeType = "entity" | "concept" | "event" | "code_pattern" | "decision" | "conversation";
|
|
11
|
+
export interface MemoryNode {
|
|
12
|
+
id: string;
|
|
13
|
+
name: string;
|
|
14
|
+
type: NodeType;
|
|
15
|
+
description: string;
|
|
16
|
+
embedding?: number[];
|
|
17
|
+
metadata: Record<string, unknown>;
|
|
18
|
+
createdAt: string;
|
|
19
|
+
updatedAt: string;
|
|
20
|
+
/** Bi-temporal: when the fact became true in the real world */
|
|
21
|
+
validFrom?: string;
|
|
22
|
+
/** Bi-temporal: when the fact ceased to be true */
|
|
23
|
+
validUntil?: string;
|
|
24
|
+
/** Origin of this memory */
|
|
25
|
+
source?: string;
|
|
26
|
+
/** Number of times this node was retrieved */
|
|
27
|
+
accessCount: number;
|
|
28
|
+
/** Last time this node was accessed */
|
|
29
|
+
lastAccessedAt?: string;
|
|
30
|
+
}
|
|
31
|
+
export interface MemoryEdge {
|
|
32
|
+
id: string;
|
|
33
|
+
/** Source node ID */
|
|
34
|
+
source: string;
|
|
35
|
+
/** Target node ID */
|
|
36
|
+
target: string;
|
|
37
|
+
/** Relationship type, e.g. "uses", "depends_on", "decided_to" */
|
|
38
|
+
relation: string;
|
|
39
|
+
/** Natural language description of the relationship */
|
|
40
|
+
description: string;
|
|
41
|
+
/** Confidence/strength weight (0-1) */
|
|
42
|
+
weight: number;
|
|
43
|
+
metadata: Record<string, unknown>;
|
|
44
|
+
createdAt: string;
|
|
45
|
+
updatedAt: string;
|
|
46
|
+
}
|
|
47
|
+
export interface ScoredNode {
|
|
48
|
+
node: MemoryNode;
|
|
49
|
+
score: number;
|
|
50
|
+
matchType: "semantic" | "text" | "graph";
|
|
51
|
+
}
|
|
52
|
+
export interface Subgraph {
|
|
53
|
+
nodes: MemoryNode[];
|
|
54
|
+
edges: MemoryEdge[];
|
|
55
|
+
}
|
|
56
|
+
export interface SearchResult {
|
|
57
|
+
nodes: ScoredNode[];
|
|
58
|
+
relatedEdges: MemoryEdge[];
|
|
59
|
+
totalNodes: number;
|
|
60
|
+
}
|
|
61
|
+
export interface NodeFilter {
|
|
62
|
+
type?: NodeType;
|
|
63
|
+
source?: string;
|
|
64
|
+
createdAfter?: string;
|
|
65
|
+
createdBefore?: string;
|
|
66
|
+
nameContains?: string;
|
|
67
|
+
}
|
|
68
|
+
export interface GraphStats {
|
|
69
|
+
totalNodes: number;
|
|
70
|
+
totalEdges: number;
|
|
71
|
+
nodesByType: Record<string, number>;
|
|
72
|
+
storageBackend: string;
|
|
73
|
+
lastConsolidated?: string;
|
|
74
|
+
memoryFilePath?: string;
|
|
75
|
+
}
|
|
76
|
+
export interface StorageBackend {
|
|
77
|
+
initialize(): Promise<void>;
|
|
78
|
+
addNode(node: MemoryNode): Promise<void>;
|
|
79
|
+
updateNode(id: string, updates: Partial<MemoryNode>): Promise<MemoryNode | null>;
|
|
80
|
+
deleteNode(id: string): Promise<boolean>;
|
|
81
|
+
getNode(id: string): Promise<MemoryNode | null>;
|
|
82
|
+
getNodeByName(name: string): Promise<MemoryNode | null>;
|
|
83
|
+
findNodes(filter: NodeFilter): Promise<MemoryNode[]>;
|
|
84
|
+
getAllNodes(limit: number, offset: number): Promise<{
|
|
85
|
+
nodes: MemoryNode[];
|
|
86
|
+
total: number;
|
|
87
|
+
}>;
|
|
88
|
+
findNodesByEmbedding(embedding: number[], topK: number): Promise<ScoredNode[]>;
|
|
89
|
+
addEdge(edge: MemoryEdge): Promise<void>;
|
|
90
|
+
updateEdge(id: string, updates: Partial<MemoryEdge>): Promise<MemoryEdge | null>;
|
|
91
|
+
deleteEdge(id: string): Promise<boolean>;
|
|
92
|
+
getEdge(id: string): Promise<MemoryEdge | null>;
|
|
93
|
+
getEdgesForNode(nodeId: string, direction?: "in" | "out" | "both"): Promise<MemoryEdge[]>;
|
|
94
|
+
getEdgesBetween(sourceId: string, targetId: string): Promise<MemoryEdge[]>;
|
|
95
|
+
getNeighborhood(nodeId: string, depth: number): Promise<Subgraph>;
|
|
96
|
+
getStats(): Promise<GraphStats>;
|
|
97
|
+
close(): Promise<void>;
|
|
98
|
+
}
|
|
99
|
+
export interface ExtractedEntity {
|
|
100
|
+
name: string;
|
|
101
|
+
type: NodeType;
|
|
102
|
+
description: string;
|
|
103
|
+
metadata?: Record<string, unknown>;
|
|
104
|
+
}
|
|
105
|
+
export interface ExtractedRelation {
|
|
106
|
+
source: string;
|
|
107
|
+
target: string;
|
|
108
|
+
relation: string;
|
|
109
|
+
description?: string;
|
|
110
|
+
weight?: number;
|
|
111
|
+
}
|
|
112
|
+
export interface ExtractionResult {
|
|
113
|
+
entities: ExtractedEntity[];
|
|
114
|
+
relations: ExtractedRelation[];
|
|
115
|
+
}
|
|
116
|
+
export interface LLMProvider {
|
|
117
|
+
extractEntitiesAndRelations(text: string, existingEntities: string[]): Promise<ExtractionResult>;
|
|
118
|
+
generateEmbedding(text: string): Promise<number[]>;
|
|
119
|
+
generateEmbeddingBatch(texts: string[]): Promise<number[][]>;
|
|
120
|
+
}
|
|
121
|
+
export interface ConsolidationResult {
|
|
122
|
+
mergedNodes: number;
|
|
123
|
+
resolvedConflicts: number;
|
|
124
|
+
inferredEdges: number;
|
|
125
|
+
prunedNodes: number;
|
|
126
|
+
duration: number;
|
|
127
|
+
}
|
|
128
|
+
export type ConsolidationStrategy = "full" | "merge_only" | "prune_only" | "infer_only";
|
|
129
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,iDAAiD;AACjD,gFAAgF"}
|
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
# Open-Memory MCP Server — Implementation Plan
|
|
2
|
+
|
|
3
|
+
A graph-based agent memory MCP server that **extends AI coding assistant memory** for developers using Google Antigravity or VS Code GitHub Copilot.
|
|
4
|
+
|
|
5
|
+
## Problem
|
|
6
|
+
|
|
7
|
+
1. **Context window loss** — AI coding assistants lose context as conversations grow; developers re-explain the same code changes repeatedly
|
|
8
|
+
2. **Rapid code evolution** — frequent features/bug fixes make documentation outdated quickly
|
|
9
|
+
3. **No persistent memory** — conversations are ephemeral; decisions, patterns, and context are lost between sessions
|
|
10
|
+
|
|
11
|
+
## Solution
|
|
12
|
+
|
|
13
|
+
An MCP server that stores entities/relationships in a knowledge graph and provides relevant historical context back to the agent — giving AI assistants persistent project memory across sessions.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Core Architecture Principle
|
|
18
|
+
|
|
19
|
+
> [!IMPORTANT]
|
|
20
|
+
> **Agent-Driven Design**: The AI agent in the chat window (Antigravity/Copilot) **IS the LLM**. It drives entity extraction, retrieval, and evolution directly through MCP tool calls. No separate LLM API key is required.
|
|
21
|
+
>
|
|
22
|
+
> The tools accept **structured data** (entities, relations) from the agent. The agent extracts entities from conversations using its own intelligence and passes them to the MCP for storage.
|
|
23
|
+
>
|
|
24
|
+
> An **optional** internal LLM provider exists for users who want server-side encoding (e.g., batch processing old conversations), but is not required for normal operation.
|
|
25
|
+
|
|
26
|
+
```mermaid
|
|
27
|
+
graph TB
|
|
28
|
+
subgraph IDE["Chat Window"]
|
|
29
|
+
Agent["AI Agent - The LLM"]
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
subgraph MCP["open-memory-mcp-server"]
|
|
33
|
+
Tools["MCP Tools"]
|
|
34
|
+
Resources["MCP Resources"]
|
|
35
|
+
Store["Graph Store"]
|
|
36
|
+
Evolve["Evolution Engine"]
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
subgraph Backend["Storage"]
|
|
40
|
+
JSON["Local JSON"]
|
|
41
|
+
Neo4j["Neo4j"]
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
Agent -->|extract entities| Agent
|
|
45
|
+
Agent -->|save via stdio| Tools
|
|
46
|
+
Tools --> Store
|
|
47
|
+
Store --> JSON
|
|
48
|
+
Store --> Neo4j
|
|
49
|
+
Evolve --> Store
|
|
50
|
+
Resources -->|auto context| Agent
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Tool Design: Agent-Driven API
|
|
56
|
+
|
|
57
|
+
### Write Tools (agent passes structured data)
|
|
58
|
+
|
|
59
|
+
| Tool | Input | What It Does |
|
|
60
|
+
| -------------------------- | ------------------------------------------------------------- | -------------------------------------------------------------- |
|
|
61
|
+
| `memory_add_entities` | `{ entities: [{ name, type, description, metadata? }] }` | Agent extracts entities and sends them; server stores + embeds |
|
|
62
|
+
| `memory_add_relations` | `{ relations: [{ source, target, relation, description? }] }` | Agent identifies relationships; server stores edges |
|
|
63
|
+
| `memory_save_conversation` | `{ messages: [{ role, content }], context?: string }` | Stores raw conversation as an event node for history |
|
|
64
|
+
|
|
65
|
+
### Read Tools (agent retrieves context)
|
|
66
|
+
|
|
67
|
+
| Tool | Input | What It Does |
|
|
68
|
+
| ---------------------- | ------------------------------------- | --------------------------------------------------------------- |
|
|
69
|
+
| `memory_search` | `{ query, topK?, type?, timeRange? }` | Hybrid text + graph search; returns relevant entities + context |
|
|
70
|
+
| `memory_get_entity` | `{ name or id }` | Full entity details with all relationships |
|
|
71
|
+
| `memory_list_entities` | `{ type?, limit?, offset? }` | Paginated entity listing |
|
|
72
|
+
| `memory_get_relations` | `{ entity, relation?, direction? }` | Relationships for an entity |
|
|
73
|
+
| `memory_get_context` | `{ topic, maxTokens? }` | Retrieve summarized context ready for prompt injection |
|
|
74
|
+
|
|
75
|
+
### Management Tools
|
|
76
|
+
|
|
77
|
+
| Tool | Input | What It Does |
|
|
78
|
+
| ---------------------- | ---------------- | ----------------------------------------------------- |
|
|
79
|
+
| `memory_delete_entity` | `{ id or name }` | Remove entity + edges |
|
|
80
|
+
| `memory_consolidate` | `{ strategy? }` | Merge duplicates, prune stale nodes, infer edges |
|
|
81
|
+
| `memory_status` | — | Node/edge counts, storage backend, last consolidation |
|
|
82
|
+
|
|
83
|
+
### Optional: Server-Side Encoding (if LLM configured)
|
|
84
|
+
|
|
85
|
+
| Tool | Input | What It Does |
|
|
86
|
+
| -------------------- | ---------- | -------------------------------------------------------------------------- |
|
|
87
|
+
| `memory_encode_text` | `{ text }` | Server uses internal LLM to extract entities + store (requires LLM config) |
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Proposed Changes
|
|
92
|
+
|
|
93
|
+
### 1. Project Scaffolding
|
|
94
|
+
|
|
95
|
+
#### [NEW] [package.json](file:///d:/Projects/open-memory/package.json)
|
|
96
|
+
|
|
97
|
+
- `@modelcontextprotocol/sdk`, `zod`, `neo4j-driver`, `uuid`, `dotenv`
|
|
98
|
+
- Optional: `openai` (only needed if internal LLM enabled)
|
|
99
|
+
|
|
100
|
+
#### [NEW] [tsconfig.json](file:///d:/Projects/open-memory/tsconfig.json)
|
|
101
|
+
|
|
102
|
+
#### [NEW] [.env.example](file:///d:/Projects/open-memory/.env.example)
|
|
103
|
+
|
|
104
|
+
#### [NEW] [README.md](file:///d:/Projects/open-memory/README.md)
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
### 2. Core Types
|
|
109
|
+
|
|
110
|
+
#### [NEW] [src/types.ts](file:///d:/Projects/open-memory/src/types.ts)
|
|
111
|
+
|
|
112
|
+
```typescript
|
|
113
|
+
interface MemoryNode {
|
|
114
|
+
id: string;
|
|
115
|
+
name: string;
|
|
116
|
+
type:
|
|
117
|
+
| "entity"
|
|
118
|
+
| "concept"
|
|
119
|
+
| "event"
|
|
120
|
+
| "code_pattern"
|
|
121
|
+
| "decision"
|
|
122
|
+
| "conversation";
|
|
123
|
+
description: string;
|
|
124
|
+
embedding?: number[]; // generated server-side from description
|
|
125
|
+
metadata: Record<string, unknown>;
|
|
126
|
+
createdAt: string;
|
|
127
|
+
updatedAt: string;
|
|
128
|
+
validFrom?: string; // bi-temporal
|
|
129
|
+
validUntil?: string;
|
|
130
|
+
source?: string;
|
|
131
|
+
accessCount: number;
|
|
132
|
+
lastAccessedAt?: string;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
interface MemoryEdge {
|
|
136
|
+
id: string;
|
|
137
|
+
source: string;
|
|
138
|
+
target: string;
|
|
139
|
+
relation: string;
|
|
140
|
+
description: string;
|
|
141
|
+
weight: number;
|
|
142
|
+
metadata: Record<string, unknown>;
|
|
143
|
+
createdAt: string;
|
|
144
|
+
updatedAt: string;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
interface StorageBackend {
|
|
148
|
+
initialize(): Promise<void>;
|
|
149
|
+
// ... CRUD + search + traversal ops
|
|
150
|
+
close(): Promise<void>;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
// Optional — only used if LLM_API_KEY is configured
|
|
154
|
+
interface LLMProvider {
|
|
155
|
+
extractEntitiesAndRelations(
|
|
156
|
+
text: string,
|
|
157
|
+
existing: string[],
|
|
158
|
+
): Promise<ExtractionResult>;
|
|
159
|
+
generateEmbedding(text: string): Promise<number[]>;
|
|
160
|
+
}
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
### 3. Storage Backends
|
|
166
|
+
|
|
167
|
+
#### [NEW] [src/storage/json-store.ts](file:///d:/Projects/open-memory/src/storage/json-store.ts)
|
|
168
|
+
|
|
169
|
+
Local JSON file backend — zero config, atomic writes, in-memory cosine similarity search.
|
|
170
|
+
|
|
171
|
+
#### [NEW] [src/storage/neo4j-store.ts](file:///d:/Projects/open-memory/src/storage/neo4j-store.ts)
|
|
172
|
+
|
|
173
|
+
Neo4j backend — Cypher queries, vector index, multi-hop traversal, auto-schema creation.
|
|
174
|
+
|
|
175
|
+
#### [NEW] [src/storage/factory.ts](file:///d:/Projects/open-memory/src/storage/factory.ts)
|
|
176
|
+
|
|
177
|
+
Factory: `STORAGE_BACKEND` env var → `"json"` (default) or `"neo4j"`.
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
### 4. Embedding Service
|
|
182
|
+
|
|
183
|
+
#### [NEW] [src/encoding/embedder.ts](file:///d:/Projects/open-memory/src/encoding/embedder.ts)
|
|
184
|
+
|
|
185
|
+
Simple text-to-vector using a lightweight approach:
|
|
186
|
+
|
|
187
|
+
- If LLM provider configured → use its embedding API
|
|
188
|
+
- Fallback → basic TF-IDF / character n-gram hashing (no external dependency, works offline)
|
|
189
|
+
|
|
190
|
+
This runs server-side whenever entities are added, so search works via cosine similarity without needing the agent to generate embeddings.
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
### 5. LLM Provider (Optional)
|
|
195
|
+
|
|
196
|
+
#### [NEW] [src/llm/provider.ts](file:///d:/Projects/open-memory/src/llm/provider.ts)
|
|
197
|
+
|
|
198
|
+
#### [NEW] [src/llm/openai-provider.ts](file:///d:/Projects/open-memory/src/llm/openai-provider.ts)
|
|
199
|
+
|
|
200
|
+
#### [NEW] [src/llm/prompts.ts](file:///d:/Projects/open-memory/src/llm/prompts.ts)
|
|
201
|
+
|
|
202
|
+
Only loaded if `LLM_API_KEY` is set. Powers `memory_encode_text` tool for server-side extraction.
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
### 6. Retrieval Engine
|
|
207
|
+
|
|
208
|
+
#### [NEW] [src/retrieval/search.ts](file:///d:/Projects/open-memory/src/retrieval/search.ts)
|
|
209
|
+
|
|
210
|
+
1. Text match + cosine similarity on node descriptions (find anchors)
|
|
211
|
+
2. Graph traversal from anchors (2-hop neighborhood)
|
|
212
|
+
3. Temporal + access frequency ranking
|
|
213
|
+
4. Format results as structured context
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
### 7. Evolution Engine
|
|
218
|
+
|
|
219
|
+
#### [NEW] [src/evolution/consolidator.ts](file:///d:/Projects/open-memory/src/evolution/consolidator.ts)
|
|
220
|
+
|
|
221
|
+
- Duplicate detection + merging
|
|
222
|
+
- Temporal invalidation for conflicting facts
|
|
223
|
+
- Transitive edge inference
|
|
224
|
+
- Stale node pruning
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
### 8. MCP Tools + Resources
|
|
229
|
+
|
|
230
|
+
#### [NEW] [src/tools/memory-tools.ts](file:///d:/Projects/open-memory/src/tools/memory-tools.ts)
|
|
231
|
+
|
|
232
|
+
All 11 tools registered with proper schemas and annotations.
|
|
233
|
+
|
|
234
|
+
#### [NEW] [src/resources/context-resource.ts](file:///d:/Projects/open-memory/src/resources/context-resource.ts)
|
|
235
|
+
|
|
236
|
+
`memory://context/recent` — auto-injectable recent context.
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
### 9. Entry Point
|
|
241
|
+
|
|
242
|
+
#### [NEW] [src/index.ts](file:///d:/Projects/open-memory/src/index.ts)
|
|
243
|
+
|
|
244
|
+
Load config → init storage → optionally init LLM → register tools/resources → stdio connect.
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## File Tree
|
|
249
|
+
|
|
250
|
+
```
|
|
251
|
+
open-memory/
|
|
252
|
+
├── package.json
|
|
253
|
+
├── tsconfig.json
|
|
254
|
+
├── .env.example
|
|
255
|
+
├── README.md
|
|
256
|
+
└── src/
|
|
257
|
+
├── index.ts
|
|
258
|
+
├── types.ts
|
|
259
|
+
├── constants.ts
|
|
260
|
+
├── storage/
|
|
261
|
+
│ ├── factory.ts
|
|
262
|
+
│ ├── json-store.ts
|
|
263
|
+
│ └── neo4j-store.ts
|
|
264
|
+
├── encoding/
|
|
265
|
+
│ └── embedder.ts
|
|
266
|
+
├── llm/ # optional
|
|
267
|
+
│ ├── provider.ts
|
|
268
|
+
│ ├── openai-provider.ts
|
|
269
|
+
│ └── prompts.ts
|
|
270
|
+
├── retrieval/
|
|
271
|
+
│ └── search.ts
|
|
272
|
+
├── evolution/
|
|
273
|
+
│ └── consolidator.ts
|
|
274
|
+
├── tools/
|
|
275
|
+
│ └── memory-tools.ts
|
|
276
|
+
└── resources/
|
|
277
|
+
└── context-resource.ts
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
## Environment Configuration
|
|
281
|
+
|
|
282
|
+
```env
|
|
283
|
+
# Storage (required)
|
|
284
|
+
STORAGE_BACKEND=json # "json" (default) or "neo4j"
|
|
285
|
+
MEMORY_STORE_PATH=./memory.json # for json backend
|
|
286
|
+
|
|
287
|
+
# Neo4j (only if STORAGE_BACKEND=neo4j)
|
|
288
|
+
NEO4J_URI=bolt://localhost:7687
|
|
289
|
+
NEO4J_USER=neo4j
|
|
290
|
+
NEO4J_PASSWORD=password
|
|
291
|
+
|
|
292
|
+
# LLM (OPTIONAL — only for server-side encoding via memory_encode_text)
|
|
293
|
+
LLM_API_KEY= # leave empty = agent-driven mode
|
|
294
|
+
LLM_BASE_URL=https://api.openai.com/v1
|
|
295
|
+
LLM_CHAT_MODEL=gpt-4o-mini
|
|
296
|
+
LLM_EMBEDDING_MODEL=text-embedding-3-small
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
---
|
|
300
|
+
|
|
301
|
+
## Verification Plan
|
|
302
|
+
|
|
303
|
+
### Build
|
|
304
|
+
|
|
305
|
+
```bash
|
|
306
|
+
cd d:/Projects/open-memory && npm run build
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
### MCP Inspector
|
|
310
|
+
|
|
311
|
+
```bash
|
|
312
|
+
npx @modelcontextprotocol/inspector node dist/index.js
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
### Smoke Test (Agent-Driven Flow)
|
|
316
|
+
|
|
317
|
+
1. `memory_status` → `{ nodes: 0, edges: 0, storage: "json" }`
|
|
318
|
+
2. `memory_add_entities` → `{ entities: [{ name: "React Query", type: "entity", description: "Data fetching library used in dashboard" }] }`
|
|
319
|
+
3. `memory_add_relations` → `{ relations: [{ source: "dashboard", target: "React Query", relation: "uses" }] }`
|
|
320
|
+
4. `memory_search` → `{ query: "data fetching" }` → returns React Query context
|
|
321
|
+
5. `memory_get_entity` → `{ name: "React Query" }` → full details + relations
|
|
322
|
+
6. `memory_consolidate` → runs without errors
|
package/package.json
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@coreidentitylabs/open-graph-memory-mcp",
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"description": "Graph-based agent memory MCP server — extends AI coding assistant memory with persistent knowledge graphs",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"bin": {
|
|
8
|
+
"@coreidentitylabs/open-graph-memory-mcp": "dist/index.js"
|
|
9
|
+
},
|
|
10
|
+
"scripts": {
|
|
11
|
+
"start": "node dist/index.js",
|
|
12
|
+
"dev": "tsx watch src/index.ts",
|
|
13
|
+
"build": "tsc",
|
|
14
|
+
"prepare": "npm run build",
|
|
15
|
+
"clean": "rimraf dist"
|
|
16
|
+
},
|
|
17
|
+
"engines": {
|
|
18
|
+
"node": ">=18"
|
|
19
|
+
},
|
|
20
|
+
"keywords": [
|
|
21
|
+
"mcp",
|
|
22
|
+
"memory",
|
|
23
|
+
"graph",
|
|
24
|
+
"knowledge-graph",
|
|
25
|
+
"agent-memory",
|
|
26
|
+
"ai-coding-assistant"
|
|
27
|
+
],
|
|
28
|
+
"license": "MIT",
|
|
29
|
+
"dependencies": {
|
|
30
|
+
"@modelcontextprotocol/sdk": "^1.6.1",
|
|
31
|
+
"dotenv": "^16.4.7",
|
|
32
|
+
"neo4j-driver": "^5.27.0",
|
|
33
|
+
"uuid": "^11.0.5",
|
|
34
|
+
"zod": "^3.23.8"
|
|
35
|
+
},
|
|
36
|
+
"devDependencies": {
|
|
37
|
+
"@types/node": "^22.10.0",
|
|
38
|
+
"@types/uuid": "^10.0.0",
|
|
39
|
+
"rimraf": "^6.0.1",
|
|
40
|
+
"tsx": "^4.19.2",
|
|
41
|
+
"typescript": "^5.7.2"
|
|
42
|
+
}
|
|
43
|
+
}
|
package/src/constants.ts
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// Open-Memory MCP Server — Constants & Configuration
|
|
3
|
+
// =============================================================================
|
|
4
|
+
|
|
5
|
+
/** Maximum response size in characters to prevent overwhelming the agent */
|
|
6
|
+
export const CHARACTER_LIMIT = 25_000;
|
|
7
|
+
|
|
8
|
+
/** Default number of results in paginated responses */
|
|
9
|
+
export const DEFAULT_PAGE_SIZE = 20;
|
|
10
|
+
|
|
11
|
+
/** Maximum page size for list operations */
|
|
12
|
+
export const MAX_PAGE_SIZE = 100;
|
|
13
|
+
|
|
14
|
+
/** Default number of hops for graph neighborhood traversal */
|
|
15
|
+
export const DEFAULT_TRAVERSAL_DEPTH = 2;
|
|
16
|
+
|
|
17
|
+
/** Default number of results for semantic search */
|
|
18
|
+
export const DEFAULT_TOP_K = 10;
|
|
19
|
+
|
|
20
|
+
/** Similarity threshold for duplicate detection during consolidation */
|
|
21
|
+
export const DUPLICATE_SIMILARITY_THRESHOLD = 0.85;
|
|
22
|
+
|
|
23
|
+
/** Minimum edge weight to keep during pruning */
|
|
24
|
+
export const MIN_EDGE_WEIGHT = 0.1;
|
|
25
|
+
|
|
26
|
+
/** Maximum age (days) for stale node pruning — nodes not accessed in this period */
|
|
27
|
+
export const STALE_NODE_AGE_DAYS = 90;
|
|
28
|
+
|
|
29
|
+
/** Default storage file path */
|
|
30
|
+
export const DEFAULT_MEMORY_STORE_PATH = "./memory.json";
|
|
31
|
+
|
|
32
|
+
/** Server name for MCP registration */
|
|
33
|
+
export const SERVER_NAME = "open-memory-mcp-server";
|
|
34
|
+
|
|
35
|
+
/** Server version */
|
|
36
|
+
export const SERVER_VERSION = "1.0.0";
|
|
37
|
+
|
|
38
|
+
// -----------------------------------------------------------------------------
|
|
39
|
+
// Environment variable keys
|
|
40
|
+
// -----------------------------------------------------------------------------
|
|
41
|
+
|
|
42
|
+
export const ENV_KEYS = {
|
|
43
|
+
STORAGE_BACKEND: "STORAGE_BACKEND",
|
|
44
|
+
MEMORY_STORE_PATH: "MEMORY_STORE_PATH",
|
|
45
|
+
NEO4J_URI: "NEO4J_URI",
|
|
46
|
+
NEO4J_USER: "NEO4J_USER",
|
|
47
|
+
NEO4J_PASSWORD: "NEO4J_PASSWORD",
|
|
48
|
+
LLM_API_KEY: "LLM_API_KEY",
|
|
49
|
+
LLM_BASE_URL: "LLM_BASE_URL",
|
|
50
|
+
LLM_CHAT_MODEL: "LLM_CHAT_MODEL",
|
|
51
|
+
LLM_EMBEDDING_MODEL: "LLM_EMBEDDING_MODEL",
|
|
52
|
+
} as const;
|