@grafema/mcp 0.2.1-beta → 0.2.6-beta

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.
Files changed (96) hide show
  1. package/README.md +49 -25
  2. package/dist/analysis-worker.js +16 -8
  3. package/dist/analysis-worker.js.map +1 -0
  4. package/dist/analysis.d.ts.map +1 -1
  5. package/dist/analysis.js +1 -0
  6. package/dist/analysis.js.map +1 -0
  7. package/dist/config.d.ts.map +1 -1
  8. package/dist/config.js +27 -7
  9. package/dist/config.js.map +1 -0
  10. package/dist/definitions.d.ts +4 -4
  11. package/dist/definitions.d.ts.map +1 -1
  12. package/dist/definitions.js +158 -3
  13. package/dist/definitions.js.map +1 -0
  14. package/dist/handlers/analysis-handlers.d.ts +9 -0
  15. package/dist/handlers/analysis-handlers.d.ts.map +1 -0
  16. package/dist/handlers/analysis-handlers.js +73 -0
  17. package/dist/handlers/analysis-handlers.js.map +1 -0
  18. package/dist/handlers/context-handlers.d.ts +21 -0
  19. package/dist/handlers/context-handlers.d.ts.map +1 -0
  20. package/dist/handlers/context-handlers.js +330 -0
  21. package/dist/handlers/context-handlers.js.map +1 -0
  22. package/dist/handlers/coverage-handlers.d.ts +6 -0
  23. package/dist/handlers/coverage-handlers.d.ts.map +1 -0
  24. package/dist/handlers/coverage-handlers.js +42 -0
  25. package/dist/handlers/coverage-handlers.js.map +1 -0
  26. package/dist/handlers/dataflow-handlers.d.ts +8 -0
  27. package/dist/handlers/dataflow-handlers.d.ts.map +1 -0
  28. package/dist/handlers/dataflow-handlers.js +140 -0
  29. package/dist/handlers/dataflow-handlers.js.map +1 -0
  30. package/dist/handlers/documentation-handlers.d.ts +6 -0
  31. package/dist/handlers/documentation-handlers.d.ts.map +1 -0
  32. package/dist/handlers/documentation-handlers.js +79 -0
  33. package/dist/handlers/documentation-handlers.js.map +1 -0
  34. package/dist/handlers/guarantee-handlers.d.ts +21 -0
  35. package/dist/handlers/guarantee-handlers.d.ts.map +1 -0
  36. package/dist/handlers/guarantee-handlers.js +251 -0
  37. package/dist/handlers/guarantee-handlers.js.map +1 -0
  38. package/dist/handlers/guard-handlers.d.ts +14 -0
  39. package/dist/handlers/guard-handlers.d.ts.map +1 -0
  40. package/dist/handlers/guard-handlers.js +77 -0
  41. package/dist/handlers/guard-handlers.js.map +1 -0
  42. package/dist/handlers/index.d.ts +14 -0
  43. package/dist/handlers/index.d.ts.map +1 -0
  44. package/dist/handlers/index.js +14 -0
  45. package/dist/handlers/index.js.map +1 -0
  46. package/dist/handlers/issue-handlers.d.ts +6 -0
  47. package/dist/handlers/issue-handlers.d.ts.map +1 -0
  48. package/dist/handlers/issue-handlers.js +66 -0
  49. package/dist/handlers/issue-handlers.js.map +1 -0
  50. package/dist/handlers/project-handlers.d.ts +7 -0
  51. package/dist/handlers/project-handlers.d.ts.map +1 -0
  52. package/dist/handlers/project-handlers.js +153 -0
  53. package/dist/handlers/project-handlers.js.map +1 -0
  54. package/dist/handlers/query-handlers.d.ts +8 -0
  55. package/dist/handlers/query-handlers.d.ts.map +1 -0
  56. package/dist/handlers/query-handlers.js +171 -0
  57. package/dist/handlers/query-handlers.js.map +1 -0
  58. package/dist/handlers.d.ts +6 -2
  59. package/dist/handlers.d.ts.map +1 -1
  60. package/dist/handlers.js +367 -20
  61. package/dist/handlers.js.map +1 -0
  62. package/dist/prompts.d.ts +25 -0
  63. package/dist/prompts.d.ts.map +1 -0
  64. package/dist/prompts.js +33 -0
  65. package/dist/prompts.js.map +1 -0
  66. package/dist/server.js +52 -20
  67. package/dist/server.js.map +1 -0
  68. package/dist/state.js +1 -0
  69. package/dist/state.js.map +1 -0
  70. package/dist/types.d.ts +59 -1
  71. package/dist/types.d.ts.map +1 -1
  72. package/dist/types.js +1 -0
  73. package/dist/types.js.map +1 -0
  74. package/dist/utils.js +2 -1
  75. package/dist/utils.js.map +1 -0
  76. package/package.json +4 -3
  77. package/src/analysis-worker.ts +20 -9
  78. package/src/analysis.ts +2 -1
  79. package/src/config.ts +36 -4
  80. package/src/definitions.ts +162 -5
  81. package/src/handlers/analysis-handlers.ts +105 -0
  82. package/src/handlers/context-handlers.ts +410 -0
  83. package/src/handlers/coverage-handlers.ts +56 -0
  84. package/src/handlers/dataflow-handlers.ts +193 -0
  85. package/src/handlers/documentation-handlers.ts +89 -0
  86. package/src/handlers/guarantee-handlers.ts +278 -0
  87. package/src/handlers/guard-handlers.ts +100 -0
  88. package/src/handlers/index.ts +14 -0
  89. package/src/handlers/issue-handlers.ts +81 -0
  90. package/src/handlers/project-handlers.ts +200 -0
  91. package/src/handlers/query-handlers.ts +232 -0
  92. package/src/prompts.ts +56 -0
  93. package/src/server.ts +87 -21
  94. package/src/types.ts +68 -1
  95. package/src/utils.ts +2 -2
  96. package/src/handlers.ts +0 -1180
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  > MCP server for Grafema code analysis toolkit
4
4
 
5
- **Warning: This package is in early alpha stage and is not recommended for production use.**
5
+ **Warning: This package is in beta stage and the API may change between minor versions.**
6
6
 
7
7
  ## Installation
8
8
 
@@ -12,16 +12,10 @@ npm install @grafema/mcp
12
12
 
13
13
  ## Overview
14
14
 
15
- Model Context Protocol (MCP) server that exposes Grafema's code analysis capabilities to AI assistants like Claude. Enables AI agents to query code graphs, trace data flow, and check invariants.
15
+ Model Context Protocol (MCP) server that exposes Grafema's code analysis capabilities to AI assistants like Claude. Enables AI agents to query code graphs, trace data flow, and check invariants — without reading source code.
16
16
 
17
17
  ## Quick Start
18
18
 
19
- ### Running the server
20
-
21
- ```bash
22
- npx grafema-mcp --project /path/to/your/project
23
- ```
24
-
25
19
  ### Claude Code configuration
26
20
 
27
21
  Add to your project's `.mcp.json`:
@@ -37,6 +31,8 @@ Add to your project's `.mcp.json`:
37
31
  }
38
32
  ```
39
33
 
34
+ The RFDB graph database server is auto-started on first query. No manual setup needed.
35
+
40
36
  ### Claude Desktop configuration
41
37
 
42
38
  Add to `~/.config/claude/claude_desktop_config.json`:
@@ -52,17 +48,55 @@ Add to `~/.config/claude/claude_desktop_config.json`:
52
48
  }
53
49
  ```
54
50
 
55
- ## Available Tools
51
+ ## Available Tools (24)
56
52
 
53
+ ### Graph Queries
57
54
  | Tool | Description |
58
55
  |------|-------------|
59
56
  | `query_graph` | Execute Datalog queries on the code graph |
57
+ | `find_nodes` | Find nodes by type, name, or file |
60
58
  | `find_calls` | Find all calls to a function or method |
61
- | `trace_alias` | Trace variable aliases to their source |
62
- | `get_value_set` | Analyze possible values of a variable |
63
- | `trace_data_flow` | Trace data flow from source to sink |
64
- | `check_invariant` | Verify code invariants via Datalog |
65
- | `analyze_project` | Trigger full or incremental analysis |
59
+ | `get_stats` | Get graph statistics (node/edge counts by type) |
60
+ | `get_schema` | Get available node and edge types |
61
+
62
+ ### Navigation
63
+ | Tool | Description |
64
+ |------|-------------|
65
+ | `get_function_details` | Comprehensive function details (calls, calledBy, parameters) |
66
+ | `get_file_overview` | Structured overview of all entities in a file |
67
+ | `get_context` | Deep context for a node (source code + graph neighborhood) |
68
+ | `find_guards` | Find conditional guards protecting a node |
69
+ | `read_project_structure` | Directory structure of the project |
70
+
71
+ ### Data Flow
72
+ | Tool | Description |
73
+ |------|-------------|
74
+ | `trace_alias` | Trace alias chains to the original source |
75
+ | `trace_dataflow` | Trace data flow from/to a variable or expression |
76
+
77
+ ### Analysis
78
+ | Tool | Description |
79
+ |------|-------------|
80
+ | `analyze_project` | Run full or incremental analysis |
81
+ | `get_analysis_status` | Current analysis status and progress |
82
+ | `get_coverage` | Analysis coverage for a path |
83
+ | `discover_services` | Discover services without full analysis |
84
+
85
+ ### Guarantees
86
+ | Tool | Description |
87
+ |------|-------------|
88
+ | `check_invariant` | Check a code invariant via Datalog rule |
89
+ | `create_guarantee` | Create a Datalog-based or contract-based guarantee |
90
+ | `list_guarantees` | List all defined guarantees |
91
+ | `check_guarantees` | Run all or specific guarantees |
92
+ | `delete_guarantee` | Delete a guarantee by name |
93
+
94
+ ### Utilities
95
+ | Tool | Description |
96
+ |------|-------------|
97
+ | `get_documentation` | Documentation about Grafema usage |
98
+ | `report_issue` | Report a bug to GitHub (requires GITHUB_TOKEN) |
99
+ | `write_config` | Write or update .grafema/config.yaml |
66
100
 
67
101
  ## Example Queries
68
102
 
@@ -71,7 +105,7 @@ Add to `~/.config/claude/claude_desktop_config.json`:
71
105
  query_graph("node(X, 'db:query')")
72
106
 
73
107
  // Trace where user input flows
74
- trace_data_flow({ from: "req.body", file: "api/users.js" })
108
+ trace_dataflow({ from: "req.body", file: "api/users.js" })
75
109
 
76
110
  // Check for eval usage
77
111
  check_invariant("violation(X) :- node(X, 'CALL'), attr(X, 'name', 'eval')")
@@ -81,9 +115,6 @@ check_invariant("violation(X) :- node(X, 'CALL'), attr(X, 'name', 'eval')")
81
115
 
82
116
  ### GitHub Token (for bug reporting)
83
117
 
84
- The `report_issue` tool can automatically create GitHub issues if `GITHUB_TOKEN` is set.
85
-
86
- **Option 1: In `.mcp.json`**
87
118
  ```json
88
119
  {
89
120
  "mcpServers": {
@@ -98,13 +129,6 @@ The `report_issue` tool can automatically create GitHub issues if `GITHUB_TOKEN`
98
129
  }
99
130
  ```
100
131
 
101
- **Option 2: Environment variable**
102
- ```bash
103
- export GITHUB_TOKEN=ghp_your_token_here
104
- ```
105
-
106
- To create a token: https://github.com/settings/tokens/new (needs `repo` scope for public repos, or `public_repo` for public only).
107
-
108
132
  ## License
109
133
 
110
134
  Apache-2.0
@@ -12,11 +12,11 @@ import { Orchestrator, RFDBServerBackend,
12
12
  // Indexing
13
13
  JSModuleIndexer,
14
14
  // Analysis
15
- JSASTAnalyzer, ExpressRouteAnalyzer, ExpressResponseAnalyzer, SocketIOAnalyzer, DatabaseAnalyzer, FetchAnalyzer, ServiceLayerAnalyzer, ReactAnalyzer,
15
+ JSASTAnalyzer, ExpressRouteAnalyzer, ExpressResponseAnalyzer, NestJSRouteAnalyzer, SocketIOAnalyzer, DatabaseAnalyzer, FetchAnalyzer, ServiceLayerAnalyzer, ReactAnalyzer,
16
16
  // Enrichment
17
- MethodCallResolver, ArgumentParameterLinker, AliasTracker, ValueDomainAnalyzer, MountPointResolver, PrefixEvaluator, HTTPConnectionEnricher,
17
+ MethodCallResolver, ArgumentParameterLinker, AliasTracker, ValueDomainAnalyzer, MountPointResolver, PrefixEvaluator, ConfigRoutingMapBuilder, ServiceConnectionEnricher, RejectionPropagationEnricher,
18
18
  // Validation
19
- CallResolverValidator, EvalBanValidator, SQLInjectionValidator, ShadowingDetector, GraphConnectivityValidator, DataFlowValidator, } from '@grafema/core';
19
+ CallResolverValidator, EvalBanValidator, SQLInjectionValidator, AwaitInLoopValidator, ShadowingDetector, GraphConnectivityValidator, DataFlowValidator, UnconnectedRouteValidator, } from '@grafema/core';
20
20
  const projectPath = process.argv[2];
21
21
  const serviceName = process.argv[3] && process.argv[3] !== '' ? process.argv[3] : null;
22
22
  const indexOnly = process.argv[4] === 'indexOnly';
@@ -80,6 +80,7 @@ async function run() {
80
80
  JSASTAnalyzer: () => new JSASTAnalyzer(),
81
81
  ExpressRouteAnalyzer: () => new ExpressRouteAnalyzer(),
82
82
  ExpressResponseAnalyzer: () => new ExpressResponseAnalyzer(),
83
+ NestJSRouteAnalyzer: () => new NestJSRouteAnalyzer(),
83
84
  SocketIOAnalyzer: () => new SocketIOAnalyzer(),
84
85
  DatabaseAnalyzer: () => new DatabaseAnalyzer(),
85
86
  FetchAnalyzer: () => new FetchAnalyzer(),
@@ -91,13 +92,17 @@ async function run() {
91
92
  ValueDomainAnalyzer: () => new ValueDomainAnalyzer(),
92
93
  MountPointResolver: () => new MountPointResolver(),
93
94
  PrefixEvaluator: () => new PrefixEvaluator(),
94
- HTTPConnectionEnricher: () => new HTTPConnectionEnricher(),
95
+ ConfigRoutingMapBuilder: () => new ConfigRoutingMapBuilder(),
96
+ ServiceConnectionEnricher: () => new ServiceConnectionEnricher(),
97
+ RejectionPropagationEnricher: () => new RejectionPropagationEnricher(),
95
98
  CallResolverValidator: () => new CallResolverValidator(),
96
99
  EvalBanValidator: () => new EvalBanValidator(),
97
100
  SQLInjectionValidator: () => new SQLInjectionValidator(),
101
+ AwaitInLoopValidator: () => new AwaitInLoopValidator(),
98
102
  ShadowingDetector: () => new ShadowingDetector(),
99
103
  GraphConnectivityValidator: () => new GraphConnectivityValidator(),
100
104
  DataFlowValidator: () => new DataFlowValidator(),
105
+ UnconnectedRouteValidator: () => new UnconnectedRouteValidator(),
101
106
  };
102
107
  // Add custom plugins
103
108
  for (const [name, PluginClass] of Object.entries(customPlugins)) {
@@ -105,7 +110,7 @@ async function run() {
105
110
  }
106
111
  // Build plugins array from config
107
112
  const plugins = [];
108
- for (const [phase, pluginNames] of Object.entries(config.plugins || {})) {
113
+ for (const [_phase, pluginNames] of Object.entries(config.plugins || {})) {
109
114
  for (const name of pluginNames) {
110
115
  if (builtinPlugins[name]) {
111
116
  plugins.push(builtinPlugins[name]());
@@ -162,7 +167,7 @@ async function run() {
162
167
  // Use async methods for RFDBServerBackend
163
168
  const allEdges = await db.getAllEdgesAsync();
164
169
  edgeCount = allEdges.length;
165
- for await (const _ of db.queryNodes({})) {
170
+ for await (const _node of db.queryNodes({})) {
166
171
  nodeCount++;
167
172
  }
168
173
  // Flush to disk using proper async method
@@ -188,13 +193,16 @@ async function run() {
188
193
  console.log('[Worker] Database connection closed in cleanup');
189
194
  }
190
195
  catch (closeErr) {
191
- console.error('[Worker] Error closing database connection:', closeErr.message);
196
+ const message = closeErr instanceof Error ? closeErr.message : String(closeErr);
197
+ console.error('[Worker] Error closing database connection:', message);
192
198
  }
193
199
  }
194
200
  }
195
201
  }
196
202
  run().catch(err => {
197
- sendError(err);
203
+ const error = err instanceof Error ? err : new Error(String(err));
204
+ sendError(error);
198
205
  console.error('Analysis failed:', err);
199
206
  process.exit(1);
200
207
  });
208
+ //# sourceMappingURL=analysis-worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analysis-worker.js","sourceRoot":"","sources":["../src/analysis-worker.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"analysis.d.ts","sourceRoot":"","sources":["../src/analysis.ts"],"names":[],"mappings":"AAAA;;GAEG;AAeH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;;;;;;;;;;GAYG;AACH,wBAAsB,cAAc,CAClC,WAAW,GAAE,MAAM,GAAG,IAAW,EACjC,KAAK,GAAE,OAAe,GACrB,OAAO,CAAC,YAAY,CAAC,CAwGvB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAyC3D"}
1
+ {"version":3,"file":"analysis.d.ts","sourceRoot":"","sources":["../src/analysis.ts"],"names":[],"mappings":"AAAA;;GAEG;AAgBH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;;;;;;;;;;GAYG;AACH,wBAAsB,cAAc,CAClC,WAAW,GAAE,MAAM,GAAG,IAAW,EACjC,KAAK,GAAE,OAAe,GACrB,OAAO,CAAC,YAAY,CAAC,CAwGvB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAyC3D"}
package/dist/analysis.js CHANGED
@@ -133,3 +133,4 @@ export async function discoverServices() {
133
133
  log(`[Grafema MCP] Discovery complete: found ${manifest.services?.length || 0} services`);
134
134
  return manifest.services || [];
135
135
  }
136
+ //# sourceMappingURL=analysis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analysis.js","sourceRoot":"","sources":["../src/analysis.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAoC,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAsCrF;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,aAAa;IAC9C,SAAS,CAAC,EAAE;QACV,OAAO,EAAE,OAAO,CAAC;QACjB,UAAU,EAAE,OAAO,CAAC;KACrB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAUD,KAAK,aAAa,GAAG,MAAM,OAAO,CAAC;AAEnC,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAmCzD,CAAC;AAGF;;;GAGG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAWzD;AAGD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,OAAO,CAAC,CAAC;CAC9C;AAED,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAoCxF;AAGD,wBAAgB,aAAa,CAC3B,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,EAChC,eAAe,GAAE,MAAM,CAAC,MAAM,EAAE,UAAU,OAAO,CAAM,GACtD,OAAO,EAAE,CA8BX"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAoC,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAmDrF;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,aAAa;IAC9C,SAAS,CAAC,EAAE;QACV,OAAO,EAAE,OAAO,CAAC;QACjB,UAAU,EAAE,OAAO,CAAC;KACrB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAUD,KAAK,aAAa,GAAG,MAAM,OAAO,CAAC;AAEnC,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAgDzD,CAAC;AAGF;;;GAGG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAWzD;AAGD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,OAAO,CAAC,CAAC;CAC9C;AAED,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA0CxF;AAGD,wBAAgB,aAAa,CAC3B,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,EAChC,eAAe,GAAE,MAAM,CAAC,MAAM,EAAE,UAAU,OAAO,CAAM,GACtD,OAAO,EAAE,CA8BX"}
package/dist/config.js CHANGED
@@ -11,11 +11,11 @@ import {
11
11
  // Indexing
12
12
  JSModuleIndexer, RustModuleIndexer,
13
13
  // Analysis
14
- JSASTAnalyzer, ExpressRouteAnalyzer, ExpressResponseAnalyzer, SocketIOAnalyzer, DatabaseAnalyzer, FetchAnalyzer, ServiceLayerAnalyzer, ReactAnalyzer, RustAnalyzer,
14
+ JSASTAnalyzer, ExpressRouteAnalyzer, ExpressResponseAnalyzer, NestJSRouteAnalyzer, SocketIOAnalyzer, DatabaseAnalyzer, FetchAnalyzer, SocketAnalyzer, ServiceLayerAnalyzer, ReactAnalyzer, RustAnalyzer,
15
15
  // Enrichment
16
- MethodCallResolver, ArgumentParameterLinker, AliasTracker, ValueDomainAnalyzer, MountPointResolver, PrefixEvaluator, InstanceOfResolver, HTTPConnectionEnricher, RustFFIEnricher,
16
+ MethodCallResolver, ArgumentParameterLinker, AliasTracker, ClosureCaptureEnricher, ValueDomainAnalyzer, MountPointResolver, ExpressHandlerLinker, PrefixEvaluator, ImportExportLinker, InstanceOfResolver, HTTPConnectionEnricher, CallbackCallResolver, SocketConnectionEnricher, ConfigRoutingMapBuilder, ServiceConnectionEnricher, RustFFIEnricher, RejectionPropagationEnricher,
17
17
  // Validation
18
- CallResolverValidator, EvalBanValidator, SQLInjectionValidator, ShadowingDetector, GraphConnectivityValidator, DataFlowValidator, TypeScriptDeadCodeValidator, } from '@grafema/core';
18
+ CallResolverValidator, EvalBanValidator, SQLInjectionValidator, AwaitInLoopValidator, ShadowingDetector, GraphConnectivityValidator, DataFlowValidator, TypeScriptDeadCodeValidator, BrokenImportValidator, UnconnectedRouteValidator, } from '@grafema/core';
19
19
  const MCP_DEFAULTS = {
20
20
  discovery: {
21
21
  enabled: true,
@@ -30,9 +30,11 @@ export const BUILTIN_PLUGINS = {
30
30
  JSASTAnalyzer: () => new JSASTAnalyzer(),
31
31
  ExpressRouteAnalyzer: () => new ExpressRouteAnalyzer(),
32
32
  ExpressResponseAnalyzer: () => new ExpressResponseAnalyzer(),
33
+ NestJSRouteAnalyzer: () => new NestJSRouteAnalyzer(),
33
34
  SocketIOAnalyzer: () => new SocketIOAnalyzer(),
34
35
  DatabaseAnalyzer: () => new DatabaseAnalyzer(),
35
36
  FetchAnalyzer: () => new FetchAnalyzer(),
37
+ SocketAnalyzer: () => new SocketAnalyzer(),
36
38
  ServiceLayerAnalyzer: () => new ServiceLayerAnalyzer(),
37
39
  ReactAnalyzer: () => new ReactAnalyzer(),
38
40
  RustAnalyzer: () => new RustAnalyzer(),
@@ -40,20 +42,31 @@ export const BUILTIN_PLUGINS = {
40
42
  MethodCallResolver: () => new MethodCallResolver(),
41
43
  ArgumentParameterLinker: () => new ArgumentParameterLinker(),
42
44
  AliasTracker: () => new AliasTracker(),
45
+ ClosureCaptureEnricher: () => new ClosureCaptureEnricher(),
43
46
  ValueDomainAnalyzer: () => new ValueDomainAnalyzer(),
44
47
  MountPointResolver: () => new MountPointResolver(),
48
+ ExpressHandlerLinker: () => new ExpressHandlerLinker(),
45
49
  PrefixEvaluator: () => new PrefixEvaluator(),
50
+ ImportExportLinker: () => new ImportExportLinker(),
46
51
  InstanceOfResolver: () => new InstanceOfResolver(),
47
52
  HTTPConnectionEnricher: () => new HTTPConnectionEnricher(),
53
+ CallbackCallResolver: () => new CallbackCallResolver(),
54
+ SocketConnectionEnricher: () => new SocketConnectionEnricher(),
55
+ ConfigRoutingMapBuilder: () => new ConfigRoutingMapBuilder(),
56
+ ServiceConnectionEnricher: () => new ServiceConnectionEnricher(),
48
57
  RustFFIEnricher: () => new RustFFIEnricher(),
58
+ RejectionPropagationEnricher: () => new RejectionPropagationEnricher(),
49
59
  // Validation
50
60
  CallResolverValidator: () => new CallResolverValidator(),
51
61
  EvalBanValidator: () => new EvalBanValidator(),
52
62
  SQLInjectionValidator: () => new SQLInjectionValidator(),
63
+ AwaitInLoopValidator: () => new AwaitInLoopValidator(),
53
64
  ShadowingDetector: () => new ShadowingDetector(),
54
65
  GraphConnectivityValidator: () => new GraphConnectivityValidator(),
55
66
  DataFlowValidator: () => new DataFlowValidator(),
56
67
  TypeScriptDeadCodeValidator: () => new TypeScriptDeadCodeValidator(),
68
+ BrokenImportValidator: () => new BrokenImportValidator(),
69
+ UnconnectedRouteValidator: () => new UnconnectedRouteValidator(),
57
70
  };
58
71
  // === CONFIG LOADING ===
59
72
  /**
@@ -88,18 +101,24 @@ export async function loadCustomPlugins(projectPath) {
88
101
  const PluginClass = module.default || module[file.replace(/\.(m?js)$/, '')];
89
102
  if (PluginClass && typeof PluginClass === 'function') {
90
103
  const pluginName = PluginClass.name || file.replace(/\.(m?js)$/, '');
91
- customPlugins.push(new PluginClass());
104
+ const instance = new PluginClass();
105
+ if (instance.config) {
106
+ instance.config.sourceFile = pluginPath;
107
+ }
108
+ customPlugins.push(instance);
92
109
  pluginMap[pluginName] = PluginClass;
93
110
  log(`[Grafema MCP] Loaded custom plugin: ${pluginName} from ${file}`);
94
111
  }
95
112
  }
96
113
  catch (err) {
97
- log(`[Grafema MCP] Failed to load plugin ${file}: ${err.message}`);
114
+ const message = err instanceof Error ? err.message : String(err);
115
+ log(`[Grafema MCP] Failed to load plugin ${file}: ${message}`);
98
116
  }
99
117
  }
100
118
  }
101
119
  catch (err) {
102
- log(`[Grafema MCP] Error loading custom plugins: ${err.message}`);
120
+ const message = err instanceof Error ? err.message : String(err);
121
+ log(`[Grafema MCP] Error loading custom plugins: ${message}`);
103
122
  }
104
123
  return { plugins: customPlugins, pluginMap };
105
124
  }
@@ -126,8 +145,9 @@ export function createPlugins(config, customPluginMap = {}) {
126
145
  log(`[Grafema MCP] Enabled plugin: ${name}`);
127
146
  }
128
147
  else {
129
- log(`[Grafema MCP] Warning: Unknown plugin ${name}`);
148
+ log(`[Grafema MCP] Plugin not found: ${name} (skipping)`);
130
149
  }
131
150
  }
132
151
  return plugins;
133
152
  }
153
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,11 @@
3
3
  */
4
4
  interface SchemaProperty {
5
5
  type: string;
6
- description: string;
6
+ description?: string;
7
7
  enum?: string[];
8
- items?: {
9
- type: string;
10
- };
8
+ items?: SchemaProperty;
9
+ properties?: Record<string, SchemaProperty>;
10
+ required?: string[];
11
11
  }
12
12
  export interface ToolDefinition {
13
13
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../src/definitions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC3C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED,eAAO,MAAM,KAAK,EAAE,cAAc,EAoejC,CAAC"}
1
+ {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../src/definitions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC5C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC3C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED,eAAO,MAAM,KAAK,EAAE,cAAc,EA+nBjC,CAAC"}
@@ -14,7 +14,7 @@ Available predicates:
14
14
 
15
15
  NODE TYPES:
16
16
  - MODULE, FUNCTION, METHOD, CLASS, VARIABLE, PARAMETER
17
- - CALL, METHOD_CALL, CALL_SITE
17
+ - CALL, PROPERTY_ACCESS, METHOD_CALL, CALL_SITE
18
18
  - http:route, http:request, db:query, socketio:emit, socketio:on
19
19
 
20
20
  EDGE TYPES:
@@ -82,7 +82,7 @@ Returns call sites with file locations and whether they're resolved.`,
82
82
  properties: {
83
83
  type: {
84
84
  type: 'string',
85
- description: 'Node type (e.g., FUNCTION, CLASS, MODULE)',
85
+ description: 'Node type (e.g., FUNCTION, CLASS, MODULE, PROPERTY_ACCESS)',
86
86
  },
87
87
  name: {
88
88
  type: 'string',
@@ -371,7 +371,7 @@ Examples:
371
371
  properties: {
372
372
  topic: {
373
373
  type: 'string',
374
- description: 'Topic: queries, types, guarantees, or overview',
374
+ description: 'Topic: queries, types, guarantees, onboarding, or overview',
375
375
  },
376
376
  },
377
377
  },
@@ -486,4 +486,159 @@ Max transitive depth is 5 to prevent explosion.`,
486
486
  required: ['name'],
487
487
  },
488
488
  },
489
+ {
490
+ name: 'get_context',
491
+ description: `Get deep context for a graph node: source code + full graph neighborhood.
492
+
493
+ Shows ALL incoming and outgoing edges grouped by type, with source code
494
+ at each connected node's location. Works for ANY node type.
495
+
496
+ Use this after find_nodes or query_graph to deep-dive into a specific node.
497
+
498
+ Output includes:
499
+ - Node info (type, name, semantic ID, location)
500
+ - Source code at the node's location
501
+ - All outgoing edges (what this node connects to)
502
+ - All incoming edges (what connects to this node)
503
+ - Code context at each connected node's location
504
+
505
+ Primary edges (CALLS, ASSIGNED_FROM, DEPENDS_ON, etc.) include code context.
506
+ Structural edges (CONTAINS, HAS_SCOPE, etc.) are shown in compact form.`,
507
+ inputSchema: {
508
+ type: 'object',
509
+ properties: {
510
+ semanticId: {
511
+ type: 'string',
512
+ description: 'Exact semantic ID of the node (from find_nodes or query_graph)',
513
+ },
514
+ contextLines: {
515
+ type: 'number',
516
+ description: 'Lines of code context around each reference (default: 3)',
517
+ },
518
+ edgeType: {
519
+ type: 'string',
520
+ description: 'Filter by edge type (comma-separated, e.g., "CALLS,ASSIGNED_FROM")',
521
+ },
522
+ },
523
+ required: ['semanticId'],
524
+ },
525
+ },
526
+ {
527
+ name: 'get_file_overview',
528
+ description: `Get a structured overview of all entities in a file with their relationships.
529
+
530
+ Shows imports, exports, classes, functions, and variables with key edges
531
+ (CALLS, EXTENDS, ASSIGNED_FROM). Use this for file-level understanding
532
+ before diving into specific nodes with get_context.
533
+
534
+ Output includes:
535
+ - Imports: module sources and imported names
536
+ - Exports: named and default exports
537
+ - Classes: with methods and their call targets
538
+ - Functions: with call targets
539
+ - Variables: with assignment sources
540
+
541
+ This is the recommended first step when exploring a file.
542
+ After using this, use get_context with specific node IDs for details.`,
543
+ inputSchema: {
544
+ type: 'object',
545
+ properties: {
546
+ file: {
547
+ type: 'string',
548
+ description: 'File path (relative to project root or absolute)',
549
+ },
550
+ include_edges: {
551
+ type: 'boolean',
552
+ description: 'Include relationship edges like CALLS, EXTENDS (default: true). Set false for faster results.',
553
+ },
554
+ },
555
+ required: ['file'],
556
+ },
557
+ },
558
+ {
559
+ name: 'read_project_structure',
560
+ description: `Get the directory structure of the project.
561
+ Returns a tree of files and directories, useful for understanding
562
+ project layout during onboarding.
563
+
564
+ Excludes: node_modules, .git, dist, build, .grafema, coverage, .next, .nuxt
565
+
566
+ Use this tool when studying a new project to identify services,
567
+ packages, and entry points.`,
568
+ inputSchema: {
569
+ type: 'object',
570
+ properties: {
571
+ path: {
572
+ type: 'string',
573
+ description: 'Subdirectory to scan (relative to project root). Default: project root.',
574
+ },
575
+ depth: {
576
+ type: 'number',
577
+ description: 'Maximum directory depth (default: 3, max: 5)',
578
+ },
579
+ include_files: {
580
+ type: 'boolean',
581
+ description: 'Include files in output, not just directories (default: true)',
582
+ },
583
+ },
584
+ },
585
+ },
586
+ {
587
+ name: 'write_config',
588
+ description: `Write or update the Grafema configuration file (.grafema/config.yaml).
589
+ Validates all inputs before writing. Creates .grafema/ directory if needed.
590
+
591
+ Use this tool after studying the project to save the discovered configuration.
592
+ Only include fields you want to override — defaults are used for omitted fields.`,
593
+ inputSchema: {
594
+ type: 'object',
595
+ properties: {
596
+ services: {
597
+ type: 'array',
598
+ items: {
599
+ type: 'object',
600
+ properties: {
601
+ name: { type: 'string', description: 'Service name (e.g., "backend")' },
602
+ path: { type: 'string', description: 'Path relative to project root (e.g., "apps/backend")' },
603
+ entryPoint: { type: 'string', description: 'Entry point file relative to service path (e.g., "src/index.ts")' },
604
+ },
605
+ required: ['name', 'path'],
606
+ },
607
+ description: 'Service definitions (leave empty to use auto-discovery)',
608
+ },
609
+ plugins: {
610
+ type: 'object',
611
+ properties: {
612
+ indexing: { type: 'array', items: { type: 'string' }, description: 'Indexing plugins' },
613
+ analysis: { type: 'array', items: { type: 'string' }, description: 'Analysis plugins' },
614
+ enrichment: { type: 'array', items: { type: 'string' }, description: 'Enrichment plugins' },
615
+ validation: { type: 'array', items: { type: 'string' }, description: 'Validation plugins' },
616
+ },
617
+ description: 'Plugin configuration (omit to use defaults)',
618
+ },
619
+ include: {
620
+ type: 'array',
621
+ items: { type: 'string' },
622
+ description: 'Glob patterns for files to include (e.g., ["src/**/*.ts"])',
623
+ },
624
+ exclude: {
625
+ type: 'array',
626
+ items: { type: 'string' },
627
+ description: 'Glob patterns for files to exclude (e.g., ["**/*.test.ts"])',
628
+ },
629
+ workspace: {
630
+ type: 'object',
631
+ properties: {
632
+ roots: {
633
+ type: 'array',
634
+ items: { type: 'string' },
635
+ description: 'Root directories for multi-root workspace',
636
+ },
637
+ },
638
+ description: 'Multi-root workspace config (only for workspaces)',
639
+ },
640
+ },
641
+ },
642
+ },
489
643
  ];
644
+ //# sourceMappingURL=definitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../src/definitions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * MCP Analysis Handlers
3
+ */
4
+ import type { ToolResult, AnalyzeProjectArgs, GetSchemaArgs } from '../types.js';
5
+ export declare function handleAnalyzeProject(args: AnalyzeProjectArgs): Promise<ToolResult>;
6
+ export declare function handleGetAnalysisStatus(): Promise<ToolResult>;
7
+ export declare function handleGetStats(): Promise<ToolResult>;
8
+ export declare function handleGetSchema(args: GetSchemaArgs): Promise<ToolResult>;
9
+ //# sourceMappingURL=analysis-handlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analysis-handlers.d.ts","sourceRoot":"","sources":["../../src/handlers/analysis-handlers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,KAAK,EACV,UAAU,EACV,kBAAkB,EAClB,aAAa,EACd,MAAM,aAAa,CAAC;AAIrB,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CA6BxF;AAED,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,UAAU,CAAC,CAYnE;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,UAAU,CAAC,CAe1D;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CAwB9E"}