@grafema/mcp 0.3.18 → 0.3.21
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/definitions/index.d.ts.map +1 -1
- package/dist/definitions/index.js +2 -0
- package/dist/definitions/index.js.map +1 -1
- package/dist/definitions/registry-tools.d.ts +6 -0
- package/dist/definitions/registry-tools.d.ts.map +1 -0
- package/dist/definitions/registry-tools.js +43 -0
- package/dist/definitions/registry-tools.js.map +1 -0
- package/dist/handlers/index.d.ts +1 -0
- package/dist/handlers/index.d.ts.map +1 -1
- package/dist/handlers/index.js +1 -0
- package/dist/handlers/index.js.map +1 -1
- package/dist/handlers/registry-handlers.d.ts +6 -0
- package/dist/handlers/registry-handlers.d.ts.map +1 -0
- package/dist/handlers/registry-handlers.js +93 -0
- package/dist/handlers/registry-handlers.js.map +1 -0
- package/dist/server.js +7 -2
- package/dist/server.js.map +1 -1
- package/dist/state.d.ts +12 -0
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +46 -3
- package/dist/state.js.map +1 -1
- package/dist/types.d.ts +4 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/definitions/index.ts +2 -0
- package/src/definitions/registry-tools.ts +45 -0
- package/src/handlers/index.ts +1 -0
- package/src/handlers/registry-handlers.ts +120 -0
- package/src/server.ts +9 -1
- package/src/state.ts +49 -4
- package/src/types.ts +5 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/definitions/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/definitions/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAYjD,eAAO,MAAM,KAAK,EAAE,cAAc,EAWjC,CAAC"}
|
|
@@ -10,6 +10,7 @@ import { GRAPH_TOOLS } from './graph-tools.js';
|
|
|
10
10
|
import { KNOWLEDGE_TOOLS } from './knowledge-tools.js';
|
|
11
11
|
import { NOTATION_TOOLS } from './notation-tools.js';
|
|
12
12
|
import { GRAPHQL_TOOLS } from './graphql-tools.js';
|
|
13
|
+
import { REGISTRY_TOOLS } from './registry-tools.js';
|
|
13
14
|
export const TOOLS = [
|
|
14
15
|
...QUERY_TOOLS,
|
|
15
16
|
...ANALYSIS_TOOLS,
|
|
@@ -20,5 +21,6 @@ export const TOOLS = [
|
|
|
20
21
|
...KNOWLEDGE_TOOLS,
|
|
21
22
|
...NOTATION_TOOLS,
|
|
22
23
|
...GRAPHQL_TOOLS,
|
|
24
|
+
...REGISTRY_TOOLS,
|
|
23
25
|
];
|
|
24
26
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/definitions/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/definitions/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,CAAC,MAAM,KAAK,GAAqB;IACrC,GAAG,WAAW;IACd,GAAG,cAAc;IACjB,GAAG,eAAe;IAClB,GAAG,aAAa;IAChB,GAAG,aAAa;IAChB,GAAG,WAAW;IACd,GAAG,eAAe;IAClB,GAAG,cAAc;IACjB,GAAG,aAAa;IAChB,GAAG,cAAc;CAClB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry-tools.d.ts","sourceRoot":"","sources":["../../src/definitions/registry-tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,eAAO,MAAM,cAAc,EAAE,cAAc,EAsC1C,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tool Definitions — Registry tools
|
|
3
|
+
*/
|
|
4
|
+
export const REGISTRY_TOOLS = [
|
|
5
|
+
{
|
|
6
|
+
name: 'query_registry',
|
|
7
|
+
description: `Query the local manifest registry for package export information and side effects.
|
|
8
|
+
|
|
9
|
+
The registry contains pre-analyzed manifests for npm dependencies. Each manifest describes
|
|
10
|
+
a package's API surface: exported symbols, their kinds, and side effects.
|
|
11
|
+
|
|
12
|
+
Use this when you need to:
|
|
13
|
+
- Know what a package exports: query_registry(package="graphql") → 216 exports
|
|
14
|
+
- Check effects of a specific function: query_registry(package="yaml", symbol="parse") → PURE
|
|
15
|
+
- Understand a dependency's API without reading its source code
|
|
16
|
+
- Verify if a package is in the registry: query_registry(package="express") → not found
|
|
17
|
+
|
|
18
|
+
Returns: package metadata (purl, source_type, confidence), and either:
|
|
19
|
+
- A specific export (when symbol is given)
|
|
20
|
+
- All exports summary (when only package is given)
|
|
21
|
+
- Full registry index (when neither is given)
|
|
22
|
+
|
|
23
|
+
source_type values:
|
|
24
|
+
- "compiled_js" — standard npm package, fully analyzed
|
|
25
|
+
- "source" — TypeScript source, fully analyzed
|
|
26
|
+
- "minified" — bundled output (esbuild/webpack), exports not statically resolvable
|
|
27
|
+
- "dts_only" — type declarations only, not in registry`,
|
|
28
|
+
inputSchema: {
|
|
29
|
+
type: 'object',
|
|
30
|
+
properties: {
|
|
31
|
+
package: {
|
|
32
|
+
type: 'string',
|
|
33
|
+
description: 'Package name (e.g., "graphql", "@anthropic-ai/sdk"). Omit to list all packages.',
|
|
34
|
+
},
|
|
35
|
+
symbol: {
|
|
36
|
+
type: 'string',
|
|
37
|
+
description: 'Exported symbol name (e.g., "parse", "GraphQLSchema"). Requires package.',
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
];
|
|
43
|
+
//# sourceMappingURL=registry-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry-tools.js","sourceRoot":"","sources":["../../src/definitions/registry-tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,CAAC,MAAM,cAAc,GAAqB;IAC9C;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;uDAoBsC;QACnD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,iFAAiF;iBAC/F;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0EAA0E;iBACxF;aACF;SACF;KACF;CACF,CAAC"}
|
package/dist/handlers/index.d.ts
CHANGED
|
@@ -15,4 +15,5 @@ export { handleGetNode, handleGetNeighbors, handleTraverseGraph } from './graph-
|
|
|
15
15
|
export { handleAddKnowledge, handleQueryKnowledge, handleQueryDecisions, handleSupersedeFact, handleGetKnowledgeStats } from './knowledge-handlers.js';
|
|
16
16
|
export { handleDescribe } from './notation-handlers.js';
|
|
17
17
|
export { handleGraphQLQuery } from './graphql-handlers.js';
|
|
18
|
+
export { handleQueryRegistry } from './registry-handlers.js';
|
|
18
19
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACrG,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACxH,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACpI,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC1G,OAAO,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAGvJ,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACrG,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACxH,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACpI,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC1G,OAAO,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAGvJ,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC"}
|
package/dist/handlers/index.js
CHANGED
|
@@ -17,4 +17,5 @@ export { handleAddKnowledge, handleQueryKnowledge, handleQueryDecisions, handleS
|
|
|
17
17
|
// export { handleGitChurn, handleGitCoChange, handleGitOwnership, handleGitArchaeology } from './knowledge-handlers.js';
|
|
18
18
|
export { handleDescribe } from './notation-handlers.js';
|
|
19
19
|
export { handleGraphQLQuery } from './graphql-handlers.js';
|
|
20
|
+
export { handleQueryRegistry } from './registry-handlers.js';
|
|
20
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACrG,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACxH,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACpI,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC1G,OAAO,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvJ,0EAA0E;AAC1E,yHAAyH;AACzH,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACrG,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACxH,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACpI,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC1G,OAAO,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvJ,0EAA0E;AAC1E,yHAAyH;AACzH,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Registry Handlers — query the local manifest registry.
|
|
3
|
+
*/
|
|
4
|
+
import type { ToolResult, QueryRegistryArgs } from '../types.js';
|
|
5
|
+
export declare function handleQueryRegistry(args: QueryRegistryArgs): Promise<ToolResult>;
|
|
6
|
+
//# sourceMappingURL=registry-handlers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry-handlers.d.ts","sourceRoot":"","sources":["../../src/handlers/registry-handlers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAkCjE,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,CA4EtF"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Registry Handlers — query the local manifest registry.
|
|
3
|
+
*/
|
|
4
|
+
import { join } from 'path';
|
|
5
|
+
import { existsSync } from 'fs';
|
|
6
|
+
import { ManifestResolver } from '@grafema/util';
|
|
7
|
+
import { getProjectPath } from '../state.js';
|
|
8
|
+
import { textResult, errorResult } from '../utils.js';
|
|
9
|
+
/** Cached resolver instance — reloaded when index changes. */
|
|
10
|
+
let cachedResolver = null;
|
|
11
|
+
let cachedIndexMtime = 0;
|
|
12
|
+
function getRegistryDir() {
|
|
13
|
+
return join(getProjectPath(), 'registry');
|
|
14
|
+
}
|
|
15
|
+
function getResolver() {
|
|
16
|
+
const registryDir = getRegistryDir();
|
|
17
|
+
const indexPath = join(registryDir, 'index.yaml');
|
|
18
|
+
if (!existsSync(indexPath))
|
|
19
|
+
return null;
|
|
20
|
+
// Check if index has changed since last load
|
|
21
|
+
try {
|
|
22
|
+
const { mtimeMs } = require('fs').statSync(indexPath);
|
|
23
|
+
if (cachedResolver && mtimeMs === cachedIndexMtime) {
|
|
24
|
+
return cachedResolver;
|
|
25
|
+
}
|
|
26
|
+
cachedIndexMtime = mtimeMs;
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
const resolver = new ManifestResolver();
|
|
32
|
+
const loaded = resolver.loadFromRegistry(registryDir);
|
|
33
|
+
if (loaded === 0)
|
|
34
|
+
return null;
|
|
35
|
+
cachedResolver = resolver;
|
|
36
|
+
return resolver;
|
|
37
|
+
}
|
|
38
|
+
export async function handleQueryRegistry(args) {
|
|
39
|
+
const resolver = getResolver();
|
|
40
|
+
if (!resolver) {
|
|
41
|
+
return errorResult('No registry found. Run `grafema registry build --all` to build manifests for dependencies.');
|
|
42
|
+
}
|
|
43
|
+
// No package specified → list all packages
|
|
44
|
+
if (!args.package) {
|
|
45
|
+
const summaries = resolver.getSummary();
|
|
46
|
+
const lines = summaries.map(s => `${s.packageName} (${s.totalExports} exports, confidence ${s.confidence.toFixed(2)}, ${s.hasGraph ? 'graph' : 'no graph'})`);
|
|
47
|
+
return textResult(`Registry: ${summaries.length} packages\n\n${lines.join('\n')}`);
|
|
48
|
+
}
|
|
49
|
+
// Package specified but no symbol → show package details
|
|
50
|
+
if (!args.symbol) {
|
|
51
|
+
const manifest = resolver.getManifest(args.package);
|
|
52
|
+
if (!manifest) {
|
|
53
|
+
return errorResult(`Package "${args.package}" not found in registry. Available: ${resolver.packages.join(', ')}`);
|
|
54
|
+
}
|
|
55
|
+
const exportList = manifest.exports.map(e => ` ${e.name} (${e.kind}) → ${e.effects.join(', ')}`);
|
|
56
|
+
const header = [
|
|
57
|
+
`Package: ${manifest.package.purl}`,
|
|
58
|
+
`Source: ${manifest.package.source_type}`,
|
|
59
|
+
`Confidence: ${manifest.confidence}`,
|
|
60
|
+
`Exports: ${manifest.exports.length}`,
|
|
61
|
+
`Imports: ${manifest.imports.length}`,
|
|
62
|
+
`Has graph: ${manifest.capabilities.has_graph}`,
|
|
63
|
+
];
|
|
64
|
+
const body = exportList.length > 0
|
|
65
|
+
? `\nExports:\n${exportList.join('\n')}`
|
|
66
|
+
: '\nNo exports (source_type may be minified/bundled)';
|
|
67
|
+
return textResult(header.join('\n') + body);
|
|
68
|
+
}
|
|
69
|
+
// Package + symbol → resolve specific export
|
|
70
|
+
const result = resolver.resolve(args.package, args.symbol);
|
|
71
|
+
if (!result) {
|
|
72
|
+
// Check if package exists but symbol doesn't
|
|
73
|
+
if (resolver.has(args.package)) {
|
|
74
|
+
const allExports = resolver.resolveAll(args.package);
|
|
75
|
+
const available = allExports ? [...allExports.keys()].slice(0, 20).join(', ') : '(none)';
|
|
76
|
+
return errorResult(`Symbol "${args.symbol}" not found in ${args.package}. Available exports: ${available}`);
|
|
77
|
+
}
|
|
78
|
+
return errorResult(`Package "${args.package}" not found in registry.`);
|
|
79
|
+
}
|
|
80
|
+
return textResult([
|
|
81
|
+
`${args.package}.${args.symbol}`,
|
|
82
|
+
` Kind: ${result.export.kind}`,
|
|
83
|
+
` Effects: ${result.export.effects.join(', ')}`,
|
|
84
|
+
` SemanticId: ${result.export.semanticId}`,
|
|
85
|
+
` Package: ${result.packagePurl}`,
|
|
86
|
+
` Confidence: ${result.confidence}`,
|
|
87
|
+
result.export.params?.length
|
|
88
|
+
? ` Params: ${result.export.params.map(p => `${p.name}:${p.flow}`).join(', ')}`
|
|
89
|
+
: null,
|
|
90
|
+
result.export.returns ? ` Returns: ${result.export.returns.flow}` : null,
|
|
91
|
+
].filter(Boolean).join('\n'));
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=registry-handlers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry-handlers.js","sourceRoot":"","sources":["../../src/handlers/registry-handlers.ts"],"names":[],"mappings":"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"}
|
package/dist/server.js
CHANGED
|
@@ -29,6 +29,7 @@ import { PROMPTS, getPrompt } from './prompts.js';
|
|
|
29
29
|
import { TOOLS } from './definitions/index.js';
|
|
30
30
|
import { initializeFromArgs, setupLogging, getProjectPath } from './state.js';
|
|
31
31
|
import { textResult, errorResult, log } from './utils.js';
|
|
32
|
+
import { getSocketPathOverride } from './state.js';
|
|
32
33
|
import { discoverServices } from './analysis.js';
|
|
33
34
|
import { handleQueryGraph, handleFindCalls, handleFindNodes, handleTraceAlias, handleTraceDataFlow, handleCheckInvariant, handleAnalyzeProject, handleGetAnalysisStatus, handleGetStats, handleGetSchema, handleCreateGuarantee, handleListGuarantees, handleCheckGuarantees, handleDeleteGuarantee, handleGetCoverage, handleGetDocumentation, handleFindGuards, handleReportIssue, handleGetFunctionDetails, handleGetContext, handleReadProjectStructure, handleWriteConfig, handleGetFileOverview, handleGetNode, handleGetNeighbors, handleTraverseGraph, handleAddKnowledge, handleQueryKnowledge, handleQueryDecisions, handleSupersedeFact, handleGetKnowledgeStats,
|
|
34
35
|
// Disabled: requires git-ingest (US-17). See US-17 in AI-AGENT-STORIES.md
|
|
@@ -36,7 +37,7 @@ import { handleQueryGraph, handleFindCalls, handleFindNodes, handleTraceAlias, h
|
|
|
36
37
|
// handleGitCoChange,
|
|
37
38
|
// handleGitOwnership,
|
|
38
39
|
// handleGitArchaeology,
|
|
39
|
-
handleDescribe, handleGraphQLQuery, } from './handlers/index.js';
|
|
40
|
+
handleDescribe, handleGraphQLQuery, handleQueryRegistry, } from './handlers/index.js';
|
|
40
41
|
/**
|
|
41
42
|
* Type-safe argument casting helper.
|
|
42
43
|
* MCP SDK provides args as Record<string, unknown>, this helper
|
|
@@ -49,7 +50,8 @@ function asArgs(args) {
|
|
|
49
50
|
initializeFromArgs();
|
|
50
51
|
setupLogging();
|
|
51
52
|
const projectPath = getProjectPath();
|
|
52
|
-
|
|
53
|
+
const socketOverride = getSocketPathOverride();
|
|
54
|
+
log(`[Grafema MCP] Starting server for project: ${projectPath}${socketOverride ? ` socket=${socketOverride}` : ''}`);
|
|
53
55
|
// Create MCP server
|
|
54
56
|
const server = new Server({
|
|
55
57
|
name: 'grafema-mcp',
|
|
@@ -221,6 +223,9 @@ server.setRequestHandler(CallToolRequestSchema, async (request, extra) => {
|
|
|
221
223
|
case 'query_graphql':
|
|
222
224
|
result = await handleGraphQLQuery(asArgs(args));
|
|
223
225
|
break;
|
|
226
|
+
case 'query_registry':
|
|
227
|
+
result = await handleQueryRegistry(asArgs(args));
|
|
228
|
+
break;
|
|
224
229
|
default:
|
|
225
230
|
result = errorResult(`Unknown tool: ${name}`);
|
|
226
231
|
}
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,EACxB,gBAAgB,EAChB,0BAA0B,EAC1B,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB;AACvB,0EAA0E;AAC1E,kBAAkB;AAClB,qBAAqB;AACrB,sBAAsB;AACtB,wBAAwB;AACxB,cAAc,EACd,kBAAkB,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/state.d.ts
CHANGED
|
@@ -4,7 +4,19 @@
|
|
|
4
4
|
import { GuaranteeManager, GuaranteeAPI, KnowledgeBase } from '@grafema/util';
|
|
5
5
|
import type { AnalysisStatus } from './types.js';
|
|
6
6
|
import type { GraphBackend } from '@grafema/types';
|
|
7
|
+
/**
|
|
8
|
+
* Walk up from startDir to find a Grafema project root.
|
|
9
|
+
*
|
|
10
|
+
* A directory is treated as a project root when it contains:
|
|
11
|
+
* - grafema.yaml (explicit config)
|
|
12
|
+
* - .grafema/ (analysis artefacts already created)
|
|
13
|
+
*
|
|
14
|
+
* Returns the absolute path of the first matching ancestor, or null if
|
|
15
|
+
* nothing is found before the filesystem root.
|
|
16
|
+
*/
|
|
17
|
+
export declare function findProjectRoot(startDir: string): string | null;
|
|
7
18
|
export declare function getProjectPath(): string;
|
|
19
|
+
export declare function getSocketPathOverride(): string | null;
|
|
8
20
|
export declare function getIsAnalyzed(): boolean;
|
|
9
21
|
export declare function getAnalysisStatus(): AnalysisStatus;
|
|
10
22
|
export declare function getBackgroundPid(): number | null;
|
package/dist/state.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAqB,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAqB,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAKjG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAW/D;AAmFD,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,qBAAqB,IAAI,MAAM,GAAG,IAAI,CAErD;AAED,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED,wBAAgB,iBAAiB,IAAI,cAAc,CAElD;AAED,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAEhD;AAED,wBAAgB,mBAAmB,IAAI,gBAAgB,GAAG,IAAI,CAE7D;AAED,wBAAgB,eAAe,IAAI,YAAY,GAAG,IAAI,CAErD;AAED,wBAAgB,gBAAgB,IAAI,aAAa,GAAG,IAAI,CAEvD;AAGD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEjD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAElD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAEvE;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAEzD;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAEvF;AAID;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,CA8B/D;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAIrD;AAGD,wBAAgB,YAAY,IAAI,IAAI,CAGnC;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,YAAY,CAAC,CA0ChE;AA6BD,wBAAgB,kBAAkB,IAAI,YAAY,GAAG,IAAI,CAExD;AAGD,wBAAgB,YAAY,IAAI,IAAI,CAMnC;AAGD;;;;GAIG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,aAAa,CAAC,CAevE;AAGD,wBAAgB,kBAAkB,IAAI,IAAI,CAwBzC;AAGD,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAI7C"}
|
package/dist/state.js
CHANGED
|
@@ -1,13 +1,37 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* MCP Server State Management
|
|
3
3
|
*/
|
|
4
|
-
import { join } from 'path';
|
|
4
|
+
import { join, dirname } from 'path';
|
|
5
5
|
import { existsSync, mkdirSync } from 'fs';
|
|
6
6
|
import { RFDBServerBackend, GuaranteeManager, GuaranteeAPI, KnowledgeBase } from '@grafema/util';
|
|
7
7
|
import { loadConfig } from './config.js';
|
|
8
8
|
import { log, initLogger } from './utils.js';
|
|
9
|
+
/**
|
|
10
|
+
* Walk up from startDir to find a Grafema project root.
|
|
11
|
+
*
|
|
12
|
+
* A directory is treated as a project root when it contains:
|
|
13
|
+
* - grafema.yaml (explicit config)
|
|
14
|
+
* - .grafema/ (analysis artefacts already created)
|
|
15
|
+
*
|
|
16
|
+
* Returns the absolute path of the first matching ancestor, or null if
|
|
17
|
+
* nothing is found before the filesystem root.
|
|
18
|
+
*/
|
|
19
|
+
export function findProjectRoot(startDir) {
|
|
20
|
+
let dir = startDir;
|
|
21
|
+
while (true) {
|
|
22
|
+
if (existsSync(join(dir, 'grafema.yaml')) || existsSync(join(dir, '.grafema'))) {
|
|
23
|
+
return dir;
|
|
24
|
+
}
|
|
25
|
+
const parent = dirname(dir);
|
|
26
|
+
if (parent === dir)
|
|
27
|
+
break; // filesystem root
|
|
28
|
+
dir = parent;
|
|
29
|
+
}
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
9
32
|
// === GLOBAL STATE ===
|
|
10
33
|
let projectPath = process.cwd();
|
|
34
|
+
let socketPathOverride = null;
|
|
11
35
|
let backend = null;
|
|
12
36
|
let isAnalyzed = false;
|
|
13
37
|
let backgroundPid = null;
|
|
@@ -83,6 +107,9 @@ const LOCK_TIMEOUT_MS = 10 * 60 * 1000;
|
|
|
83
107
|
export function getProjectPath() {
|
|
84
108
|
return projectPath;
|
|
85
109
|
}
|
|
110
|
+
export function getSocketPathOverride() {
|
|
111
|
+
return socketPathOverride;
|
|
112
|
+
}
|
|
86
113
|
export function getIsAnalyzed() {
|
|
87
114
|
return isAnalyzed;
|
|
88
115
|
}
|
|
@@ -214,8 +241,8 @@ export async function getOrCreateBackend() {
|
|
|
214
241
|
mkdirSync(grafemaDir, { recursive: true });
|
|
215
242
|
}
|
|
216
243
|
const config = loadConfig(projectPath);
|
|
217
|
-
// Socket path
|
|
218
|
-
const socketPath = config.
|
|
244
|
+
// Socket path priority: --socket CLI arg > config rfdb_socket > auto-derive from dbPath
|
|
245
|
+
const socketPath = socketPathOverride || config.rfdb_socket || undefined;
|
|
219
246
|
log(`[Grafema MCP] Using RFDB server backend: socket=${socketPath || 'auto'}, db=${dbPath}`);
|
|
220
247
|
const rfdbBackend = new RFDBServerBackend({ socketPath, dbPath, clientName: 'mcp' });
|
|
221
248
|
await rfdbBackend.connect();
|
|
@@ -291,12 +318,28 @@ export async function getOrCreateKnowledgeBase() {
|
|
|
291
318
|
// === INITIALIZATION ===
|
|
292
319
|
export function initializeFromArgs() {
|
|
293
320
|
const args = process.argv.slice(2);
|
|
321
|
+
let projectArgProvided = false;
|
|
294
322
|
for (let i = 0; i < args.length; i++) {
|
|
295
323
|
if (args[i] === '--project' && args[i + 1]) {
|
|
296
324
|
projectPath = args[i + 1];
|
|
325
|
+
projectArgProvided = true;
|
|
326
|
+
i++;
|
|
327
|
+
}
|
|
328
|
+
else if (args[i] === '--socket' && args[i + 1]) {
|
|
329
|
+
socketPathOverride = args[i + 1];
|
|
297
330
|
i++;
|
|
298
331
|
}
|
|
299
332
|
}
|
|
333
|
+
// Auto-detect project root from CWD when --project is not supplied.
|
|
334
|
+
// Claude Code (and other MCP hosts) spawn the server with CWD = workspace root,
|
|
335
|
+
// so this makes the server workspace-aware without any config change.
|
|
336
|
+
if (!projectArgProvided) {
|
|
337
|
+
const detected = findProjectRoot(process.cwd());
|
|
338
|
+
if (detected) {
|
|
339
|
+
projectPath = detected;
|
|
340
|
+
}
|
|
341
|
+
// else: keep process.cwd() as fallback
|
|
342
|
+
}
|
|
300
343
|
}
|
|
301
344
|
// === CLEANUP ===
|
|
302
345
|
export async function cleanup() {
|
package/dist/state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@grafema/mcp",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.21",
|
|
4
4
|
"description": "MCP server for Grafema code analysis toolkit",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/server.js",
|
|
@@ -39,9 +39,9 @@
|
|
|
39
39
|
"@modelcontextprotocol/sdk": "^1.25.1",
|
|
40
40
|
"ajv": "^8.17.1",
|
|
41
41
|
"yaml": "^2.8.2",
|
|
42
|
-
"@grafema/api": "0.3.
|
|
43
|
-
"@grafema/
|
|
44
|
-
"@grafema/
|
|
42
|
+
"@grafema/api": "0.3.21",
|
|
43
|
+
"@grafema/types": "0.3.21",
|
|
44
|
+
"@grafema/util": "0.3.21"
|
|
45
45
|
},
|
|
46
46
|
"optionalDependencies": {
|
|
47
47
|
"@grafema/grafema-darwin-arm64": "0.3.16",
|
package/src/definitions/index.ts
CHANGED
|
@@ -14,6 +14,7 @@ import { GRAPH_TOOLS } from './graph-tools.js';
|
|
|
14
14
|
import { KNOWLEDGE_TOOLS } from './knowledge-tools.js';
|
|
15
15
|
import { NOTATION_TOOLS } from './notation-tools.js';
|
|
16
16
|
import { GRAPHQL_TOOLS } from './graphql-tools.js';
|
|
17
|
+
import { REGISTRY_TOOLS } from './registry-tools.js';
|
|
17
18
|
|
|
18
19
|
export const TOOLS: ToolDefinition[] = [
|
|
19
20
|
...QUERY_TOOLS,
|
|
@@ -25,4 +26,5 @@ export const TOOLS: ToolDefinition[] = [
|
|
|
25
26
|
...KNOWLEDGE_TOOLS,
|
|
26
27
|
...NOTATION_TOOLS,
|
|
27
28
|
...GRAPHQL_TOOLS,
|
|
29
|
+
...REGISTRY_TOOLS,
|
|
28
30
|
];
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tool Definitions — Registry tools
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import type { ToolDefinition } from './types.js';
|
|
6
|
+
|
|
7
|
+
export const REGISTRY_TOOLS: ToolDefinition[] = [
|
|
8
|
+
{
|
|
9
|
+
name: 'query_registry',
|
|
10
|
+
description: `Query the local manifest registry for package export information and side effects.
|
|
11
|
+
|
|
12
|
+
The registry contains pre-analyzed manifests for npm dependencies. Each manifest describes
|
|
13
|
+
a package's API surface: exported symbols, their kinds, and side effects.
|
|
14
|
+
|
|
15
|
+
Use this when you need to:
|
|
16
|
+
- Know what a package exports: query_registry(package="graphql") → 216 exports
|
|
17
|
+
- Check effects of a specific function: query_registry(package="yaml", symbol="parse") → PURE
|
|
18
|
+
- Understand a dependency's API without reading its source code
|
|
19
|
+
- Verify if a package is in the registry: query_registry(package="express") → not found
|
|
20
|
+
|
|
21
|
+
Returns: package metadata (purl, source_type, confidence), and either:
|
|
22
|
+
- A specific export (when symbol is given)
|
|
23
|
+
- All exports summary (when only package is given)
|
|
24
|
+
- Full registry index (when neither is given)
|
|
25
|
+
|
|
26
|
+
source_type values:
|
|
27
|
+
- "compiled_js" — standard npm package, fully analyzed
|
|
28
|
+
- "source" — TypeScript source, fully analyzed
|
|
29
|
+
- "minified" — bundled output (esbuild/webpack), exports not statically resolvable
|
|
30
|
+
- "dts_only" — type declarations only, not in registry`,
|
|
31
|
+
inputSchema: {
|
|
32
|
+
type: 'object',
|
|
33
|
+
properties: {
|
|
34
|
+
package: {
|
|
35
|
+
type: 'string',
|
|
36
|
+
description: 'Package name (e.g., "graphql", "@anthropic-ai/sdk"). Omit to list all packages.',
|
|
37
|
+
},
|
|
38
|
+
symbol: {
|
|
39
|
+
type: 'string',
|
|
40
|
+
description: 'Exported symbol name (e.g., "parse", "GraphQLSchema"). Requires package.',
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
];
|
package/src/handlers/index.ts
CHANGED
|
@@ -18,3 +18,4 @@ export { handleAddKnowledge, handleQueryKnowledge, handleQueryDecisions, handleS
|
|
|
18
18
|
// export { handleGitChurn, handleGitCoChange, handleGitOwnership, handleGitArchaeology } from './knowledge-handlers.js';
|
|
19
19
|
export { handleDescribe } from './notation-handlers.js';
|
|
20
20
|
export { handleGraphQLQuery } from './graphql-handlers.js';
|
|
21
|
+
export { handleQueryRegistry } from './registry-handlers.js';
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Registry Handlers — query the local manifest registry.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { join } from 'path';
|
|
6
|
+
import { existsSync } from 'fs';
|
|
7
|
+
import { ManifestResolver } from '@grafema/util';
|
|
8
|
+
import { getProjectPath } from '../state.js';
|
|
9
|
+
import { textResult, errorResult } from '../utils.js';
|
|
10
|
+
import type { ToolResult, QueryRegistryArgs } from '../types.js';
|
|
11
|
+
|
|
12
|
+
/** Cached resolver instance — reloaded when index changes. */
|
|
13
|
+
let cachedResolver: ManifestResolver | null = null;
|
|
14
|
+
let cachedIndexMtime: number = 0;
|
|
15
|
+
|
|
16
|
+
function getRegistryDir(): string {
|
|
17
|
+
return join(getProjectPath(), 'registry');
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
function getResolver(): ManifestResolver | null {
|
|
21
|
+
const registryDir = getRegistryDir();
|
|
22
|
+
const indexPath = join(registryDir, 'index.yaml');
|
|
23
|
+
if (!existsSync(indexPath)) return null;
|
|
24
|
+
|
|
25
|
+
// Check if index has changed since last load
|
|
26
|
+
try {
|
|
27
|
+
const { mtimeMs } = require('fs').statSync(indexPath);
|
|
28
|
+
if (cachedResolver && mtimeMs === cachedIndexMtime) {
|
|
29
|
+
return cachedResolver;
|
|
30
|
+
}
|
|
31
|
+
cachedIndexMtime = mtimeMs;
|
|
32
|
+
} catch {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const resolver = new ManifestResolver();
|
|
37
|
+
const loaded = resolver.loadFromRegistry(registryDir);
|
|
38
|
+
if (loaded === 0) return null;
|
|
39
|
+
|
|
40
|
+
cachedResolver = resolver;
|
|
41
|
+
return resolver;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export async function handleQueryRegistry(args: QueryRegistryArgs): Promise<ToolResult> {
|
|
45
|
+
const resolver = getResolver();
|
|
46
|
+
if (!resolver) {
|
|
47
|
+
return errorResult(
|
|
48
|
+
'No registry found. Run `grafema registry build --all` to build manifests for dependencies.',
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// No package specified → list all packages
|
|
53
|
+
if (!args.package) {
|
|
54
|
+
const summaries = resolver.getSummary();
|
|
55
|
+
const lines = summaries.map(s =>
|
|
56
|
+
`${s.packageName} (${s.totalExports} exports, confidence ${s.confidence.toFixed(2)}, ${s.hasGraph ? 'graph' : 'no graph'})`,
|
|
57
|
+
);
|
|
58
|
+
return textResult(
|
|
59
|
+
`Registry: ${summaries.length} packages\n\n${lines.join('\n')}`,
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// Package specified but no symbol → show package details
|
|
64
|
+
if (!args.symbol) {
|
|
65
|
+
const manifest = resolver.getManifest(args.package);
|
|
66
|
+
if (!manifest) {
|
|
67
|
+
return errorResult(
|
|
68
|
+
`Package "${args.package}" not found in registry. Available: ${resolver.packages.join(', ')}`,
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
const exportList = manifest.exports.map(e =>
|
|
73
|
+
` ${e.name} (${e.kind}) → ${e.effects.join(', ')}`,
|
|
74
|
+
);
|
|
75
|
+
|
|
76
|
+
const header = [
|
|
77
|
+
`Package: ${manifest.package.purl}`,
|
|
78
|
+
`Source: ${manifest.package.source_type}`,
|
|
79
|
+
`Confidence: ${manifest.confidence}`,
|
|
80
|
+
`Exports: ${manifest.exports.length}`,
|
|
81
|
+
`Imports: ${manifest.imports.length}`,
|
|
82
|
+
`Has graph: ${manifest.capabilities.has_graph}`,
|
|
83
|
+
];
|
|
84
|
+
|
|
85
|
+
const body = exportList.length > 0
|
|
86
|
+
? `\nExports:\n${exportList.join('\n')}`
|
|
87
|
+
: '\nNo exports (source_type may be minified/bundled)';
|
|
88
|
+
|
|
89
|
+
return textResult(header.join('\n') + body);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// Package + symbol → resolve specific export
|
|
93
|
+
const result = resolver.resolve(args.package, args.symbol);
|
|
94
|
+
if (!result) {
|
|
95
|
+
// Check if package exists but symbol doesn't
|
|
96
|
+
if (resolver.has(args.package)) {
|
|
97
|
+
const allExports = resolver.resolveAll(args.package);
|
|
98
|
+
const available = allExports ? [...allExports.keys()].slice(0, 20).join(', ') : '(none)';
|
|
99
|
+
return errorResult(
|
|
100
|
+
`Symbol "${args.symbol}" not found in ${args.package}. Available exports: ${available}`,
|
|
101
|
+
);
|
|
102
|
+
}
|
|
103
|
+
return errorResult(`Package "${args.package}" not found in registry.`);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
return textResult(
|
|
107
|
+
[
|
|
108
|
+
`${args.package}.${args.symbol}`,
|
|
109
|
+
` Kind: ${result.export.kind}`,
|
|
110
|
+
` Effects: ${result.export.effects.join(', ')}`,
|
|
111
|
+
` SemanticId: ${result.export.semanticId}`,
|
|
112
|
+
` Package: ${result.packagePurl}`,
|
|
113
|
+
` Confidence: ${result.confidence}`,
|
|
114
|
+
result.export.params?.length
|
|
115
|
+
? ` Params: ${result.export.params.map(p => `${p.name}:${p.flow}`).join(', ')}`
|
|
116
|
+
: null,
|
|
117
|
+
result.export.returns ? ` Returns: ${result.export.returns.flow}` : null,
|
|
118
|
+
].filter(Boolean).join('\n'),
|
|
119
|
+
);
|
|
120
|
+
}
|
package/src/server.ts
CHANGED
|
@@ -36,6 +36,7 @@ import { PROMPTS, getPrompt } from './prompts.js';
|
|
|
36
36
|
import { TOOLS } from './definitions/index.js';
|
|
37
37
|
import { initializeFromArgs, setupLogging, getProjectPath } from './state.js';
|
|
38
38
|
import { textResult, errorResult, log } from './utils.js';
|
|
39
|
+
import { getSocketPathOverride } from './state.js';
|
|
39
40
|
import { discoverServices } from './analysis.js';
|
|
40
41
|
import {
|
|
41
42
|
handleQueryGraph,
|
|
@@ -76,6 +77,7 @@ import {
|
|
|
76
77
|
// handleGitArchaeology,
|
|
77
78
|
handleDescribe,
|
|
78
79
|
handleGraphQLQuery,
|
|
80
|
+
handleQueryRegistry,
|
|
79
81
|
} from './handlers/index.js';
|
|
80
82
|
import type {
|
|
81
83
|
ToolResult,
|
|
@@ -113,6 +115,7 @@ import type {
|
|
|
113
115
|
// GitArchaeologyArgs,
|
|
114
116
|
DescribeArgs,
|
|
115
117
|
GraphQLQueryArgs,
|
|
118
|
+
QueryRegistryArgs,
|
|
116
119
|
} from './types.js';
|
|
117
120
|
|
|
118
121
|
/**
|
|
@@ -129,7 +132,8 @@ initializeFromArgs();
|
|
|
129
132
|
setupLogging();
|
|
130
133
|
|
|
131
134
|
const projectPath = getProjectPath();
|
|
132
|
-
|
|
135
|
+
const socketOverride = getSocketPathOverride();
|
|
136
|
+
log(`[Grafema MCP] Starting server for project: ${projectPath}${socketOverride ? ` socket=${socketOverride}` : ''}`);
|
|
133
137
|
|
|
134
138
|
// Create MCP server
|
|
135
139
|
const server = new Server(
|
|
@@ -347,6 +351,10 @@ server.setRequestHandler(CallToolRequestSchema, async (request, extra) => {
|
|
|
347
351
|
result = await handleGraphQLQuery(asArgs<GraphQLQueryArgs>(args));
|
|
348
352
|
break;
|
|
349
353
|
|
|
354
|
+
case 'query_registry':
|
|
355
|
+
result = await handleQueryRegistry(asArgs<QueryRegistryArgs>(args));
|
|
356
|
+
break;
|
|
357
|
+
|
|
350
358
|
default:
|
|
351
359
|
result = errorResult(`Unknown tool: ${name}`);
|
|
352
360
|
}
|
package/src/state.ts
CHANGED
|
@@ -2,17 +2,42 @@
|
|
|
2
2
|
* MCP Server State Management
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import { join } from 'path';
|
|
5
|
+
import { join, dirname } from 'path';
|
|
6
6
|
import { existsSync, mkdirSync } from 'fs';
|
|
7
7
|
import { RFDBServerBackend, GuaranteeManager, GuaranteeAPI, KnowledgeBase } from '@grafema/util';
|
|
8
8
|
import type { GuaranteeGraphBackend, GuaranteeGraph, ResolverBackend } from '@grafema/util';
|
|
9
9
|
import { loadConfig } from './config.js';
|
|
10
|
+
import type { MCPConfig } from './config.js';
|
|
10
11
|
import { log, initLogger } from './utils.js';
|
|
11
12
|
import type { AnalysisStatus } from './types.js';
|
|
12
13
|
import type { GraphBackend } from '@grafema/types';
|
|
13
14
|
|
|
15
|
+
/**
|
|
16
|
+
* Walk up from startDir to find a Grafema project root.
|
|
17
|
+
*
|
|
18
|
+
* A directory is treated as a project root when it contains:
|
|
19
|
+
* - grafema.yaml (explicit config)
|
|
20
|
+
* - .grafema/ (analysis artefacts already created)
|
|
21
|
+
*
|
|
22
|
+
* Returns the absolute path of the first matching ancestor, or null if
|
|
23
|
+
* nothing is found before the filesystem root.
|
|
24
|
+
*/
|
|
25
|
+
export function findProjectRoot(startDir: string): string | null {
|
|
26
|
+
let dir = startDir;
|
|
27
|
+
while (true) {
|
|
28
|
+
if (existsSync(join(dir, 'grafema.yaml')) || existsSync(join(dir, '.grafema'))) {
|
|
29
|
+
return dir;
|
|
30
|
+
}
|
|
31
|
+
const parent = dirname(dir);
|
|
32
|
+
if (parent === dir) break; // filesystem root
|
|
33
|
+
dir = parent;
|
|
34
|
+
}
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
|
|
14
38
|
// === GLOBAL STATE ===
|
|
15
39
|
let projectPath: string = process.cwd();
|
|
40
|
+
let socketPathOverride: string | null = null;
|
|
16
41
|
let backend: GraphBackend | null = null;
|
|
17
42
|
let isAnalyzed: boolean = false;
|
|
18
43
|
let backgroundPid: number | null = null;
|
|
@@ -95,6 +120,10 @@ export function getProjectPath(): string {
|
|
|
95
120
|
return projectPath;
|
|
96
121
|
}
|
|
97
122
|
|
|
123
|
+
export function getSocketPathOverride(): string | null {
|
|
124
|
+
return socketPathOverride;
|
|
125
|
+
}
|
|
126
|
+
|
|
98
127
|
export function getIsAnalyzed(): boolean {
|
|
99
128
|
return isAnalyzed;
|
|
100
129
|
}
|
|
@@ -250,9 +279,9 @@ export async function getOrCreateBackend(): Promise<GraphBackend> {
|
|
|
250
279
|
mkdirSync(grafemaDir, { recursive: true });
|
|
251
280
|
}
|
|
252
281
|
|
|
253
|
-
const config = loadConfig(projectPath);
|
|
254
|
-
// Socket path
|
|
255
|
-
const socketPath =
|
|
282
|
+
const config = loadConfig(projectPath) as MCPConfig;
|
|
283
|
+
// Socket path priority: --socket CLI arg > config rfdb_socket > auto-derive from dbPath
|
|
284
|
+
const socketPath = socketPathOverride || config.rfdb_socket || undefined;
|
|
256
285
|
|
|
257
286
|
log(`[Grafema MCP] Using RFDB server backend: socket=${socketPath || 'auto'}, db=${dbPath}`);
|
|
258
287
|
|
|
@@ -340,12 +369,28 @@ export async function getOrCreateKnowledgeBase(): Promise<KnowledgeBase> {
|
|
|
340
369
|
// === INITIALIZATION ===
|
|
341
370
|
export function initializeFromArgs(): void {
|
|
342
371
|
const args = process.argv.slice(2);
|
|
372
|
+
let projectArgProvided = false;
|
|
343
373
|
for (let i = 0; i < args.length; i++) {
|
|
344
374
|
if (args[i] === '--project' && args[i + 1]) {
|
|
345
375
|
projectPath = args[i + 1];
|
|
376
|
+
projectArgProvided = true;
|
|
377
|
+
i++;
|
|
378
|
+
} else if (args[i] === '--socket' && args[i + 1]) {
|
|
379
|
+
socketPathOverride = args[i + 1];
|
|
346
380
|
i++;
|
|
347
381
|
}
|
|
348
382
|
}
|
|
383
|
+
|
|
384
|
+
// Auto-detect project root from CWD when --project is not supplied.
|
|
385
|
+
// Claude Code (and other MCP hosts) spawn the server with CWD = workspace root,
|
|
386
|
+
// so this makes the server workspace-aware without any config change.
|
|
387
|
+
if (!projectArgProvided) {
|
|
388
|
+
const detected = findProjectRoot(process.cwd());
|
|
389
|
+
if (detected) {
|
|
390
|
+
projectPath = detected;
|
|
391
|
+
}
|
|
392
|
+
// else: keep process.cwd() as fallback
|
|
393
|
+
}
|
|
349
394
|
}
|
|
350
395
|
|
|
351
396
|
// === CLEANUP ===
|