@grafema/mcp 0.2.5-beta → 0.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +49 -25
- package/dist/analysis-worker.js +8 -4
- package/dist/analysis-worker.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +15 -3
- package/dist/config.js.map +1 -1
- package/dist/definitions.d.ts.map +1 -1
- package/dist/definitions.js +69 -0
- package/dist/definitions.js.map +1 -1
- package/dist/handlers/analysis-handlers.d.ts +9 -0
- package/dist/handlers/analysis-handlers.d.ts.map +1 -0
- package/dist/handlers/analysis-handlers.js +73 -0
- package/dist/handlers/analysis-handlers.js.map +1 -0
- package/dist/handlers/context-handlers.d.ts +21 -0
- package/dist/handlers/context-handlers.d.ts.map +1 -0
- package/dist/handlers/context-handlers.js +330 -0
- package/dist/handlers/context-handlers.js.map +1 -0
- package/dist/handlers/coverage-handlers.d.ts +6 -0
- package/dist/handlers/coverage-handlers.d.ts.map +1 -0
- package/dist/handlers/coverage-handlers.js +42 -0
- package/dist/handlers/coverage-handlers.js.map +1 -0
- package/dist/handlers/dataflow-handlers.d.ts +8 -0
- package/dist/handlers/dataflow-handlers.d.ts.map +1 -0
- package/dist/handlers/dataflow-handlers.js +140 -0
- package/dist/handlers/dataflow-handlers.js.map +1 -0
- package/dist/handlers/documentation-handlers.d.ts +6 -0
- package/dist/handlers/documentation-handlers.d.ts.map +1 -0
- package/dist/handlers/documentation-handlers.js +79 -0
- package/dist/handlers/documentation-handlers.js.map +1 -0
- package/dist/handlers/guarantee-handlers.d.ts +21 -0
- package/dist/handlers/guarantee-handlers.d.ts.map +1 -0
- package/dist/handlers/guarantee-handlers.js +251 -0
- package/dist/handlers/guarantee-handlers.js.map +1 -0
- package/dist/handlers/guard-handlers.d.ts +14 -0
- package/dist/handlers/guard-handlers.d.ts.map +1 -0
- package/dist/handlers/guard-handlers.js +77 -0
- package/dist/handlers/guard-handlers.js.map +1 -0
- package/dist/handlers/index.d.ts +14 -0
- package/dist/handlers/index.d.ts.map +1 -0
- package/dist/handlers/index.js +14 -0
- package/dist/handlers/index.js.map +1 -0
- package/dist/handlers/issue-handlers.d.ts +6 -0
- package/dist/handlers/issue-handlers.d.ts.map +1 -0
- package/dist/handlers/issue-handlers.js +66 -0
- package/dist/handlers/issue-handlers.js.map +1 -0
- package/dist/handlers/project-handlers.d.ts +7 -0
- package/dist/handlers/project-handlers.d.ts.map +1 -0
- package/dist/handlers/project-handlers.js +153 -0
- package/dist/handlers/project-handlers.js.map +1 -0
- package/dist/handlers/query-handlers.d.ts +8 -0
- package/dist/handlers/query-handlers.d.ts.map +1 -0
- package/dist/handlers/query-handlers.js +171 -0
- package/dist/handlers/query-handlers.js.map +1 -0
- package/dist/handlers.d.ts +3 -1
- package/dist/handlers.d.ts.map +1 -1
- package/dist/handlers.js +199 -4
- package/dist/handlers.js.map +1 -1
- package/dist/server.js +7 -1
- package/dist/server.js.map +1 -1
- package/dist/types.d.ts +9 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/analysis-worker.ts +10 -2
- package/src/config.ts +24 -0
- package/src/definitions.ts +70 -0
- package/src/handlers/analysis-handlers.ts +105 -0
- package/src/handlers/context-handlers.ts +410 -0
- package/src/handlers/coverage-handlers.ts +56 -0
- package/src/handlers/dataflow-handlers.ts +193 -0
- package/src/handlers/documentation-handlers.ts +89 -0
- package/src/handlers/guarantee-handlers.ts +278 -0
- package/src/handlers/guard-handlers.ts +100 -0
- package/src/handlers/index.ts +14 -0
- package/src/handlers/issue-handlers.ts +81 -0
- package/src/handlers/project-handlers.ts +200 -0
- package/src/handlers/query-handlers.ts +232 -0
- package/src/server.ts +13 -1
- package/src/types.ts +15 -0
- package/src/handlers.ts +0 -1373
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
|
|
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
|
-
| `
|
|
62
|
-
| `
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
|
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
|
-
|
|
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
|
package/dist/analysis-worker.js
CHANGED
|
@@ -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,
|
|
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,14 +92,17 @@ async function run() {
|
|
|
91
92
|
ValueDomainAnalyzer: () => new ValueDomainAnalyzer(),
|
|
92
93
|
MountPointResolver: () => new MountPointResolver(),
|
|
93
94
|
PrefixEvaluator: () => new PrefixEvaluator(),
|
|
94
|
-
|
|
95
|
+
ConfigRoutingMapBuilder: () => new ConfigRoutingMapBuilder(),
|
|
96
|
+
ServiceConnectionEnricher: () => new ServiceConnectionEnricher(),
|
|
95
97
|
RejectionPropagationEnricher: () => new RejectionPropagationEnricher(),
|
|
96
98
|
CallResolverValidator: () => new CallResolverValidator(),
|
|
97
99
|
EvalBanValidator: () => new EvalBanValidator(),
|
|
98
100
|
SQLInjectionValidator: () => new SQLInjectionValidator(),
|
|
101
|
+
AwaitInLoopValidator: () => new AwaitInLoopValidator(),
|
|
99
102
|
ShadowingDetector: () => new ShadowingDetector(),
|
|
100
103
|
GraphConnectivityValidator: () => new GraphConnectivityValidator(),
|
|
101
104
|
DataFlowValidator: () => new DataFlowValidator(),
|
|
105
|
+
UnconnectedRouteValidator: () => new UnconnectedRouteValidator(),
|
|
102
106
|
};
|
|
103
107
|
// Add custom plugins
|
|
104
108
|
for (const [name, PluginClass] of Object.entries(customPlugins)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analysis-worker.js","sourceRoot":"","sources":["../src/analysis-worker.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,OAAO,EACL,YAAY,EACZ,iBAAiB;AACjB,WAAW;AACX,eAAe;AACf,WAAW;AACX,aAAa,EACb,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,aAAa;AACb,aAAa;AACb,kBAAkB,EAClB,uBAAuB,EACvB,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,
|
|
1
|
+
{"version":3,"file":"analysis-worker.js","sourceRoot":"","sources":["../src/analysis-worker.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts.map
CHANGED
|
@@ -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;
|
|
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, RejectionPropagationEnricher,
|
|
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,21 +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(),
|
|
49
58
|
RejectionPropagationEnricher: () => new RejectionPropagationEnricher(),
|
|
50
59
|
// Validation
|
|
51
60
|
CallResolverValidator: () => new CallResolverValidator(),
|
|
52
61
|
EvalBanValidator: () => new EvalBanValidator(),
|
|
53
62
|
SQLInjectionValidator: () => new SQLInjectionValidator(),
|
|
63
|
+
AwaitInLoopValidator: () => new AwaitInLoopValidator(),
|
|
54
64
|
ShadowingDetector: () => new ShadowingDetector(),
|
|
55
65
|
GraphConnectivityValidator: () => new GraphConnectivityValidator(),
|
|
56
66
|
DataFlowValidator: () => new DataFlowValidator(),
|
|
57
67
|
TypeScriptDeadCodeValidator: () => new TypeScriptDeadCodeValidator(),
|
|
68
|
+
BrokenImportValidator: () => new BrokenImportValidator(),
|
|
69
|
+
UnconnectedRouteValidator: () => new UnconnectedRouteValidator(),
|
|
58
70
|
};
|
|
59
71
|
// === CONFIG LOADING ===
|
|
60
72
|
/**
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAsB,MAAM,eAAe,CAAC;AAErF,yBAAyB;AACzB,OAAO;AACL,WAAW;AACX,eAAe,EACf,iBAAiB;AACjB,WAAW;AACX,aAAa,EACb,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,YAAY;AACZ,aAAa;AACb,kBAAkB,EAClB,uBAAuB,EACvB,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,4BAA4B;AAC5B,aAAa;AACb,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,0BAA0B,EAC1B,iBAAiB,EACjB,2BAA2B,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,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,
|
|
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"}
|
package/dist/definitions.js
CHANGED
|
@@ -486,6 +486,75 @@ 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
|
+
},
|
|
489
558
|
{
|
|
490
559
|
name: 'read_project_structure',
|
|
491
560
|
description: `Get the directory structure of the project.
|
package/dist/definitions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../src/definitions.ts"],"names":[],"mappings":"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"}
|
|
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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Analysis Handlers
|
|
3
|
+
*/
|
|
4
|
+
import { ensureAnalyzed } from '../analysis.js';
|
|
5
|
+
import { getAnalysisStatus, getOrCreateBackend, isAnalysisRunning } from '../state.js';
|
|
6
|
+
import { textResult, errorResult, } from '../utils.js';
|
|
7
|
+
// === ANALYSIS HANDLERS ===
|
|
8
|
+
export async function handleAnalyzeProject(args) {
|
|
9
|
+
const { service, force } = args;
|
|
10
|
+
// Early check: return error for force=true if analysis is already running
|
|
11
|
+
// This provides immediate feedback instead of waiting or causing corruption
|
|
12
|
+
if (force && isAnalysisRunning()) {
|
|
13
|
+
return errorResult('Cannot force re-analysis: analysis is already in progress. ' +
|
|
14
|
+
'Use get_analysis_status to check current status, or wait for completion.');
|
|
15
|
+
}
|
|
16
|
+
// Note: setIsAnalyzed(false) is now handled inside ensureAnalyzed() within the lock
|
|
17
|
+
// to prevent race conditions where multiple calls could both clear the database
|
|
18
|
+
try {
|
|
19
|
+
await ensureAnalyzed(service || null, force || false);
|
|
20
|
+
const status = getAnalysisStatus();
|
|
21
|
+
return textResult(`Analysis complete!\n` +
|
|
22
|
+
`- Services discovered: ${status.servicesDiscovered}\n` +
|
|
23
|
+
`- Services analyzed: ${status.servicesAnalyzed}\n` +
|
|
24
|
+
`- Total time: ${status.timings.total || 'N/A'}s`);
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
28
|
+
return errorResult(message);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export async function handleGetAnalysisStatus() {
|
|
32
|
+
const status = getAnalysisStatus();
|
|
33
|
+
return textResult(`Analysis Status:\n` +
|
|
34
|
+
`- Running: ${status.running}\n` +
|
|
35
|
+
`- Phase: ${status.phase || 'N/A'}\n` +
|
|
36
|
+
`- Message: ${status.message || 'N/A'}\n` +
|
|
37
|
+
`- Services discovered: ${status.servicesDiscovered}\n` +
|
|
38
|
+
`- Services analyzed: ${status.servicesAnalyzed}\n` +
|
|
39
|
+
(status.error ? `- Error: ${status.error}\n` : ''));
|
|
40
|
+
}
|
|
41
|
+
export async function handleGetStats() {
|
|
42
|
+
const db = await getOrCreateBackend();
|
|
43
|
+
const nodeCount = await db.nodeCount();
|
|
44
|
+
const edgeCount = await db.edgeCount();
|
|
45
|
+
const nodesByType = await db.countNodesByType();
|
|
46
|
+
const edgesByType = await db.countEdgesByType();
|
|
47
|
+
return textResult(`Graph Statistics:\n\n` +
|
|
48
|
+
`Total nodes: ${nodeCount.toLocaleString()}\n` +
|
|
49
|
+
`Total edges: ${edgeCount.toLocaleString()}\n\n` +
|
|
50
|
+
`Nodes by type:\n${JSON.stringify(nodesByType, null, 2)}\n\n` +
|
|
51
|
+
`Edges by type:\n${JSON.stringify(edgesByType, null, 2)}`);
|
|
52
|
+
}
|
|
53
|
+
export async function handleGetSchema(args) {
|
|
54
|
+
const db = await getOrCreateBackend();
|
|
55
|
+
const { type = 'all' } = args;
|
|
56
|
+
const nodesByType = await db.countNodesByType();
|
|
57
|
+
const edgesByType = await db.countEdgesByType();
|
|
58
|
+
let output = '';
|
|
59
|
+
if (type === 'nodes' || type === 'all') {
|
|
60
|
+
output += `Node Types (${Object.keys(nodesByType).length}):\n`;
|
|
61
|
+
for (const [t, count] of Object.entries(nodesByType)) {
|
|
62
|
+
output += ` - ${t}: ${count}\n`;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
if (type === 'edges' || type === 'all') {
|
|
66
|
+
output += `\nEdge Types (${Object.keys(edgesByType).length}):\n`;
|
|
67
|
+
for (const [t, count] of Object.entries(edgesByType)) {
|
|
68
|
+
output += ` - ${t}: ${count}\n`;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return textResult(output);
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=analysis-handlers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analysis-handlers.js","sourceRoot":"","sources":["../../src/handlers/analysis-handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Context Handlers
|
|
3
|
+
*/
|
|
4
|
+
import type { ToolResult, GetFunctionDetailsArgs, GetContextArgs, GetFileOverviewArgs } from '../types.js';
|
|
5
|
+
/**
|
|
6
|
+
* Get comprehensive function details including calls made and callers.
|
|
7
|
+
*
|
|
8
|
+
* Graph structure:
|
|
9
|
+
* ```
|
|
10
|
+
* FUNCTION -[HAS_SCOPE]-> SCOPE -[CONTAINS]-> CALL/METHOD_CALL
|
|
11
|
+
* SCOPE -[CONTAINS]-> SCOPE (nested blocks)
|
|
12
|
+
* CALL -[CALLS]-> FUNCTION (target)
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* This is the core tool for understanding function behavior.
|
|
16
|
+
* Use transitive=true to follow call chains (A -> B -> C).
|
|
17
|
+
*/
|
|
18
|
+
export declare function handleGetFunctionDetails(args: GetFunctionDetailsArgs): Promise<ToolResult>;
|
|
19
|
+
export declare function handleGetContext(args: GetContextArgs): Promise<ToolResult>;
|
|
20
|
+
export declare function handleGetFileOverview(args: GetFileOverviewArgs): Promise<ToolResult>;
|
|
21
|
+
//# sourceMappingURL=context-handlers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-handlers.d.ts","sourceRoot":"","sources":["../../src/handlers/context-handlers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH,OAAO,KAAK,EACV,UAAU,EACV,sBAAsB,EACtB,cAAc,EACd,mBAAmB,EAEpB,MAAM,aAAa,CAAC;AAIrB;;;;;;;;;;;;GAYG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,UAAU,CAAC,CA6ErB;AA+CD,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,UAAU,CAAC,CAkIrB;AAID,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,UAAU,CAAC,CA2GrB"}
|