@neruva/mcp 0.1.0
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 +81 -0
- package/dist/server.d.ts +2 -0
- package/dist/server.js +253 -0
- package/dist/server.js.map +1 -0
- package/package.json +44 -0
package/README.md
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# @neruva/mcp
|
|
2
|
+
|
|
3
|
+
Model Context Protocol server for [Neruva](https://neruva.io) -- vector memory + HD-native substrate (knowledge graphs, analogy, causal do-operator, EFE planning) for AI agents.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npx -y @neruva/mcp # one-off, no install
|
|
9
|
+
# or
|
|
10
|
+
npm i -g @neruva/mcp # then `neruva-mcp`
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Wire into a client
|
|
14
|
+
|
|
15
|
+
### Claude Code
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
claude mcp add neruva \
|
|
19
|
+
--env NERUVA_API_KEY=$NERUVA_API_KEY \
|
|
20
|
+
-- npx -y @neruva/mcp
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### Cursor (`~/.cursor/mcp.json`)
|
|
24
|
+
|
|
25
|
+
```json
|
|
26
|
+
{
|
|
27
|
+
"mcpServers": {
|
|
28
|
+
"neruva": {
|
|
29
|
+
"command": "npx",
|
|
30
|
+
"args": ["-y", "@neruva/mcp"],
|
|
31
|
+
"env": { "NERUVA_API_KEY": "..." }
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Codex (`~/.codex/config.toml`)
|
|
38
|
+
|
|
39
|
+
```toml
|
|
40
|
+
[mcp_servers.neruva]
|
|
41
|
+
command = "npx"
|
|
42
|
+
args = ["-y", "@neruva/mcp"]
|
|
43
|
+
env = { NERUVA_API_KEY = "..." }
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Gemini CLI (`~/.gemini/settings.json`)
|
|
47
|
+
|
|
48
|
+
```json
|
|
49
|
+
{
|
|
50
|
+
"mcpServers": {
|
|
51
|
+
"neruva": {
|
|
52
|
+
"command": "npx",
|
|
53
|
+
"args": ["-y", "@neruva/mcp"],
|
|
54
|
+
"env": { "NERUVA_API_KEY": "..." }
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Tools exposed
|
|
61
|
+
|
|
62
|
+
| Tool | What it does |
|
|
63
|
+
|---|---|
|
|
64
|
+
| `memory_upsert` | Insert/update vectors in a namespace (Pinecone-compatible) |
|
|
65
|
+
| `memory_query` | Cosine top-K search in a namespace |
|
|
66
|
+
| `memory_delete` | Delete vectors by id |
|
|
67
|
+
| `hd_kg_add_fact` | Add (subject, relation, object) to a knowledge graph |
|
|
68
|
+
| `hd_kg_query` | Query a knowledge graph for the object of a (subject, relation) |
|
|
69
|
+
| `hd_analogy` | Solve `a:b::c:?` analogies in HD space |
|
|
70
|
+
| `hd_causal_query` | Observational *or* interventional (Pearl do-operator) query |
|
|
71
|
+
| `hd_plan` | EFE active-inference planner over a stored model |
|
|
72
|
+
|
|
73
|
+
## Auth
|
|
74
|
+
|
|
75
|
+
Set `NERUVA_API_KEY` in the environment. Get a key at https://app.neruva.io.
|
|
76
|
+
|
|
77
|
+
`NERUVA_URL` is optional and defaults to `https://api.neruva.io`.
|
|
78
|
+
|
|
79
|
+
## License
|
|
80
|
+
|
|
81
|
+
MIT
|
package/dist/server.d.ts
ADDED
package/dist/server.js
ADDED
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Neruva MCP server.
|
|
4
|
+
*
|
|
5
|
+
* Exposes Neruva Memory + HD Substrate to any MCP-aware host (Claude
|
|
6
|
+
* Code, Cursor, Codex, Gemini CLI, etc) as a small set of tools. Pure
|
|
7
|
+
* thin wrapper over the REST API at api.neruva.io -- this process
|
|
8
|
+
* holds NO algorithmic state and imports nothing from the substrate
|
|
9
|
+
* core. The hard work happens server-side; this is just glue.
|
|
10
|
+
*
|
|
11
|
+
* Env:
|
|
12
|
+
* NERUVA_API_KEY required, your key from app.neruva.io
|
|
13
|
+
* NERUVA_URL optional, defaults to https://api.neruva.io
|
|
14
|
+
*/
|
|
15
|
+
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
16
|
+
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
17
|
+
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
18
|
+
const API_KEY = process.env.NERUVA_API_KEY;
|
|
19
|
+
const BASE_URL = process.env.NERUVA_URL?.replace(/\/$/, "") ?? "https://api.neruva.io";
|
|
20
|
+
if (!API_KEY) {
|
|
21
|
+
console.error("[neruva-mcp] NERUVA_API_KEY not set. Get one at https://app.neruva.io");
|
|
22
|
+
process.exit(1);
|
|
23
|
+
}
|
|
24
|
+
async function call(method, path, body) {
|
|
25
|
+
const r = await fetch(BASE_URL + path, {
|
|
26
|
+
method,
|
|
27
|
+
headers: {
|
|
28
|
+
"Api-Key": API_KEY,
|
|
29
|
+
...(body ? { "Content-Type": "application/json" } : {}),
|
|
30
|
+
},
|
|
31
|
+
body: body ? JSON.stringify(body) : undefined,
|
|
32
|
+
});
|
|
33
|
+
const text = await r.text();
|
|
34
|
+
if (!r.ok) {
|
|
35
|
+
throw new Error(`${method} ${path} -> ${r.status}: ${text}`);
|
|
36
|
+
}
|
|
37
|
+
try {
|
|
38
|
+
return JSON.parse(text);
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
return text;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
const TOOLS = [
|
|
45
|
+
{
|
|
46
|
+
name: "memory_upsert",
|
|
47
|
+
description: "Insert or update vectors in a Neruva Memory namespace. Pinecone-compatible payload.",
|
|
48
|
+
inputSchema: {
|
|
49
|
+
type: "object",
|
|
50
|
+
properties: {
|
|
51
|
+
index: { type: "string", description: "Index name" },
|
|
52
|
+
namespace: { type: "string", description: "Namespace (one per agent)" },
|
|
53
|
+
vectors: {
|
|
54
|
+
type: "array",
|
|
55
|
+
description: "Vectors: {id, values, metadata?}",
|
|
56
|
+
items: {
|
|
57
|
+
type: "object",
|
|
58
|
+
properties: {
|
|
59
|
+
id: { type: "string" },
|
|
60
|
+
values: { type: "array", items: { type: "number" } },
|
|
61
|
+
metadata: { type: "object" },
|
|
62
|
+
},
|
|
63
|
+
required: ["id", "values"],
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
required: ["index", "namespace", "vectors"],
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
name: "memory_query",
|
|
72
|
+
description: "Cosine-search a namespace by vector. Returns top-K matches with metadata.",
|
|
73
|
+
inputSchema: {
|
|
74
|
+
type: "object",
|
|
75
|
+
properties: {
|
|
76
|
+
index: { type: "string" },
|
|
77
|
+
namespace: { type: "string" },
|
|
78
|
+
vector: { type: "array", items: { type: "number" } },
|
|
79
|
+
topK: { type: "integer", default: 10 },
|
|
80
|
+
includeMetadata: { type: "boolean", default: true },
|
|
81
|
+
},
|
|
82
|
+
required: ["index", "namespace", "vector"],
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
name: "memory_delete",
|
|
87
|
+
description: "Delete vectors by id from a namespace.",
|
|
88
|
+
inputSchema: {
|
|
89
|
+
type: "object",
|
|
90
|
+
properties: {
|
|
91
|
+
index: { type: "string" },
|
|
92
|
+
namespace: { type: "string" },
|
|
93
|
+
ids: { type: "array", items: { type: "string" } },
|
|
94
|
+
},
|
|
95
|
+
required: ["index", "namespace", "ids"],
|
|
96
|
+
},
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
name: "hd_kg_add_fact",
|
|
100
|
+
description: "Add a (subject, relation, object) fact to a knowledge graph. Persists across restarts.",
|
|
101
|
+
inputSchema: {
|
|
102
|
+
type: "object",
|
|
103
|
+
properties: {
|
|
104
|
+
kg: { type: "string", description: "Knowledge-graph name" },
|
|
105
|
+
subject: { type: "string" },
|
|
106
|
+
relation: { type: "string" },
|
|
107
|
+
object: { type: "string" },
|
|
108
|
+
},
|
|
109
|
+
required: ["kg", "subject", "relation", "object"],
|
|
110
|
+
},
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
name: "hd_kg_query",
|
|
114
|
+
description: "Query a knowledge graph for the object of (subject, relation). Returns object + confidence.",
|
|
115
|
+
inputSchema: {
|
|
116
|
+
type: "object",
|
|
117
|
+
properties: {
|
|
118
|
+
kg: { type: "string" },
|
|
119
|
+
subject: { type: "string" },
|
|
120
|
+
relation: { type: "string" },
|
|
121
|
+
},
|
|
122
|
+
required: ["kg", "subject", "relation"],
|
|
123
|
+
},
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
name: "hd_analogy",
|
|
127
|
+
description: "Solve a four-term analogy in HD feature space: a is to b as c is to ? " +
|
|
128
|
+
"Items are integer feature IDs in [0, 2^n_feat). Returns the cleaned-up " +
|
|
129
|
+
"candidate plus cosine, runner-up cosine, and a confidence gap.",
|
|
130
|
+
inputSchema: {
|
|
131
|
+
type: "object",
|
|
132
|
+
properties: {
|
|
133
|
+
n_feat: {
|
|
134
|
+
type: "integer",
|
|
135
|
+
description: "Number of binary features. Item space size is 2^n_feat.",
|
|
136
|
+
},
|
|
137
|
+
a: { type: "integer" },
|
|
138
|
+
b: { type: "integer" },
|
|
139
|
+
c: { type: "integer" },
|
|
140
|
+
seed: { type: "integer", default: 4301 },
|
|
141
|
+
},
|
|
142
|
+
required: ["n_feat", "a", "b", "c"],
|
|
143
|
+
},
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
name: "hd_causal_query",
|
|
147
|
+
description: "Run an observational or interventional query against a stored causal model. " +
|
|
148
|
+
"query_type is 'observation' or 'intervention' -- arithmetically distinct.",
|
|
149
|
+
inputSchema: {
|
|
150
|
+
type: "object",
|
|
151
|
+
properties: {
|
|
152
|
+
scm: { type: "string", description: "Causal-model name" },
|
|
153
|
+
query_type: { type: "string", enum: ["observation", "intervention"] },
|
|
154
|
+
condition_var: { type: "integer" },
|
|
155
|
+
condition_value: { type: "integer" },
|
|
156
|
+
query_var: { type: "integer" },
|
|
157
|
+
query_value: { type: "integer" },
|
|
158
|
+
},
|
|
159
|
+
required: [
|
|
160
|
+
"scm",
|
|
161
|
+
"query_type",
|
|
162
|
+
"condition_var",
|
|
163
|
+
"condition_value",
|
|
164
|
+
"query_var",
|
|
165
|
+
"query_value",
|
|
166
|
+
],
|
|
167
|
+
},
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
name: "hd_plan",
|
|
171
|
+
description: "Plan a sequence of actions toward a goal using the EFE active-inference planner.",
|
|
172
|
+
inputSchema: {
|
|
173
|
+
type: "object",
|
|
174
|
+
properties: {
|
|
175
|
+
model: { type: "string", description: "Planner-model name" },
|
|
176
|
+
start: { type: "object", description: "Start state" },
|
|
177
|
+
goal: { type: "object", description: "Goal state" },
|
|
178
|
+
horizon: { type: "integer", default: 4 },
|
|
179
|
+
},
|
|
180
|
+
required: ["model", "start", "goal"],
|
|
181
|
+
},
|
|
182
|
+
},
|
|
183
|
+
];
|
|
184
|
+
const HANDLERS = {
|
|
185
|
+
memory_upsert: (a) => call("POST", `/v1/indexes/${enc(a.index)}/namespaces/${enc(a.namespace)}/upsert`, {
|
|
186
|
+
vectors: a.vectors,
|
|
187
|
+
}),
|
|
188
|
+
memory_query: (a) => call("POST", `/v1/indexes/${enc(a.index)}/namespaces/${enc(a.namespace)}/query`, {
|
|
189
|
+
vector: a.vector,
|
|
190
|
+
topK: a.topK ?? 10,
|
|
191
|
+
includeMetadata: a.includeMetadata ?? true,
|
|
192
|
+
}),
|
|
193
|
+
memory_delete: (a) => call("POST", `/v1/indexes/${enc(a.index)}/namespaces/${enc(a.namespace)}/delete`, {
|
|
194
|
+
ids: a.ids,
|
|
195
|
+
}),
|
|
196
|
+
hd_kg_add_fact: (a) => call("POST", `/v1/hd/kg/${enc(a.kg)}/facts`, {
|
|
197
|
+
facts: [{ subject: a.subject, relation: a.relation, object: a.object }],
|
|
198
|
+
}),
|
|
199
|
+
hd_kg_query: (a) => call("POST", `/v1/hd/kg/${enc(a.kg)}/query`, {
|
|
200
|
+
subject: a.subject,
|
|
201
|
+
relation: a.relation,
|
|
202
|
+
}),
|
|
203
|
+
hd_analogy: (a) => call("POST", "/v1/hd/analogy", {
|
|
204
|
+
n_feat: a.n_feat,
|
|
205
|
+
a: a.a,
|
|
206
|
+
b: a.b,
|
|
207
|
+
c: a.c,
|
|
208
|
+
seed: a.seed ?? 4301,
|
|
209
|
+
}),
|
|
210
|
+
hd_causal_query: (a) => call("POST", `/v1/hd/causal/${enc(a.scm)}/query`, {
|
|
211
|
+
query_type: a.query_type,
|
|
212
|
+
condition_var: a.condition_var,
|
|
213
|
+
condition_value: a.condition_value,
|
|
214
|
+
query_var: a.query_var,
|
|
215
|
+
query_value: a.query_value,
|
|
216
|
+
}),
|
|
217
|
+
hd_plan: (a) => call("POST", `/v1/hd/plan/${enc(a.model)}`, {
|
|
218
|
+
start: a.start,
|
|
219
|
+
goal: a.goal,
|
|
220
|
+
horizon: a.horizon ?? 4,
|
|
221
|
+
}),
|
|
222
|
+
};
|
|
223
|
+
function enc(s) {
|
|
224
|
+
return encodeURIComponent(s);
|
|
225
|
+
}
|
|
226
|
+
const server = new Server({ name: "neruva", version: "0.1.0" }, { capabilities: { tools: {} } });
|
|
227
|
+
server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: TOOLS }));
|
|
228
|
+
server.setRequestHandler(CallToolRequestSchema, async (req) => {
|
|
229
|
+
const name = req.params.name;
|
|
230
|
+
const handler = HANDLERS[name];
|
|
231
|
+
if (!handler) {
|
|
232
|
+
return {
|
|
233
|
+
content: [{ type: "text", text: `unknown tool: ${name}` }],
|
|
234
|
+
isError: true,
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
try {
|
|
238
|
+
const result = await handler(req.params.arguments ?? {});
|
|
239
|
+
return {
|
|
240
|
+
content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
catch (e) {
|
|
244
|
+
const msg = e instanceof Error ? e.message : String(e);
|
|
245
|
+
return {
|
|
246
|
+
content: [{ type: "text", text: `error: ${msg}` }],
|
|
247
|
+
isError: true,
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
});
|
|
251
|
+
const transport = new StdioServerTransport();
|
|
252
|
+
await server.connect(transport);
|
|
253
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@neruva/mcp",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Model Context Protocol server for Neruva -- vector memory + HD-native substrate (KGs, analogy, causal do-operator, EFE planning).",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"bin": {
|
|
8
|
+
"neruva-mcp": "dist/server.js"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"dist",
|
|
12
|
+
"README.md"
|
|
13
|
+
],
|
|
14
|
+
"scripts": {
|
|
15
|
+
"build": "tsc",
|
|
16
|
+
"start": "node dist/server.js",
|
|
17
|
+
"dev": "tsx src/server.ts"
|
|
18
|
+
},
|
|
19
|
+
"engines": {
|
|
20
|
+
"node": ">=18"
|
|
21
|
+
},
|
|
22
|
+
"dependencies": {
|
|
23
|
+
"@modelcontextprotocol/sdk": "^1.0.4"
|
|
24
|
+
},
|
|
25
|
+
"devDependencies": {
|
|
26
|
+
"@types/node": "^20.11.0",
|
|
27
|
+
"tsx": "^4.7.0",
|
|
28
|
+
"typescript": "^5.3.0"
|
|
29
|
+
},
|
|
30
|
+
"repository": {
|
|
31
|
+
"type": "git",
|
|
32
|
+
"url": "https://github.com/CloutSimLabs/neruva"
|
|
33
|
+
},
|
|
34
|
+
"homepage": "https://neruva.io/integrations/",
|
|
35
|
+
"keywords": [
|
|
36
|
+
"mcp",
|
|
37
|
+
"model-context-protocol",
|
|
38
|
+
"neruva",
|
|
39
|
+
"vector-database",
|
|
40
|
+
"agent-memory",
|
|
41
|
+
"knowledge-graph",
|
|
42
|
+
"ai"
|
|
43
|
+
]
|
|
44
|
+
}
|