@gramatr/mcp 0.13.32 → 0.13.34
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/bin/clear-creds.d.ts +1 -1
- package/dist/bin/clear-creds.d.ts.map +1 -1
- package/dist/bin/clear-creds.js +7 -13
- package/dist/bin/clear-creds.js.map +1 -1
- package/dist/bin/gramatr-mcp.d.ts.map +1 -1
- package/dist/bin/gramatr-mcp.js +16 -0
- package/dist/bin/gramatr-mcp.js.map +1 -1
- package/dist/bin/login.d.ts.map +1 -1
- package/dist/bin/login.js +27 -0
- package/dist/bin/login.js.map +1 -1
- package/dist/bin/setup-config-io.d.ts.map +1 -1
- package/dist/bin/setup-config-io.js +0 -20
- package/dist/bin/setup-config-io.js.map +1 -1
- package/dist/bin/setup.d.ts.map +1 -1
- package/dist/bin/setup.js +9 -12
- package/dist/bin/setup.js.map +1 -1
- package/dist/config-runtime.d.ts.map +1 -1
- package/dist/config-runtime.js +0 -11
- package/dist/config-runtime.js.map +1 -1
- package/dist/hooks/agent-gate.d.ts +3 -3
- package/dist/hooks/agent-gate.d.ts.map +1 -1
- package/dist/hooks/agent-gate.js +41 -43
- package/dist/hooks/agent-gate.js.map +1 -1
- package/dist/hooks/lib/gramatr-hook-utils.d.ts +6 -0
- package/dist/hooks/lib/gramatr-hook-utils.d.ts.map +1 -1
- package/dist/hooks/lib/gramatr-hook-utils.js +32 -0
- package/dist/hooks/lib/gramatr-hook-utils.js.map +1 -1
- package/dist/hooks/lib/hook-state.d.ts +2 -0
- package/dist/hooks/lib/hook-state.d.ts.map +1 -1
- package/dist/hooks/lib/hook-state.js +54 -30
- package/dist/hooks/lib/hook-state.js.map +1 -1
- package/dist/hooks/lib/intelligence.d.ts +3 -9
- package/dist/hooks/lib/intelligence.d.ts.map +1 -1
- package/dist/hooks/lib/intelligence.js +96 -210
- package/dist/hooks/lib/intelligence.js.map +1 -1
- package/dist/hooks/user-prompt-submit.d.ts.map +1 -1
- package/dist/hooks/user-prompt-submit.js +44 -25
- package/dist/hooks/user-prompt-submit.js.map +1 -1
- package/dist/setup/generated/instruction-blocks.d.ts +2 -2
- package/dist/setup/generated/instruction-blocks.d.ts.map +1 -1
- package/dist/setup/generated/instruction-blocks.js +2 -2
- package/dist/setup/generated/instruction-blocks.js.map +1 -1
- package/dist/setup/generated/platform-hooks.d.ts +1 -1
- package/dist/setup/generated/platform-hooks.d.ts.map +1 -1
- package/dist/setup/generated/platform-hooks.js +5 -3
- package/dist/setup/generated/platform-hooks.js.map +1 -1
- package/dist/tools/local-tools.d.ts +2 -2
- package/dist/tools/local-tools.d.ts.map +1 -1
- package/dist/tools/local-tools.js +177 -64
- package/dist/tools/local-tools.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,80 +2,100 @@
|
|
|
2
2
|
* Local-only tools — handled entirely by the local MCP server.
|
|
3
3
|
* Never proxied to the remote. Zero latency, zero network.
|
|
4
4
|
*/
|
|
5
|
-
import { cache } from
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { getSessionId, getToolCallCount } from
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
5
|
+
import { cache } from "../cache/lru-cache.js";
|
|
6
|
+
import { getLocalProjectByDirectory, getLocalProjectBySlug, getPacket, listLocalProjects, } from "../hooks/lib/hook-state.js";
|
|
7
|
+
import { VERSION } from "../hooks/lib/version.js";
|
|
8
|
+
import { getSessionId, getToolCallCount } from "../intelligence/session-manager.js";
|
|
9
|
+
import { getMetrics, resetMetrics } from "../metrics/collector.js";
|
|
10
|
+
import { callRemoteTool } from "../proxy/remote-client.js";
|
|
11
|
+
import { getTools } from "../proxy/tool-registry.js";
|
|
12
|
+
import { queueSize } from "../queue/offline-queue.js";
|
|
13
|
+
import { getServerUrl, getToken } from "../server/auth.js";
|
|
14
|
+
import { getWebToolDefinitions, handleWebTool, isWebTool } from "./web-tools.js";
|
|
15
15
|
/**
|
|
16
16
|
* Local tool definitions — these get merged into tools/list alongside remote tools.
|
|
17
17
|
*/
|
|
18
18
|
export function getLocalToolDefinitions() {
|
|
19
19
|
return [
|
|
20
20
|
{
|
|
21
|
-
name:
|
|
22
|
-
description:
|
|
23
|
-
inputSchema: { type:
|
|
21
|
+
name: "local_status",
|
|
22
|
+
description: "Show local MCP server status: cache stats, auth state, remote tool count, uptime, metrics summary.",
|
|
23
|
+
inputSchema: { type: "object", properties: {} },
|
|
24
24
|
annotations: { readOnlyHint: true },
|
|
25
25
|
},
|
|
26
26
|
{
|
|
27
|
-
name:
|
|
28
|
-
description:
|
|
29
|
-
inputSchema: { type:
|
|
27
|
+
name: "local_clear_cache",
|
|
28
|
+
description: "Clear the local LRU cache. Use after bulk mutations or when stale data is suspected.",
|
|
29
|
+
inputSchema: { type: "object", properties: {} },
|
|
30
30
|
},
|
|
31
31
|
{
|
|
32
|
-
name:
|
|
33
|
-
description:
|
|
34
|
-
inputSchema: { type:
|
|
32
|
+
name: "local_config",
|
|
33
|
+
description: "Show current local MCP server configuration: auth source, server URL, cache settings.",
|
|
34
|
+
inputSchema: { type: "object", properties: {} },
|
|
35
35
|
annotations: { readOnlyHint: true },
|
|
36
36
|
},
|
|
37
37
|
{
|
|
38
|
-
name:
|
|
39
|
-
description:
|
|
38
|
+
name: "local_metrics",
|
|
39
|
+
description: "Show per-tool call counts, latency distributions (p50/p95/p99), cache hit rate, errors.",
|
|
40
40
|
inputSchema: {
|
|
41
|
-
type:
|
|
41
|
+
type: "object",
|
|
42
42
|
properties: {
|
|
43
|
-
reset: {
|
|
43
|
+
reset: {
|
|
44
|
+
type: "boolean",
|
|
45
|
+
description: "Reset metrics to zero after reading (default false).",
|
|
46
|
+
},
|
|
44
47
|
},
|
|
45
48
|
},
|
|
46
49
|
annotations: { readOnlyHint: true },
|
|
47
50
|
},
|
|
48
51
|
{
|
|
49
|
-
name:
|
|
50
|
-
description:
|
|
52
|
+
name: "resolve_project",
|
|
53
|
+
description: "Resolve or list projects. Reads from local SQLite cache first; falls back to server for misses or search. Actions: list (recent projects), resolve (by slug or directory), search (text search — always remote).",
|
|
51
54
|
inputSchema: {
|
|
52
|
-
type:
|
|
55
|
+
type: "object",
|
|
53
56
|
properties: {
|
|
54
|
-
action: {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
action: {
|
|
58
|
+
type: "string",
|
|
59
|
+
enum: ["list", "resolve", "search"],
|
|
60
|
+
description: "list | resolve | search",
|
|
61
|
+
},
|
|
62
|
+
slug: { type: "string", description: "Project slug for resolve action." },
|
|
63
|
+
directory: { type: "string", description: "Absolute directory path for resolve action." },
|
|
64
|
+
query: { type: "string", description: "Search string for search action." },
|
|
65
|
+
limit: { type: "number", description: "Max results for list (default 20)." },
|
|
59
66
|
},
|
|
60
|
-
required: [
|
|
67
|
+
required: ["action"],
|
|
61
68
|
},
|
|
62
69
|
},
|
|
70
|
+
{
|
|
71
|
+
name: "local_fetch_packet",
|
|
72
|
+
description: "Retrieve a cached intelligence packet by turn ID. Reads from local SQLite first; falls back to remote intelligence_packet entity on cache miss. Call this when the hook injects a turn_id instead of the full packet.",
|
|
73
|
+
inputSchema: {
|
|
74
|
+
type: "object",
|
|
75
|
+
properties: {
|
|
76
|
+
id: { type: "string", description: "The turn_id injected by the UserPromptSubmit hook." },
|
|
77
|
+
},
|
|
78
|
+
required: ["id"],
|
|
79
|
+
},
|
|
80
|
+
annotations: { readOnlyHint: true },
|
|
81
|
+
},
|
|
63
82
|
...getWebToolDefinitions(),
|
|
64
83
|
];
|
|
65
84
|
}
|
|
66
85
|
const startTime = Date.now();
|
|
67
86
|
const LOCAL_TOOL_NAMES = new Set([
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
87
|
+
"local_status",
|
|
88
|
+
"local_clear_cache",
|
|
89
|
+
"local_config",
|
|
90
|
+
"local_metrics",
|
|
91
|
+
"local_fetch_packet",
|
|
92
|
+
"resolve_project",
|
|
73
93
|
]);
|
|
74
94
|
/**
|
|
75
95
|
* Check if a tool name is handled locally (fully or local-first).
|
|
76
96
|
*/
|
|
77
97
|
export function isLocalTool(name) {
|
|
78
|
-
return name.startsWith(
|
|
98
|
+
return name.startsWith("local_") || LOCAL_TOOL_NAMES.has(name);
|
|
79
99
|
}
|
|
80
100
|
/**
|
|
81
101
|
* Handle a local tool call.
|
|
@@ -86,19 +106,23 @@ export async function handleLocalTool(toolName, args) {
|
|
|
86
106
|
return handleWebTool(toolName, args);
|
|
87
107
|
}
|
|
88
108
|
switch (toolName) {
|
|
89
|
-
case
|
|
109
|
+
case "local_status":
|
|
90
110
|
return handleStatus();
|
|
91
|
-
case
|
|
111
|
+
case "local_clear_cache":
|
|
92
112
|
return handleClearCache();
|
|
93
|
-
case
|
|
113
|
+
case "local_config":
|
|
94
114
|
return handleConfig();
|
|
95
|
-
case
|
|
115
|
+
case "local_metrics":
|
|
96
116
|
return handleMetrics(args);
|
|
97
|
-
case
|
|
117
|
+
case "local_fetch_packet":
|
|
118
|
+
return handleLocalFetchPacket(args);
|
|
119
|
+
case "resolve_project":
|
|
98
120
|
return handleResolveProject(args);
|
|
99
121
|
default:
|
|
100
122
|
return {
|
|
101
|
-
content: [
|
|
123
|
+
content: [
|
|
124
|
+
{ type: "text", text: JSON.stringify({ error: `Unknown local tool: ${toolName}` }) },
|
|
125
|
+
],
|
|
102
126
|
isError: true,
|
|
103
127
|
};
|
|
104
128
|
}
|
|
@@ -113,12 +137,10 @@ function handleStatus() {
|
|
|
113
137
|
const metrics = getMetrics();
|
|
114
138
|
const status = {
|
|
115
139
|
server: {
|
|
116
|
-
name:
|
|
140
|
+
name: "gramatr-mcp",
|
|
117
141
|
version: VERSION,
|
|
118
|
-
uptime: uptimeMin < 60
|
|
119
|
-
|
|
120
|
-
: `${Math.floor(uptimeMin / 60)}h ${uptimeMin % 60}m`,
|
|
121
|
-
transport: 'stdio',
|
|
142
|
+
uptime: uptimeMin < 60 ? `${uptimeMin}m` : `${Math.floor(uptimeMin / 60)}h ${uptimeMin % 60}m`,
|
|
143
|
+
transport: "stdio",
|
|
122
144
|
},
|
|
123
145
|
session: {
|
|
124
146
|
id: sid ? `${sid.substring(0, 8)}...` : null,
|
|
@@ -144,21 +166,26 @@ function handleStatus() {
|
|
|
144
166
|
},
|
|
145
167
|
};
|
|
146
168
|
return {
|
|
147
|
-
content: [{ type:
|
|
169
|
+
content: [{ type: "text", text: JSON.stringify(status, null, 2) }],
|
|
148
170
|
};
|
|
149
171
|
}
|
|
150
172
|
function handleClearCache() {
|
|
151
173
|
const before = cache.stats().size;
|
|
152
174
|
cache.clear();
|
|
153
175
|
return {
|
|
154
|
-
content: [
|
|
176
|
+
content: [
|
|
177
|
+
{
|
|
178
|
+
type: "text",
|
|
179
|
+
text: JSON.stringify({ cleared: before, message: `Cleared ${before} cached entries.` }),
|
|
180
|
+
},
|
|
181
|
+
],
|
|
155
182
|
};
|
|
156
183
|
}
|
|
157
184
|
function handleConfig() {
|
|
158
185
|
const hasToken = !!getToken();
|
|
159
186
|
const config = {
|
|
160
187
|
auth: {
|
|
161
|
-
source: hasToken ?
|
|
188
|
+
source: hasToken ? "~/.gramatr.json" : "none",
|
|
162
189
|
has_token: hasToken,
|
|
163
190
|
},
|
|
164
191
|
remote: {
|
|
@@ -170,10 +197,10 @@ function handleConfig() {
|
|
|
170
197
|
ttl_ms: cache.stats().ttlMs,
|
|
171
198
|
current_size: cache.stats().size,
|
|
172
199
|
},
|
|
173
|
-
transport:
|
|
200
|
+
transport: "stdio",
|
|
174
201
|
};
|
|
175
202
|
return {
|
|
176
|
-
content: [{ type:
|
|
203
|
+
content: [{ type: "text", text: JSON.stringify(config, null, 2) }],
|
|
177
204
|
};
|
|
178
205
|
}
|
|
179
206
|
function handleMetrics(args) {
|
|
@@ -182,18 +209,23 @@ function handleMetrics(args) {
|
|
|
182
209
|
resetMetrics();
|
|
183
210
|
}
|
|
184
211
|
return {
|
|
185
|
-
content: [{ type:
|
|
212
|
+
content: [{ type: "text", text: JSON.stringify(snapshot, null, 2) }],
|
|
186
213
|
};
|
|
187
214
|
}
|
|
188
215
|
async function handleResolveProject(args) {
|
|
189
216
|
const action = args.action;
|
|
190
217
|
// list — return all local projects, sorted by updated_at desc
|
|
191
|
-
if (action ===
|
|
192
|
-
const limit = typeof args.limit ===
|
|
218
|
+
if (action === "list") {
|
|
219
|
+
const limit = typeof args.limit === "number" ? args.limit : 20;
|
|
193
220
|
try {
|
|
194
221
|
const rows = listLocalProjects(limit);
|
|
195
222
|
return {
|
|
196
|
-
content: [
|
|
223
|
+
content: [
|
|
224
|
+
{
|
|
225
|
+
type: "text",
|
|
226
|
+
text: JSON.stringify({ action: "list", projects: rows, source: "local", total: rows.length }, null, 2),
|
|
227
|
+
},
|
|
228
|
+
],
|
|
197
229
|
};
|
|
198
230
|
}
|
|
199
231
|
catch {
|
|
@@ -201,29 +233,110 @@ async function handleResolveProject(args) {
|
|
|
201
233
|
}
|
|
202
234
|
}
|
|
203
235
|
// resolve — try local first (slug, then directory), then remote on miss
|
|
204
|
-
if (action ===
|
|
205
|
-
const slug = typeof args.slug ===
|
|
206
|
-
const directory = typeof args.directory ===
|
|
236
|
+
if (action === "resolve") {
|
|
237
|
+
const slug = typeof args.slug === "string" ? args.slug : null;
|
|
238
|
+
const directory = typeof args.directory === "string" ? args.directory : null;
|
|
207
239
|
let local = slug ? getLocalProjectBySlug(slug) : null;
|
|
208
240
|
if (!local && directory)
|
|
209
241
|
local = getLocalProjectByDirectory(directory);
|
|
210
242
|
if (local) {
|
|
211
243
|
return {
|
|
212
|
-
content: [
|
|
244
|
+
content: [
|
|
245
|
+
{
|
|
246
|
+
type: "text",
|
|
247
|
+
text: JSON.stringify({ action: "resolve", project: local, source: "local" }, null, 2),
|
|
248
|
+
},
|
|
249
|
+
],
|
|
213
250
|
};
|
|
214
251
|
}
|
|
215
252
|
// Miss — fall through to remote below
|
|
216
253
|
}
|
|
217
254
|
// search always goes remote; resolve on local miss falls through here
|
|
218
255
|
try {
|
|
219
|
-
const result = await callRemoteTool(
|
|
256
|
+
const result = await callRemoteTool("resolve_project", args);
|
|
220
257
|
return result;
|
|
221
258
|
}
|
|
222
259
|
catch (err) {
|
|
223
260
|
return {
|
|
224
|
-
content: [
|
|
261
|
+
content: [
|
|
262
|
+
{
|
|
263
|
+
type: "text",
|
|
264
|
+
text: JSON.stringify({ error: err instanceof Error ? err.message : String(err) }),
|
|
265
|
+
},
|
|
266
|
+
],
|
|
267
|
+
isError: true,
|
|
268
|
+
};
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
async function handleLocalFetchPacket(args) {
|
|
272
|
+
const id = typeof args.id === "string" ? args.id.trim() : null;
|
|
273
|
+
if (!id) {
|
|
274
|
+
return {
|
|
275
|
+
content: [{ type: "text", text: JSON.stringify({ error: "id is required", found: false }) }],
|
|
225
276
|
isError: true,
|
|
226
277
|
};
|
|
227
278
|
}
|
|
279
|
+
// Local SQLite — primary path
|
|
280
|
+
try {
|
|
281
|
+
const record = getPacket(id);
|
|
282
|
+
if (record) {
|
|
283
|
+
let packet;
|
|
284
|
+
try {
|
|
285
|
+
packet = JSON.parse(record.payload);
|
|
286
|
+
}
|
|
287
|
+
catch {
|
|
288
|
+
packet = record.payload;
|
|
289
|
+
}
|
|
290
|
+
return {
|
|
291
|
+
content: [
|
|
292
|
+
{ type: "text", text: JSON.stringify({ found: true, source: "local", packet }, null, 2) },
|
|
293
|
+
],
|
|
294
|
+
};
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
catch {
|
|
298
|
+
// SQLite unavailable — fall through to remote
|
|
299
|
+
}
|
|
300
|
+
// Remote fallback — look up the intelligence_packet entity by ID
|
|
301
|
+
try {
|
|
302
|
+
const result = await callRemoteTool("get_entities", { ids: [id] });
|
|
303
|
+
const raw = result;
|
|
304
|
+
const text = raw.content?.[0]?.type === "text" ? raw.content[0].text : null;
|
|
305
|
+
if (text) {
|
|
306
|
+
let parsed;
|
|
307
|
+
try {
|
|
308
|
+
parsed = JSON.parse(text);
|
|
309
|
+
}
|
|
310
|
+
catch {
|
|
311
|
+
parsed = text;
|
|
312
|
+
}
|
|
313
|
+
const entities = parsed?.entities;
|
|
314
|
+
if (Array.isArray(entities) && entities.length > 0) {
|
|
315
|
+
return {
|
|
316
|
+
content: [
|
|
317
|
+
{
|
|
318
|
+
type: "text",
|
|
319
|
+
text: JSON.stringify({ found: true, source: "remote", packet: entities[0] }, null, 2),
|
|
320
|
+
},
|
|
321
|
+
],
|
|
322
|
+
};
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
catch {
|
|
327
|
+
// Remote also unavailable
|
|
328
|
+
}
|
|
329
|
+
return {
|
|
330
|
+
content: [
|
|
331
|
+
{
|
|
332
|
+
type: "text",
|
|
333
|
+
text: JSON.stringify({
|
|
334
|
+
found: false,
|
|
335
|
+
id,
|
|
336
|
+
message: "Packet not found in local SQLite or remote store. The turn may have expired or the ID is incorrect.",
|
|
337
|
+
}),
|
|
338
|
+
},
|
|
339
|
+
],
|
|
340
|
+
};
|
|
228
341
|
}
|
|
229
342
|
//# sourceMappingURL=local-tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-tools.js","sourceRoot":"","sources":["../../src/tools/local-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,
|
|
1
|
+
{"version":3,"file":"local-tools.js","sourceRoot":"","sources":["../../src/tools/local-tools.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gramatr/mcp",
|
|
3
|
-
"version": "0.13.
|
|
3
|
+
"version": "0.13.34",
|
|
4
4
|
"description": "grāmatr — Intelligence middleware for AI agents. Pre-classifies every request, injects relevant memory and behavioral context, enforces data quality, and maintains session continuity across Claude, ChatGPT, Codex, Cursor, Gemini, and any MCP-compatible client.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"publishConfig": {
|