
Understand Quickly
io.github.looptech-aiPublished by GitHub account looptech-aiv0.1.1Updated Oct 24, 2026
Public registry of code-knowledge graphs for AI agents with schema validation and drift detection.
Overview
A local MCP server that exposes a public registry of code-knowledge graphs, letting an assistant list repos, look up a repo's graph, and search concepts.
- What you can do
- List registry entries, filtered by format, tag or status, with graph links and sync dates. Look up the graph for a repository by registry id or GitHub URL, including drift metadata and fuzzy suggestions when nothing matches. Fetch and parse a single entry's graph JSON. Search concept terms across the registry, or substring-match nodes inside one graph.
- When to use it
- Useful when you want an assistant to find whether a code-knowledge graph already exists for a repository, check how far it has drifted from the current code, or look up concepts across the public registry. It is a thin, minimal wrapper, so it suits exploration rather than heavy analysis.
- Requirements
- Runs locally over stdio as an npm package, requiring Node 20 or later. It fetches the public registry and stats JSON over the network by default; the UNDERSTAND_QUICKLY_REGISTRY and UNDERSTAND_QUICKLY_STATS environment variables can point at a local file or fork. No authentication is needed.
Installation
In SourceWeft
- Open Understand Quickly in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
@looptech-ai/understand-quickly-mcp
A thin Model Context Protocol server that exposes the understand-quickly registry to any MCP client (Claude Desktop, Codex, Cursor, etc.).
Status: stub-quality. It works end-to-end but is intentionally minimal — no streaming, no embeddings, no auth.
What it does
It wraps the public registry.json and exposes four tools:
The registry response is cached in-memory for 60 seconds. stats.json uses an
identical 60-second TTL cache.
find_graph_for_repo
Accepts either an id (the registry id, owner/repo) or a github_url. The
URL parser tolerates:
https://github.com/owner/repohttps://github.com/owner/repo.githttps://github.com/owner/repo/(trailing slash)https://github.com/owner/repo/tree/main/...(branch / sub-path)[email protected]:owner/repo.git
When the entry is found, the response includes last_synced, last_sha,
source_sha, head_sha, commits_behind, and a pretty drift_summary
(e.g. "behind by 17 commits") when those fields are present in the registry.
If the entry is not found, the response is
{ found: false, suggestions: [...] } with up to 5 fuzzy-matched ids
(Levenshtein distance ≤ 3 against the lowercased id).
search_concepts
By default — that is, when id is not provided — search_concepts reads the
precomputed stats.json aggregate (a single, cached GET) and returns matching
concept terms with their entry counts and up to 3 sample registry ids. This
replaces the previous behaviour, which fanned out up to 5 graph fetches at
request time.
When id is provided, it falls back to the legacy single-graph node search
(substring match against id / label / name). When stats.json is
unavailable (404 or schema mismatch), it falls back to the capped cross-graph
fan-out for backward compatibility.
The source field on the response indicates which mode served the request:
"stats", "graph", or "fanout".
Install
Node 20+ is required (uses the global fetch).
Run locally
For development:
For a built binary:
The server speaks stdio JSON-RPC. It will not respond to keystrokes — point an MCP client at it.
Register with Claude Desktop
Add the following to Claude Desktop's claude_desktop_config.json (the path is
~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
Replace /absolute/path/to/... with the actual path to your checkout. Restart
Claude Desktop after saving.
If you would rather run the compiled output, swap to:
Environment variables
Current limitations
- In-memory cache only. Every server process refetches once a minute. No cross-process or on-disk cache.
- Cross-graph fan-out is only a fallback. When
search_conceptsfalls back (no stats.json), it scans only the first 5status: okentries sequentially. - Substring search is dumb. No fuzzy matching, no ranking, no embeddings.
- No streaming or progress reporting. Tools block until the upstream responds.
- Best-effort node enumeration. The single-graph fallback assumes the graph
has a
nodes/entities/concepts/itemsarray; otherwise it walks top-level array values. - No retries or backoff on upstream
graph_urlfetch failures — failed fetches return an empty result for that entry instead of erroring out.
These are all acceptable for an MVP. If you need more, open an issue.
Source: mcp/README.md at commit f856ff2
Tools
0Version history
1- v0.1.1LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts