You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(ui): surface multimodal knowledge graph in help, docs, and READMEs
- index.html + team-dashboard.html: new in-app help section documenting the
7 knowledge-graph/LLM tools, HTTP bridge, and 19-language AST support —
explicitly marked as MCP-server-side (Node), NOT browser controls, so no
non-functional UI was added. Corrected stale 130 tool count to 150.
- docs/index.html: MCP tool table rows for grasp_ingest/grasp_kg_*/grasp_llm_status,
three capability callouts, and tool count 130 -> 150.
- README.md: what's-new entry, a Multimodal Knowledge Graph section under Code
Intelligence, an architecture note for mcp/src/{ingest,llm,semantic}, native
AST language count 16 -> 19 (Bash/Elixir/Julia), tool count normalised to 150.
- mcp/README.md: 'Where it lives' source-layout note.
Informational only; no version bumped.
Copy file name to clipboardExpand all lines: README.md
+33-14Lines changed: 33 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,7 @@
14
14
15
15
<br/>
16
16
17
-
**131 MCP tools + 8 Resources + 2 Prompts · 35 languages · 11 AI providers + 200+ models via OpenRouter · 10 graph views · zero data collection**
17
+
**150 MCP tools + 8 Resources + 2 Prompts · 35 languages · 11 AI providers + 200+ models via OpenRouter · 10 graph views · multimodal knowledge graph · zero data collection**
18
18
19
19
<br/>
20
20
@@ -50,6 +50,8 @@
50
50
51
51
## What's New in v3.20.0
52
52
53
+
**New — Multimodal Knowledge Graph (MCP server).** Seven new MCP tools ingest your documents — PDF, DOCX, XLSX, HTML, images (OCR), audio/video (local Whisper via `@xenova/transformers` + ffmpeg), YouTube, and URLs — alongside your code into a queryable knowledge graph, then answer natural-language questions with citations: `grasp_ingest`, `grasp_kg_ask`, `grasp_kg_trace`, `grasp_kg_explain`, `grasp_kg_stats`, `grasp_kg_export`, `grasp_llm_status`. A **local-first** multi-LLM layer auto-detects Ollama before any cloud key and falls back to a zero-credential deterministic engine. Server-side only (Node MCP server, not the browser app) — see **Multimodal Knowledge Graph** under [Code Intelligence](#code-intelligence). Also new: **+3 native AST languages** (Bash, Elixir, Julia) take tree-sitter-backed extraction to **19 languages**.
54
+
53
55
Full security scanning suite — `grasp_vulnerabilities` now covers **5 threat vectors** beyond the original OSV.dev dependency scan.
54
56
55
57
| Layer | Data source | What it checks |
@@ -66,16 +68,16 @@ New skip flags (`skip_container`, `skip_socket`, `skip_integrity`) for targeted
66
68
67
69
**Previously in v3.18.0:** 9 new MCP tools (graph analytics + LLM-context), 11 graph export formats, TypeScript path-alias + Python import resolvers, Claude Code slash commands, token-reduction eval harness (3,241× on `got@v14`).
68
70
69
-
Total as of v3.20.0: **131 MCP tools · 8 Resources · 2 Prompts · 35 languages · 11 graph export formats · 10 graph views · 19 themes**.
71
+
Total as of v3.20.0: **150 MCP tools · 8 Resources · 2 Prompts · 35 languages · 11 graph export formats · 10 graph views · multimodal knowledge graph · 19 themes**.
70
72
71
73
---
72
74
73
75
## What is Grasp?
74
76
75
-
**Grasp** turns any GitHub or GitLab repository — cloud or self-hosted — or local codebase into an interactive architecture map in seconds. **131 MCP tools** (plus 8 Resources and 2 guided Prompts) expose the full analysis engine to Claude Code, Cursor, and any MCP-compatible agent.
77
+
**Grasp** turns any GitHub or GitLab repository — cloud or self-hosted — or local codebase into an interactive architecture map in seconds. **150 MCP tools** (plus 8 Resources and 2 guided Prompts) expose the full analysis engine to Claude Code, Cursor, and any MCP-compatible agent.
|**11 AI providers***(+ unlimited via routers)*| Direct: Anthropic Claude (3 models), OpenAI (GPT-4o + o-series), Google Gemini (3), Mistral (2), Groq (3), DeepSeek (chat + reasoner), Ollama (local), LM Studio (local), Custom OpenAI-compatible endpoint. Routers: OpenRouter (200+ models via slug) and Together AI (50+ open-source models). **Switchable mid-conversation**, **fully off by default** (chat panel closed = zero network calls), **API keys stored in `localStorage` only** — Grasp has no proxy or telemetry. |
90
92
|**10 graph views**| Force graph, 3D, arch, treemap, matrix, tree (dendrogram), flow (sankey), bundle, cluster (disjoint), heatmap |
@@ -278,7 +280,7 @@ Then in Safari: **Settings → Extensions → enable Grasp**. If it doesn't appe
278
280
│ Browser App │ │ MCP Server (CLI) │
279
281
│ index.html │ │ grasp-mcp-server │
280
282
│ │ │ │
281
-
│ 10 graph views │ │ 130 tools · 8 Resources │
283
+
│ 10 graph views │ │ 150 tools · 8 Resources │
282
284
│ 16 color modes │ │ 2 guided Prompts │
283
285
│ AI Chat (11p) │ │ Brain + Kuzu Schema v3 │
284
286
│ Ask Grasp │ │ Hybrid search (BM25+vector) │
@@ -367,6 +369,21 @@ Colors files by commit frequency. Works for GitHub repos (via API) and **local r
367
369
### 🔎 Duplicate & Similarity Detection
368
370
The **Dup** color mode highlights files with exact or near-duplicate code. The `grasp_similarity` MCP tool returns ranked duplicate clusters for targeted refactoring.
369
371
372
+
### 🧠 Multimodal Knowledge Graph *(MCP server)*
373
+
Build a queryable knowledge graph from your codebase **and** external documents, then ask natural-language questions with cited answers. Runs entirely inside the Node MCP server — **not** the browser app.
374
+
375
+
`grasp_ingest` parses PDF, DOCX, XLSX, HTML, images (OCR), audio/video (local Whisper via `@xenova/transformers` + ffmpeg), YouTube, and URLs; heavy parsers are optional, lazy-loaded dependencies. Entities and relations are tagged **EXTRACTED** vs **INFERRED** with source locators and persisted to SQLite `kg.db`; retrieval is hybrid BM25 + vector. A **local-first** multi-LLM layer auto-detects Ollama before any cloud key and falls back to a deterministic engine that needs zero credentials (Anthropic / OpenAI / Gemini / DeepSeek / Kimi / Azure / Bedrock / Ollama). The whole server can optionally be shared across a team over HTTP (`GRASP_HTTP_MCP=1`, optional `GRASP_HTTP_API_KEY`, port `7333`, `/health`).
376
+
377
+
| MCP Tool | Description |
378
+
|----------|-------------|
379
+
|`grasp_ingest`| Ingest a file, URL, or media source (PDF/DOCX/XLSX/HTML/image OCR/audio/video/YouTube) into the knowledge graph |
380
+
|`grasp_kg_ask`| Natural-language Q&A over the graph with inline source citations (hybrid BM25 + vector) |
381
+
|`grasp_kg_trace`| BFS path-tracing between two entities |
382
+
|`grasp_kg_explain`| Explain an entity, its relations, and whether each fact was EXTRACTED or INFERRED |
383
+
|`grasp_kg_stats`| Graph statistics — entity/relation counts, hubs, and god-nodes |
384
+
|`grasp_kg_export`| Export the graph as Cypher, GraphML, JSON, or Mermaid |
385
+
|`grasp_llm_status`| Report the active LLM provider and any detected local models (Ollama), including deterministic-fallback state |
386
+
370
387
### 👥 Code Ownership
371
388
Top contributors per file from git history, with line-percentage breakdowns. One-click jump to GitHub Blame.
372
389
@@ -1124,9 +1141,9 @@ Comment `@grasp-bot analyze` on any PR — Grasp posts a full health report inli
1124
1141
1125
1142
| Term | Plain English |
1126
1143
|------|---------------|
1127
-
| **MCP (Model Context Protocol)** | An open protocol for AI assistants to call tools. Grasp's MCP server exposes 130 tools to Claude Code, Cursor, etc. |
1144
+
| **MCP (Model Context Protocol)** | An open protocol for AI assistants to call tools. Grasp's MCP server exposes 150 tools to Claude Code, Cursor, etc. |
1128
1145
| **AST (Abstract Syntax Tree)** | A tree representation of source code. Grasp uses tree-sitter to build them in 35 languages. |
1129
-
| **tree-sitter** | A parser library that builds ASTs incrementally and accurately. Grasp ships native bindings for 16 languages |
1146
+
| **tree-sitter** | A parser library that builds ASTs incrementally and accurately. Grasp ships native bindings for 19 languages |
1130
1147
| **fan-in / fan-out** | How many other files import this file (in) vs how many it imports (out). High fan-in = critical hub |
1131
1148
| **Brandes betweenness centrality** | Algorithm that finds files sitting on the most "shortest paths" between others — chokepoints |
1132
1149
| **Leiden / Louvain** | Algorithms that group densely-connected nodes into communities (microservice-candidate detection) |
@@ -1216,7 +1233,7 @@ JavaScript · TypeScript · Python · Go · Java · Rust · C · C++ · C# · Ru
1216
1233
│ Browser Apps │ │ MCP Server + CLI │ │ IDE Extensions │
1217
1234
│ │ │ (grasp-mcp-server) │ │ │
1218
1235
│ index.html │ │ │ │ VS Code │
1219
-
│ · React + D3 │ │ 130 tools │ │ JetBrains │
1236
+
│ · React + D3 │ │ 150 tools │ │ JetBrains │
1220
1237
│ · 10 graph views │ │ 8 MCP Resources │ │ Zed │
1221
1238
│ · AI Chat (11 prov) │ │ 2 guided Prompts │ │ Neovim · Vim │
@@ -1257,10 +1274,12 @@ JavaScript · TypeScript · Python · Go · Java · Rust · C · C++ · C# · Ru
1257
1274
1258
1275
**Browser app:** zero dependencies to install. React 18, D3.js 7, Babel from CDNs. Tree-sitter WASM grammars load lazily and cache in IndexedDB.
1259
1276
1260
-
**MCP server:** Node.js 18+. Native tree-sitter bindings for AST-backed function extraction and cyclomatic complexity across 16 languages: Python, Go, Java, Kotlin, Rust, C, C++, C#, Ruby, JavaScript, TypeScript, TSX, Swift, PHP, Scala, Zig.
1277
+
**MCP server:** Node.js 18+. Native tree-sitter bindings for AST-backed function extraction and cyclomatic complexity across 19 languages: Python, Go, Java, Kotlin, Rust, C, C++, C#, Ruby, JavaScript, TypeScript, TSX, Swift, PHP, Scala, Zig, Bash, Elixir, Julia.
1261
1278
1262
1279
**Brain store:** two persistent stores — SQLite at `~/.grasp/brain.db` (file metadata, coupling, security) and Kuzu graph DB at `~/.grasp/graph/` (function call graph, imports, return-type edges — queryable via Cypher).
1263
1280
1281
+
**Knowledge graph (MCP server):** three new module groups under `mcp/src/` — `ingest/` (PDF, DOCX, XLSX, HTML, image OCR, audio/video via local Whisper, YouTube, URL; heavy parsers are optional lazy-loaded deps), `llm/` (`provider.ts` — a local-first multi-provider layer that auto-detects Ollama before any cloud key, with a zero-credential deterministic fallback; supports Anthropic/OpenAI/Gemini/DeepSeek/Kimi/Azure/Bedrock/Ollama), and `semantic/` (SQLite `kg.db` of EXTRACTED/INFERRED entities and relations with source locators, hybrid BM25 + vector retrieval, BFS path-tracing, hub/god-node detection). Exposed via `grasp_ingest` / `grasp_kg_*` / `grasp_llm_status`; optionally shared across a team over HTTP (`GRASP_HTTP_MCP=1`, optional `GRASP_HTTP_API_KEY`, port 7333, `/health`).
1282
+
1264
1283
**IDE extensions:** VS Code (`vscode-extension/`), JetBrains (`jetbrains-plugin/`), Zed, Neovim, Vim, Emacs, Eclipse, Continue — all backed by the same MCP server.
1265
1284
1266
1285
**Browser extensions:** Chrome, Firefox, and Safari (`browser-extension/`, `safari-extension/`) — MV3, inject a floating Grasp button on GitHub and GitLab pages.
@@ -1338,7 +1357,7 @@ Free to use, modify, and self-host. You may not offer Grasp as a hosted or manag
1338
1357
1339
1358
<divalign="center">
1340
1359
1341
-
**131 MCP tools · 35 languages · 11 AI providers + 200+ models · zero install · zero data collection**
1360
+
**150 MCP tools · 35 languages · 11 AI providers + 200+ models · zero install · zero data collection**
1342
1361
1343
1362
*Dependency graphs, security scanner, DORA metrics, and Grasp Brain — everywhere you write code.*
0 commit comments