@mka-rainmaker/ama 0.1.1 → 0.1.2

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 CHANGED
@@ -34,7 +34,15 @@ npm install -g @mka-rainmaker/ama
34
34
 
35
35
  ### Configure your coding agent
36
36
 
37
- Every MCP client spawns the same stdio command `ama mcp` only the config location differs.
37
+ **Fastestlet Ama wire itself in:**
38
+
39
+ ```bash
40
+ ama install # detects Claude Code / Cursor / Windsurf and writes their MCP config
41
+ ama install --dry-run # preview what it would change, writing nothing
42
+ ama uninstall # remove it again
43
+ ```
44
+
45
+ Or configure manually — every MCP client spawns the same stdio command (`ama mcp`), only the config location differs.
38
46
 
39
47
  **Claude Code** — add it with one command:
40
48
 
@@ -66,6 +74,16 @@ claude mcp add ama -- ama mcp
66
74
  { "mcpServers": { "ama": { "command": "npx", "args": ["-y", "@mka-rainmaker/ama", "mcp"] } } }
67
75
  ```
68
76
 
77
+ ### Fewer tools, lower token cost
78
+
79
+ Ama exposes 27 tools by default. To trade that for a small high-signal set, set
80
+ `AMA_MCP_TOOLS` on the server — `minimal` (just `explore` + indexing), or a comma-separated
81
+ list of tool names (the indexing tools are always included):
82
+
83
+ ```json
84
+ { "mcpServers": { "ama": { "command": "ama", "args": ["mcp"], "env": { "AMA_MCP_TOOLS": "minimal" } } } }
85
+ ```
86
+
69
87
  ### Quick start
70
88
 
71
89
  Once connected, point Ama at a repo and start asking graph questions:
@@ -1,4 +1,5 @@
1
1
  import type Parser from "web-tree-sitter";
2
+ import { type GraphEdge, type GraphNode } from "../../graph/index.js";
2
3
  import type { AnalysisResult, Analyzer } from "../types.js";
3
4
  import { type SymbolRule } from "./walk.js";
4
5
  export type { SymbolRule };
@@ -25,6 +26,15 @@ export interface LanguageSpec {
25
26
  * module-qualified path; path-based languages can ignore it. (ama-8nr, ama-9yu)
26
27
  */
27
28
  readonly resolveImports?: (node: Parser.SyntaxNode, importerRel: string, root: string) => string[][] | undefined;
29
+ /**
30
+ * Optional route detector: walk the CST for framework route registrations and return Route
31
+ * nodes plus their handler `References` edges. Baseline tier — a heuristic, syntactic match
32
+ * on decorator/call patterns (e.g. Python's `@app.get("/x")`). (ama-bvg)
33
+ */
34
+ readonly collectRoutes?: (root: Parser.SyntaxNode, rel: string) => {
35
+ nodes: GraphNode[];
36
+ edges: GraphEdge[];
37
+ };
28
38
  }
29
39
  /**
30
40
  * A language-agnostic, syntactic (tier `baseline`) analyzer driven by a
@@ -1 +1 @@
1
- {"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../../../src/analyzers/baseline/analyzer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAE1C,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5D,OAAO,EAAE,KAAK,UAAU,EAAe,MAAM,WAAW,CAAC;AAEzD,YAAY,EAAE,UAAU,EAAE,CAAC;AAE3B;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,iEAAiE;IACjE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,mDAAmD;IACnD,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IACvD;;;;;;;;OAQG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,CACxB,IAAI,EAAE,MAAM,CAAC,UAAU,EACvB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,KACT,MAAM,EAAE,EAAE,GAAG,SAAS,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,qBAAa,gBAAiB,YAAW,QAAQ;IAKnC,OAAO,CAAC,QAAQ,CAAC,IAAI;IAJjC,QAAQ,CAAC,IAAI,cAAc;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;gBAEV,IAAI,EAAE,YAAY;IAKzC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IA8CrE;oFACgF;IAChF,OAAO,CAAC,cAAc;CAkBvB"}
1
+ {"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../../../src/analyzers/baseline/analyzer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAU,MAAM,sBAAsB,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5D,OAAO,EAAE,KAAK,UAAU,EAAe,MAAM,WAAW,CAAC;AAEzD,YAAY,EAAE,UAAU,EAAE,CAAC;AAE3B;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,iEAAiE;IACjE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,mDAAmD;IACnD,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IACvD;;;;;;;;OAQG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,CACxB,IAAI,EAAE,MAAM,CAAC,UAAU,EACvB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,KACT,MAAM,EAAE,EAAE,GAAG,SAAS,CAAC;IAE5B;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,CACvB,IAAI,EAAE,MAAM,CAAC,UAAU,EACvB,GAAG,EAAE,MAAM,KACR;QAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAAC,KAAK,EAAE,SAAS,EAAE,CAAA;KAAE,CAAC;CACjD;AAED;;;;;;GAMG;AACH,qBAAa,gBAAiB,YAAW,QAAQ;IAKnC,OAAO,CAAC,QAAQ,CAAC,IAAI;IAJjC,QAAQ,CAAC,IAAI,cAAc;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;gBAEV,IAAI,EAAE,YAAY;IAKzC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAmDrE;oFACgF;IAChF,OAAO,CAAC,cAAc;CAkBvB"}
@@ -51,6 +51,11 @@ export class BaselineAnalyzer {
51
51
  walkSymbols(tree.rootNode, this.spec.symbols, rel, id, "", fileNodes, fileEdges);
52
52
  if (this.spec.resolveImports)
53
53
  this.collectImports(tree.rootNode, rel, root, id, fileEdges);
54
+ if (this.spec.collectRoutes) {
55
+ const routes = this.spec.collectRoutes(tree.rootNode, rel);
56
+ fileNodes.push(...routes.nodes);
57
+ fileEdges.push(...routes.edges);
58
+ }
54
59
  nodes.push(...fileNodes);
55
60
  edges.push(...fileEdges);
56
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"analyzer.js","sourceRoot":"","sources":["../../../src/analyzers/baseline/analyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyzer.js","sourceRoot":"","sources":["../../../src/analyzers/baseline/analyzer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"python.d.ts","sourceRoot":"","sources":["../../../src/analyzers/baseline/python.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAwClD;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,EAAE,YASxB,CAAC"}
1
+ {"version":3,"file":"python.d.ts","sourceRoot":"","sources":["../../../src/analyzers/baseline/python.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAsIlD;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,EAAE,YAUxB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import * as path from "node:path";
2
+ import { symbolId } from "../../graph/index.js";
2
3
  /**
3
4
  * Resolve a Python relative import (`from .x import y`, `from . import m`,
4
5
  * `from ..pkg import z`) to candidate repo-relative module files. The leading
@@ -43,6 +44,103 @@ function pythonImports(node, importerRel) {
43
44
  }
44
45
  return groups;
45
46
  }
47
+ /** Flask/FastAPI HTTP-verb decorator attributes (`@app.get(...)`); `route` is handled
48
+ * separately as Flask's any-/default-GET form. (ama-bvg) */
49
+ const ROUTE_METHOD_ATTRS = new Set(["get", "post", "put", "delete", "patch", "options", "head"]);
50
+ /** Normalize a framework route path to the `:param` form — Flask `<id>`/`<int:id>` and
51
+ * FastAPI `{id}` both become `:id` — and ensure a leading slash. (ama-bvg) */
52
+ function normalizeRoutePath(p) {
53
+ const s = p.replace(/<(?:[^:>]+:)?([^>]+)>/g, ":$1").replace(/\{([^}]+)\}/g, ":$1");
54
+ return s.startsWith("/") ? s : `/${s}`;
55
+ }
56
+ /** The first string-literal argument of a call's `arguments`, unquoted. */
57
+ function firstStringArg(args) {
58
+ if (!args)
59
+ return undefined;
60
+ for (const a of args.namedChildren) {
61
+ if (a.type === "string")
62
+ return a.namedChildren.find((c) => c.type === "string_content")?.text;
63
+ }
64
+ return undefined;
65
+ }
66
+ /** Method + normalized path for a Flask/FastAPI route decorator, else undefined. `@x.route(p)`
67
+ * → GET (Flask default; the `methods=` kwarg is a later refinement); `@x.get(p)` etc. take the
68
+ * verb from the attribute name. (ama-bvg) */
69
+ function routeFromDecorator(dec) {
70
+ const call = dec.namedChildren.find((c) => c.type === "call");
71
+ const fn = call?.childForFieldName("function");
72
+ if (!call || fn?.type !== "attribute")
73
+ return undefined;
74
+ const attr = fn.childForFieldName("attribute")?.text?.toLowerCase();
75
+ if (!attr || (attr !== "route" && !ROUTE_METHOD_ATTRS.has(attr)))
76
+ return undefined;
77
+ const raw = firstStringArg(call.childForFieldName("arguments"));
78
+ if (raw === undefined)
79
+ return undefined;
80
+ return { method: attr === "route" ? "GET" : attr.toUpperCase(), path: normalizeRoutePath(raw) };
81
+ }
82
+ /** The handler's qualified name, matching walkSymbols' nesting: prepend each enclosing
83
+ * class/function name (a class method is `Class.method`; a top-level def is just its name). */
84
+ function qualifiedNameOf(fn) {
85
+ const own = fn.childForFieldName("name")?.text;
86
+ if (!own)
87
+ return undefined;
88
+ const parts = [];
89
+ for (let p = fn.parent; p; p = p.parent) {
90
+ if (p.type === "class_definition" || p.type === "function_definition") {
91
+ const n = p.childForFieldName("name")?.text;
92
+ if (n)
93
+ parts.unshift(n);
94
+ }
95
+ }
96
+ parts.push(own);
97
+ return parts.join(".");
98
+ }
99
+ function* eachDecorated(node) {
100
+ if (node.type === "decorated_definition")
101
+ yield node;
102
+ for (const c of node.namedChildren)
103
+ yield* eachDecorated(c);
104
+ }
105
+ /** Detect Flask/FastAPI routes: a decorated function whose decorator is `@<obj>.route(path)`
106
+ * or `@<obj>.<verb>(path)` becomes a `METHOD /path` Route referencing the function. (ama-bvg) */
107
+ function pythonRoutes(root, rel) {
108
+ const nodes = [];
109
+ const edges = [];
110
+ for (const dd of eachDecorated(root)) {
111
+ const fn = dd.childForFieldName("definition");
112
+ if (fn?.type !== "function_definition")
113
+ continue;
114
+ const handler = qualifiedNameOf(fn);
115
+ if (!handler)
116
+ continue;
117
+ for (const dec of dd.namedChildren) {
118
+ if (dec.type !== "decorator")
119
+ continue;
120
+ const route = routeFromDecorator(dec);
121
+ if (!route)
122
+ continue;
123
+ const name = `${route.method} ${route.path}`;
124
+ const routeId = symbolId({ file: rel, qualifiedName: name });
125
+ nodes.push({
126
+ id: routeId,
127
+ kind: "Route",
128
+ name,
129
+ file: rel,
130
+ qualifiedName: name,
131
+ tier: "baseline",
132
+ range: { startLine: fn.startPosition.row + 1, endLine: fn.endPosition.row + 1 },
133
+ });
134
+ edges.push({
135
+ from: routeId,
136
+ to: symbolId({ file: rel, qualifiedName: handler }),
137
+ kind: "References",
138
+ provenance: "heuristic",
139
+ });
140
+ }
141
+ }
142
+ return { nodes, edges };
143
+ }
46
144
  /**
47
145
  * Baseline (syntactic) spec for Python. Functions and classes are the symbols
48
146
  * worth a node; methods are `function_definition` too (Python doesn't
@@ -59,5 +157,6 @@ export const pythonSpec = {
59
157
  class_definition: { kind: "Class" },
60
158
  },
61
159
  resolveImports: pythonImports,
160
+ collectRoutes: pythonRoutes,
62
161
  };
63
162
  //# sourceMappingURL=python.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"python.js","sourceRoot":"","sources":["../../../src/analyzers/baseline/python.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"python.js","sourceRoot":"","sources":["../../../src/analyzers/baseline/python.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /** A coding agent Ama can wire itself into by merging an entry into the agent's JSON
2
+ * MCP config. Global (user-scope) configs under $HOME. (ama-di3) */
3
+ export interface AgentSpec {
4
+ readonly id: string;
5
+ readonly name: string;
6
+ /** The MCP config file to merge the ama server into. */
7
+ configPath(home: string): string;
8
+ /** Paths whose existence means this agent is installed; detection succeeds if any exists. */
9
+ markers(home: string): string[];
10
+ }
11
+ /** The key Ama registers itself under in an agent's `mcpServers`. */
12
+ export declare const SERVER_NAME = "ama";
13
+ /** The MCP server entry written for each agent. `ama` is on PATH (the user ran `ama install`). */
14
+ export declare const AMA_SERVER: {
15
+ readonly command: "ama";
16
+ readonly args: readonly ["mcp"];
17
+ };
18
+ export declare const AGENTS: readonly AgentSpec[];
19
+ type Json = Record<string, unknown>;
20
+ /** Add the ama MCP server to a config, preserving every other key and server. Pure +
21
+ * idempotent — re-running yields the same config. (ama-di3) */
22
+ export declare function withAmaServer(config: Json | undefined): Json;
23
+ /** Remove the ama MCP server, leaving every other server and key intact. Pure. (ama-di3) */
24
+ export declare function withoutAmaServer(config: Json | undefined): Json;
25
+ /** The agents detected as installed for `home` — any of an agent's markers present. */
26
+ export declare function detectAgents(home: string, exists: (p: string) => boolean): AgentSpec[];
27
+ export {};
28
+ //# sourceMappingURL=agents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/cli/agents.ts"],"names":[],"mappings":"AAEA;qEACqE;AACrE,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wDAAwD;IACxD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,6FAA6F;IAC7F,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACjC;AAED,qEAAqE;AACrE,eAAO,MAAM,WAAW,QAAQ,CAAC;AACjC,kGAAkG;AAClG,eAAO,MAAM,UAAU;;;CAA6C,CAAC;AAErE,eAAO,MAAM,MAAM,EAAE,SAAS,SAAS,EAmBtC,CAAC;AAEF,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEpC;gEACgE;AAChE,wBAAgB,aAAa,CAAC,MAAM,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,CAM5D;AAED,4FAA4F;AAC5F,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,CAM/D;AAED,uFAAuF;AACvF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,GAAG,SAAS,EAAE,CAEtF"}
@@ -0,0 +1,47 @@
1
+ import * as path from "node:path";
2
+ /** The key Ama registers itself under in an agent's `mcpServers`. */
3
+ export const SERVER_NAME = "ama";
4
+ /** The MCP server entry written for each agent. `ama` is on PATH (the user ran `ama install`). */
5
+ export const AMA_SERVER = { command: "ama", args: ["mcp"] };
6
+ export const AGENTS = [
7
+ {
8
+ id: "claude-code",
9
+ name: "Claude Code",
10
+ configPath: (h) => path.join(h, ".claude.json"),
11
+ markers: (h) => [path.join(h, ".claude.json"), path.join(h, ".claude")],
12
+ },
13
+ {
14
+ id: "cursor",
15
+ name: "Cursor",
16
+ configPath: (h) => path.join(h, ".cursor", "mcp.json"),
17
+ markers: (h) => [path.join(h, ".cursor")],
18
+ },
19
+ {
20
+ id: "windsurf",
21
+ name: "Windsurf",
22
+ configPath: (h) => path.join(h, ".codeium", "windsurf", "mcp_config.json"),
23
+ markers: (h) => [path.join(h, ".codeium")],
24
+ },
25
+ ];
26
+ /** Add the ama MCP server to a config, preserving every other key and server. Pure +
27
+ * idempotent — re-running yields the same config. (ama-di3) */
28
+ export function withAmaServer(config) {
29
+ const next = { ...(config ?? {}) };
30
+ const servers = { ...(next.mcpServers ?? {}) };
31
+ servers[SERVER_NAME] = { ...AMA_SERVER };
32
+ next.mcpServers = servers;
33
+ return next;
34
+ }
35
+ /** Remove the ama MCP server, leaving every other server and key intact. Pure. (ama-di3) */
36
+ export function withoutAmaServer(config) {
37
+ const next = { ...(config ?? {}) };
38
+ const servers = { ...(next.mcpServers ?? {}) };
39
+ delete servers[SERVER_NAME];
40
+ next.mcpServers = servers;
41
+ return next;
42
+ }
43
+ /** The agents detected as installed for `home` — any of an agent's markers present. */
44
+ export function detectAgents(home, exists) {
45
+ return AGENTS.filter((a) => a.markers(home).some(exists));
46
+ }
47
+ //# sourceMappingURL=agents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/cli/agents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAalC,qEAAqE;AACrE,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAC;AACjC,kGAAkG;AAClG,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAW,CAAC;AAErE,MAAM,CAAC,MAAM,MAAM,GAAyB;IAC1C;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,cAAc,CAAC;QAC/C,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;KACxE;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC;QACtD,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;KAC1C;IACD;QACE,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,CAAC;QAC1E,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;KAC3C;CACF,CAAC;AAIF;gEACgE;AAChE,MAAM,UAAU,aAAa,CAAC,MAAwB;IACpD,MAAM,IAAI,GAAS,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;IACzC,MAAM,OAAO,GAAS,EAAE,GAAG,CAAE,IAAI,CAAC,UAA+B,IAAI,EAAE,CAAC,EAAE,CAAC;IAC3E,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,UAAU,EAAE,CAAC;IACzC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;IAC1B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,gBAAgB,CAAC,MAAwB;IACvD,MAAM,IAAI,GAAS,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;IACzC,MAAM,OAAO,GAAS,EAAE,GAAG,CAAE,IAAI,CAAC,UAA+B,IAAI,EAAE,CAAC,EAAE,CAAC;IAC3E,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC;IAC5B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;IAC1B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,MAA8B;IACvE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5D,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { type AgentSpec } from "../agents.js";
2
+ import type { CliCommand } from "../index.js";
3
+ interface AgentResult {
4
+ agent: AgentSpec;
5
+ file: string;
6
+ ok: boolean;
7
+ error?: string;
8
+ }
9
+ /**
10
+ * Wire ama into every detected agent's MCP config, merging idempotently (other servers and
11
+ * keys preserved). `dryRun` detects but writes nothing. `home` is a parameter so tests run
12
+ * against a temp dir, never the real `~`. (ama-di3)
13
+ */
14
+ export declare function installAgents(home: string, dryRun?: boolean): AgentResult[];
15
+ /** Remove ama from every agent config that currently has it. (ama-di3) */
16
+ export declare function uninstallAgents(home: string): AgentResult[];
17
+ export declare const installCommand: CliCommand;
18
+ export declare const uninstallCommand: CliCommand;
19
+ export {};
20
+ //# sourceMappingURL=install.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/install.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,SAAS,EAIf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,UAAU,WAAW;IACnB,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAeD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,UAAQ,GAAG,WAAW,EAAE,CAWzE;AAED,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CAe3D;AAED,eAAO,MAAM,cAAc,EAAE,UAmB5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,UAe9B,CAAC"}
@@ -0,0 +1,94 @@
1
+ import * as fs from "node:fs";
2
+ import * as os from "node:os";
3
+ import * as path from "node:path";
4
+ import { AGENTS, detectAgents, withAmaServer, withoutAmaServer, } from "../agents.js";
5
+ function readJson(file) {
6
+ try {
7
+ return JSON.parse(fs.readFileSync(file, "utf8"));
8
+ }
9
+ catch {
10
+ return undefined; // missing or unparseable → start fresh (install) / nothing to remove
11
+ }
12
+ }
13
+ function writeJson(file, data) {
14
+ fs.mkdirSync(path.dirname(file), { recursive: true });
15
+ fs.writeFileSync(file, `${JSON.stringify(data, null, 2)}\n`);
16
+ }
17
+ /**
18
+ * Wire ama into every detected agent's MCP config, merging idempotently (other servers and
19
+ * keys preserved). `dryRun` detects but writes nothing. `home` is a parameter so tests run
20
+ * against a temp dir, never the real `~`. (ama-di3)
21
+ */
22
+ export function installAgents(home, dryRun = false) {
23
+ return detectAgents(home, fs.existsSync).map((agent) => {
24
+ const file = agent.configPath(home);
25
+ if (dryRun)
26
+ return { agent, file, ok: true };
27
+ try {
28
+ writeJson(file, withAmaServer(readJson(file)));
29
+ return { agent, file, ok: true };
30
+ }
31
+ catch (err) {
32
+ return { agent, file, ok: false, error: err instanceof Error ? err.message : String(err) };
33
+ }
34
+ });
35
+ }
36
+ /** Remove ama from every agent config that currently has it. (ama-di3) */
37
+ export function uninstallAgents(home) {
38
+ const out = [];
39
+ for (const agent of AGENTS) {
40
+ const file = agent.configPath(home);
41
+ const config = readJson(file);
42
+ const servers = config?.mcpServers;
43
+ if (!config || !servers || !("ama" in servers))
44
+ continue;
45
+ try {
46
+ writeJson(file, withoutAmaServer(config));
47
+ out.push({ agent, file, ok: true });
48
+ }
49
+ catch (err) {
50
+ out.push({ agent, file, ok: false, error: err instanceof Error ? err.message : String(err) });
51
+ }
52
+ }
53
+ return out;
54
+ }
55
+ export const installCommand = {
56
+ name: "install",
57
+ summary: "Wire the ama MCP server into your installed coding agents (--dry-run to preview)",
58
+ run(args, ctx) {
59
+ const dryRun = args.includes("--dry-run");
60
+ const results = installAgents(os.homedir(), dryRun);
61
+ if (results.length === 0) {
62
+ ctx.error?.("No supported agents detected (Claude Code, Cursor, Windsurf). See the README to configure manually.");
63
+ return 1;
64
+ }
65
+ for (const r of results) {
66
+ if (!r.ok)
67
+ ctx.error?.(`✗ ${r.agent.name}: ${r.error}`);
68
+ else
69
+ ctx.write(`${dryRun ? "would wire" : "✓"} ${r.agent.name.padEnd(12)} ${r.file}`);
70
+ }
71
+ if (!dryRun && results.some((r) => r.ok))
72
+ ctx.write("Restart the agent(s) to load Ama.");
73
+ return results.some((r) => !r.ok) ? 1 : 0;
74
+ },
75
+ };
76
+ export const uninstallCommand = {
77
+ name: "uninstall",
78
+ summary: "Remove the ama MCP server from your coding agents",
79
+ run(_args, ctx) {
80
+ const results = uninstallAgents(os.homedir());
81
+ if (results.length === 0) {
82
+ ctx.write("Ama was not wired into any detected agent.");
83
+ return 0;
84
+ }
85
+ for (const r of results) {
86
+ if (!r.ok)
87
+ ctx.error?.(`✗ ${r.agent.name}: ${r.error}`);
88
+ else
89
+ ctx.write(`✓ removed from ${r.agent.name}`);
90
+ }
91
+ return results.some((r) => !r.ok) ? 1 : 0;
92
+ },
93
+ };
94
+ //# sourceMappingURL=install.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/cli/commands/install.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAgCA,kEAAkE;AAClE,MAAM,WAAW,UAAU;IACzB,iFAAiF;IACjF,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,qCAAqC;IACrC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;;;;;OAKG;IACH,KAAK,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;wFACoF;IACpF,KAAK,CAAC,IAAI,MAAM,CAAC;CAClB;AAED,qCAAqC;AACrC,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,iFAAiF;IACjF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAChE;AAgBD;;;;GAIG;AACH,wBAAsB,GAAG,CACvB,IAAI,EAAE,MAAM,EAAE,EACd,QAAQ,EAAE,SAAS,UAAU,EAAE,EAC/B,GAAG,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAkD,EACzE,GAAG,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAkD,GACxE,OAAO,CAAC,MAAM,CAAC,CA4BjB;AAaD;8CAC8C;AAC9C,eAAO,MAAM,QAAQ,EAAE,SAAS,UAAU,EA6BzC,CAAC;AAEF,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAY1C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAiCA,kEAAkE;AAClE,MAAM,WAAW,UAAU;IACzB,iFAAiF;IACjF,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,qCAAqC;IACrC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;;;;;OAKG;IACH,KAAK,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;wFACoF;IACpF,KAAK,CAAC,IAAI,MAAM,CAAC;CAClB;AAED,qCAAqC;AACrC,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,iFAAiF;IACjF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAChE;AAgBD;;;;GAIG;AACH,wBAAsB,GAAG,CACvB,IAAI,EAAE,MAAM,EAAE,EACd,QAAQ,EAAE,SAAS,UAAU,EAAE,EAC/B,GAAG,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAkD,EACzE,GAAG,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAkD,GACxE,OAAO,CAAC,MAAM,CAAC,CA4BjB;AAaD;8CAC8C;AAC9C,eAAO,MAAM,QAAQ,EAAE,SAAS,UAAU,EA+BzC,CAAC;AAEF,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAY1C"}
package/dist/cli/index.js CHANGED
@@ -6,6 +6,7 @@ import { ensureBaselineWasmTier } from "../runtime/wasm-tier.js";
6
6
  import { cyclesCommand } from "./commands/cycles.js";
7
7
  import { filesCommand } from "./commands/files.js";
8
8
  import { affectedCommand, impactCommand } from "./commands/impact.js";
9
+ import { installCommand, uninstallCommand } from "./commands/install.js";
9
10
  import { indexCommand, initCommand, uninitCommand } from "./commands/lifecycle.js";
10
11
  import { calleesCommand, callersCommand, exploreCommand, handlersCommand, implementationsCommand, importersCommand, importsCommand, interfacesCommand, nodeCommand, overriddenByCommand, overridesCommand, referrersCommand, returnsCommand, routesCommand, skeletonCommand, typeUsersCommand, typesUsedCommand, } from "./commands/query.js";
11
12
  import { searchCodeCommand, searchCommand } from "./commands/search.js";
@@ -86,6 +87,7 @@ export const COMMANDS = [
86
87
  importsCommand,
87
88
  indexCommand,
88
89
  initCommand,
90
+ installCommand,
89
91
  interfacesCommand,
90
92
  nodeCommand,
91
93
  overriddenByCommand,
@@ -101,6 +103,7 @@ export const COMMANDS = [
101
103
  typeUsersCommand,
102
104
  typesUsedCommand,
103
105
  uninitCommand,
106
+ uninstallCommand,
104
107
  ];
105
108
  export async function main() {
106
109
  const argv = process.argv.slice(2);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -11,12 +11,18 @@ export declare function capped<T>(results: T[], limit: number, baseHint?: string
11
11
  /** A one-glance summary of a tool result — list length, index counts, etc.
12
12
  * Exported for unit testing of its banner/hint handling. */
13
13
  export declare function resultHint(result: unknown): string;
14
+ /**
15
+ * Resolve AMA_MCP_TOOLS into the set of tool names to expose, or null for all (the default,
16
+ * non-breaking). `minimal` → the essentials + `explore`; a comma list → the essentials + those
17
+ * names. Lets an agent trade the full 27-tool surface for a tiny high-signal set. (ama-tqm)
18
+ */
19
+ export declare function selectTools(spec: string | undefined): Set<string> | null;
14
20
  /**
15
21
  * Build the MCP server exposing Ama's tools over one {@link AmaSession}. Pure
16
22
  * construction — no transport — so it can be driven by an in-memory client in
17
23
  * tests or by stdio in production.
18
24
  */
19
- export declare function createServer(session?: AmaSession): McpServer;
25
+ export declare function createServer(session?: AmaSession, toolsSpec?: string | undefined): McpServer;
20
26
  /** Entry point: serve over stdio. stdout carries JSON-RPC only — log to stderr. */
21
27
  export declare function main(): Promise<void>;
22
28
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AASpE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAyB1C;;;gFAGgF;AAChF,wBAAgB,MAAM,CAAC,CAAC,EACtB,OAAO,EAAE,CAAC,EAAE,EACZ,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,GAChB;IAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAQ/B;AAkCD;6DAC6D;AAC7D,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAmClD;AAoBD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,UAA6B,GAAG,SAAS,CAyiB9E;AAED,mFAAmF;AACnF,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAI1C"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AASpE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAyB1C;;;gFAGgF;AAChF,wBAAgB,MAAM,CAAC,CAAC,EACtB,OAAO,EAAE,CAAC,EAAE,EACZ,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,GAChB;IAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAQ/B;AAkCD;6DAC6D;AAC7D,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAmClD;AAuBD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CASxE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,OAAO,GAAE,UAA6B,EACtC,SAAS,GAAE,MAAM,GAAG,SAAqC,GACxD,SAAS,CAqjBX;AAED,mFAAmF;AACnF,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAI1C"}
@@ -130,23 +130,54 @@ function tap(name, run) {
130
130
  return result;
131
131
  };
132
132
  }
133
+ /** Tools always exposed (the index bootstrap) even when AMA_MCP_TOOLS filters the rest. */
134
+ const ESSENTIAL_TOOLS = ["index_repository", "index_status"];
135
+ /**
136
+ * Resolve AMA_MCP_TOOLS into the set of tool names to expose, or null for all (the default,
137
+ * non-breaking). `minimal` → the essentials + `explore`; a comma list → the essentials + those
138
+ * names. Lets an agent trade the full 27-tool surface for a tiny high-signal set. (ama-tqm)
139
+ */
140
+ export function selectTools(spec) {
141
+ const raw = spec?.trim();
142
+ if (!raw)
143
+ return null;
144
+ if (raw.toLowerCase() === "minimal")
145
+ return new Set([...ESSENTIAL_TOOLS, "explore"]);
146
+ const names = raw
147
+ .split(",")
148
+ .map((s) => s.trim())
149
+ .filter(Boolean);
150
+ return new Set([...ESSENTIAL_TOOLS, ...names]);
151
+ }
133
152
  /**
134
153
  * Build the MCP server exposing Ama's tools over one {@link AmaSession}. Pure
135
154
  * construction — no transport — so it can be driven by an in-memory client in
136
155
  * tests or by stdio in production.
137
156
  */
138
- export function createServer(session = new AmaSession()) {
157
+ export function createServer(session = new AmaSession(), toolsSpec = process.env.AMA_MCP_TOOLS) {
139
158
  const server = new McpServer({ name: "ama", version: serverStamp.version });
159
+ // AMA_MCP_TOOLS minimal-tools mode: register everything, but disable (hide from
160
+ // tools/list) any tool not in the selected set. Bind first so the `tool` rename below
161
+ // never recurses into the wrapper. (ama-tqm)
162
+ const selected = selectTools(toolsSpec);
163
+ const baseRegister = server.registerTool.bind(server);
164
+ // biome-ignore lint/suspicious/noExplicitAny: thin pass-through; the public type is the cast.
165
+ const tool = ((name, config, cb) => {
166
+ const reg = baseRegister(name, config, cb);
167
+ if (selected && !selected.has(name))
168
+ reg.disable();
169
+ return reg;
170
+ });
140
171
  // Fires on each connection's initialize handshake — i.e. on reconnect. Arm a
141
172
  // catch-up so the first query reconciles edits made while disconnected.
142
173
  server.server.oninitialized = () => session.markForCatchUp();
143
- server.registerTool("index_repository", {
174
+ tool("index_repository", {
144
175
  description: "Build the code graph for a directory or project. Run this first.",
145
176
  inputSchema: {
146
177
  path: z.string().describe("Directory to index (absolute or relative)."),
147
178
  },
148
179
  }, tap("index_repository", async ({ path }) => json(await session.indexRepository(path))));
149
- server.registerTool("index_status", {
180
+ tool("index_status", {
150
181
  description: "Whether anything is indexed, with node/edge counts, per-language coverage + tier, " +
151
182
  "and how many edits are pending auto-sync.",
152
183
  inputSchema: {},
@@ -154,12 +185,12 @@ export function createServer(session = new AmaSession()) {
154
185
  await session.catchUpIfNeeded();
155
186
  return json(session.indexStatus());
156
187
  }));
157
- server.registerTool("sync_index", {
188
+ tool("sync_index", {
158
189
  description: "Reconcile files that changed on disk since indexing (a manual catch-up). " +
159
190
  "Returns the repo-relative paths re-indexed and removed.",
160
191
  inputSchema: {},
161
192
  }, tap("sync_index", async () => json(await session.sync())));
162
- server.registerTool("search_symbol", {
193
+ tool("search_symbol", {
163
194
  description: "Find symbols by name (case-insensitive substring). The query also accepts " +
164
195
  "inline filters to scope a search: path:<file-substring>, kind:<NodeKind>, " +
165
196
  "lang:<typescript|python|…>, name:<substring> (quote values with spaces). " +
@@ -182,7 +213,7 @@ export function createServer(session = new AmaSession()) {
182
213
  const { shown, hint } = capped(results, max, lowHint);
183
214
  return reply(session, shown, hint);
184
215
  }));
185
- server.registerTool("find_callers", {
216
+ tool("find_callers", {
186
217
  description: "Every place that calls a function or method — each result is " +
187
218
  "{ symbol, at: { line, column } } so you see who calls it and where.",
188
219
  inputSchema: {
@@ -190,7 +221,7 @@ export function createServer(session = new AmaSession()) {
190
221
  projectPath: projectPathSchema,
191
222
  },
192
223
  }, tap("find_callers", queryTool(session, ({ symbol, projectPath }) => session.findCallers(symbol, projectPath))));
193
- server.registerTool("find_callees", {
224
+ tool("find_callees", {
194
225
  description: "What a function or method calls — each result is { symbol, at: { line, column } }, " +
195
226
  "the callee and the call site.",
196
227
  inputSchema: {
@@ -198,21 +229,21 @@ export function createServer(session = new AmaSession()) {
198
229
  projectPath: projectPathSchema,
199
230
  },
200
231
  }, tap("find_callees", queryTool(session, ({ symbol, projectPath }) => session.findCallees(symbol, projectPath))));
201
- server.registerTool("find_handlers", {
232
+ tool("find_handlers", {
202
233
  description: "The handler symbols a framework route maps to.",
203
234
  inputSchema: {
204
235
  route: z.string().describe('Route id or name, e.g. "GET /users".'),
205
236
  projectPath: projectPathSchema,
206
237
  },
207
238
  }, tap("find_handlers", queryTool(session, ({ route, projectPath }) => session.findHandlers(route, projectPath))));
208
- server.registerTool("find_routes", {
239
+ tool("find_routes", {
209
240
  description: "Every framework route that maps to a symbol (handler).",
210
241
  inputSchema: {
211
242
  symbol: z.string().describe("Handler symbol id, simple name, or dotted qualified name."),
212
243
  projectPath: projectPathSchema,
213
244
  },
214
245
  }, tap("find_routes", queryTool(session, ({ symbol, projectPath }) => session.findRoutes(symbol, projectPath))));
215
- server.registerTool("find_overrides", {
246
+ tool("find_overrides", {
216
247
  description: "The supertype methods a method overrides or implements (method → the " +
217
248
  "interface/base method of the same name).",
218
249
  inputSchema: {
@@ -220,7 +251,7 @@ export function createServer(session = new AmaSession()) {
220
251
  projectPath: projectPathSchema,
221
252
  },
222
253
  }, tap("find_overrides", queryTool(session, ({ symbol, projectPath }) => session.findOverrides(symbol, projectPath))));
223
- server.registerTool("find_overridden_by", {
254
+ tool("find_overridden_by", {
224
255
  description: "The subtype methods that override a method — what breaks if you change this " +
225
256
  "interface/base method.",
226
257
  inputSchema: {
@@ -228,7 +259,7 @@ export function createServer(session = new AmaSession()) {
228
259
  projectPath: projectPathSchema,
229
260
  },
230
261
  }, tap("find_overridden_by", queryTool(session, ({ symbol, projectPath }) => session.findOverriddenBy(symbol, projectPath))));
231
- server.registerTool("find_referrers", {
262
+ tool("find_referrers", {
232
263
  description: "Everything that references a symbol via a References edge: who reads a module-level " +
233
264
  "constant/variable, the routes that map to a handler, and other dispatch references. " +
234
265
  "Use this for 'who uses X' when X isn't called (reads aren't calls, so find_callers " +
@@ -238,63 +269,63 @@ export function createServer(session = new AmaSession()) {
238
269
  projectPath: projectPathSchema,
239
270
  },
240
271
  }, tap("find_referrers", queryTool(session, ({ symbol, projectPath }) => session.findReferrers(symbol, projectPath))));
241
- server.registerTool("find_implementations", {
272
+ tool("find_implementations", {
242
273
  description: "Every class that implements an interface.",
243
274
  inputSchema: {
244
275
  symbol: z.string().describe("Interface id, simple name, or dotted qualified name."),
245
276
  projectPath: projectPathSchema,
246
277
  },
247
278
  }, tap("find_implementations", queryTool(session, ({ symbol, projectPath }) => session.findImplementations(symbol, projectPath))));
248
- server.registerTool("find_interfaces", {
279
+ tool("find_interfaces", {
249
280
  description: "The interfaces a class implements.",
250
281
  inputSchema: {
251
282
  symbol: z.string().describe("Class id, simple name, or dotted qualified name."),
252
283
  projectPath: projectPathSchema,
253
284
  },
254
285
  }, tap("find_interfaces", queryTool(session, ({ symbol, projectPath }) => session.findInterfaces(symbol, projectPath))));
255
- server.registerTool("find_importers", {
286
+ tool("find_importers", {
256
287
  description: "Every file that imports (or re-exports) a symbol.",
257
288
  inputSchema: {
258
289
  symbol: z.string().describe("Symbol id, simple name, or dotted qualified name."),
259
290
  projectPath: projectPathSchema,
260
291
  },
261
292
  }, tap("find_importers", queryTool(session, ({ symbol, projectPath }) => session.findImporters(symbol, projectPath))));
262
- server.registerTool("find_imports", {
293
+ tool("find_imports", {
263
294
  description: "The symbols a file imports (or re-exports).",
264
295
  inputSchema: {
265
296
  file: z.string().describe("File node id (repo-relative path) or basename."),
266
297
  projectPath: projectPathSchema,
267
298
  },
268
299
  }, tap("find_imports", queryTool(session, ({ file, projectPath }) => session.findImports(file, projectPath))));
269
- server.registerTool("find_type_users", {
300
+ tool("find_type_users", {
270
301
  description: "Every symbol that uses a type in a parameter, return, or property.",
271
302
  inputSchema: {
272
303
  type: z.string().describe("Type id, simple name, or dotted qualified name."),
273
304
  projectPath: projectPathSchema,
274
305
  },
275
306
  }, tap("find_type_users", queryTool(session, ({ type, projectPath }) => session.findTypeUsers(type, projectPath))));
276
- server.registerTool("find_types_used", {
307
+ tool("find_types_used", {
277
308
  description: "The named types a symbol uses in its parameters, return, or properties.",
278
309
  inputSchema: {
279
310
  symbol: z.string().describe("Symbol id, simple name, or dotted qualified name."),
280
311
  projectPath: projectPathSchema,
281
312
  },
282
313
  }, tap("find_types_used", queryTool(session, ({ symbol, projectPath }) => session.findTypesUsed(symbol, projectPath))));
283
- server.registerTool("find_returns", {
314
+ tool("find_returns", {
284
315
  description: "The named type(s) a function or method returns — the return half of find_types_used.",
285
316
  inputSchema: {
286
317
  symbol: z.string().describe("Function/method id, simple name, or dotted qualified name."),
287
318
  projectPath: projectPathSchema,
288
319
  },
289
320
  }, tap("find_returns", queryTool(session, ({ symbol, projectPath }) => session.findReturns(symbol, projectPath))));
290
- server.registerTool("get_code_snippet", {
321
+ tool("get_code_snippet", {
291
322
  description: "A symbol's verbatim source.",
292
323
  inputSchema: {
293
324
  symbol: z.string().describe("Symbol id, simple name, or dotted qualified name."),
294
325
  projectPath: projectPathSchema,
295
326
  },
296
327
  }, tap("get_code_snippet", queryTool(session, ({ symbol, projectPath }) => session.getCodeSnippet(symbol, projectPath))));
297
- server.registerTool("node", {
328
+ tool("node", {
298
329
  description: "Everything about one symbol or file at once: definition, source, callers, callees, " +
299
330
  "and dependents.",
300
331
  inputSchema: {
@@ -302,7 +333,7 @@ export function createServer(session = new AmaSession()) {
302
333
  projectPath: projectPathSchema,
303
334
  },
304
335
  }, tap("node", queryTool(session, ({ ref, projectPath }) => session.node(ref, projectPath))));
305
- server.registerTool("file_skeleton", {
336
+ tool("file_skeleton", {
306
337
  description: "A file's outline in one call: the symbols it defines (kind, name, line range) " +
307
338
  "plus the files that depend on it — a structured, cheaper alternative to reading " +
308
339
  "the whole file.",
@@ -311,7 +342,7 @@ export function createServer(session = new AmaSession()) {
311
342
  projectPath: projectPathSchema,
312
343
  },
313
344
  }, tap("file_skeleton", queryTool(session, ({ file, projectPath }) => session.fileSkeleton(file, projectPath))));
314
- server.registerTool("impact_analysis", {
345
+ tool("impact_analysis", {
315
346
  description: "The transitive blast radius of a symbol: everything that could break if you change it " +
316
347
  "(callers, callers of callers, …), optionally bounded by depth.",
317
348
  inputSchema: {
@@ -325,17 +356,17 @@ export function createServer(session = new AmaSession()) {
325
356
  projectPath: projectPathSchema,
326
357
  },
327
358
  }, tap("impact_analysis", queryTool(session, ({ symbol, maxDepth, projectPath, }) => session.impactAnalysis(symbol, maxDepth, projectPath))));
328
- server.registerTool("get_graph_schema", {
359
+ tool("get_graph_schema", {
329
360
  description: "A census of the index: how many nodes of each kind and edges of each kind it holds.",
330
361
  inputSchema: { projectPath: projectPathSchema },
331
362
  }, tap("get_graph_schema", queryTool(session, ({ projectPath }) => session.getGraphSchema(projectPath))));
332
- server.registerTool("circular_imports", {
363
+ tool("circular_imports", {
333
364
  description: "File-level import cycles: groups of two or more files that (transitively) import " +
334
365
  "each other. Each group is a strongly-connected component — high-signal for refactoring " +
335
366
  "and untangling module graphs. Empty when the import graph is acyclic.",
336
367
  inputSchema: { projectPath: projectPathSchema },
337
368
  }, tap("circular_imports", queryTool(session, ({ projectPath }) => session.circularImports(projectPath))));
338
- server.registerTool("affected", {
369
+ tool("affected", {
339
370
  description: "Files affected by changing the given files: the transitive set that imports from them " +
340
371
  "(directly or via a defined symbol) — which files/tests to recheck. Pass testsOnly to " +
341
372
  "get just the affected test files (which tests to run for a change).",
@@ -348,7 +379,7 @@ export function createServer(session = new AmaSession()) {
348
379
  projectPath: projectPathSchema,
349
380
  },
350
381
  }, tap("affected", queryTool(session, ({ files, testsOnly, projectPath, }) => session.affected(files, { testsOnly }, projectPath))));
351
- server.registerTool("search_code", {
382
+ tool("search_code", {
352
383
  description: "Full-text search over symbol bodies — find code containing a string, not just by name.",
353
384
  inputSchema: {
354
385
  query: z.string().describe("Text to find inside symbol source (case-insensitive)."),
@@ -365,7 +396,7 @@ export function createServer(session = new AmaSession()) {
365
396
  const { shown, hint } = capped(results, max, termHint);
366
397
  return reply(session, shown, hint);
367
398
  }));
368
- server.registerTool("explore", {
399
+ tool("explore", {
369
400
  description: "A one-call overview of a question: matching symbols grouped by file, their " +
370
401
  "caller/callee relationships, and the combined blast radius. Deep-dives only the " +
371
402
  "top matches (see totalMatches); pass limit to widen or narrow.",
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mka-rainmaker/ama",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "Local-first code-intelligence MCP server with deep, language-specific semantic parsing.",
5
5
  "type": "module",
6
6
  "license": "MIT",