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.

VerifiedSTDIODesktop onlyKnowledge & MemoryDeveloper Tools

Overview

AI-generated 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.
Before you install
Read-only lookups, but it fetches remote registry and graph URLs, so those requests go to third parties and can be redirected by the two environment variables. Results are cached in memory for 60 seconds per process, and failed graph fetches silently return empty results rather than errors. The README describes the server as stub-quality with no auth, streaming or ranking.

Installation

In SourceWeft

  1. Open Understand Quickly in the dashboard and add it to a workspace.
  2. 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:

ToolParamsReturns
list_repos{ format?, tag?, status? }Array of { id, format, description, status, tags, last_synced, graph_url }
find_graph_for_repo{ id?, github_url? } (at least one required)Single registry entry's graph_url + drift metadata, or { found: false, suggestions: [...] } with up to 5 fuzzy-matched ids
get_graph{ id }Parsed graph JSON for that entry's graph_url
search_concepts{ query, id? }Default: aggregated concept matches from the precomputed stats.json (single GET, cached 60s). With id: substring match across one graph's nodes. Falls back to a capped cross-graph fan-out if stats.json is unreachable.

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/repo
  • https://github.com/owner/repo.git
  • https://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

bash
cd mcpnpm installnpm run build   # compiles TypeScript -> dist/npm test        # runs node:test across registry/cache and tool logic

Node 20+ is required (uses the global fetch).

Run locally

For development:

bash
npm run dev

For a built binary:

bash
npm start

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):

json
{  "mcpServers": {    "understand-quickly": {      "command": "npx",      "args": [        "tsx",        "/absolute/path/to/understand-quickly/mcp/src/index.ts"      ],      "env": {        "UNDERSTAND_QUICKLY_REGISTRY": "https://looptech-ai.github.io/understand-quickly/registry.json"      }    }  }}

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:

json
{  "mcpServers": {    "understand-quickly": {      "command": "node",      "args": ["/absolute/path/to/understand-quickly/mcp/dist/index.js"]    }  }}

Environment variables

VariableDefaultPurpose
UNDERSTAND_QUICKLY_REGISTRYhttps://looptech-ai.github.io/understand-quickly/registry.jsonOverride the registry source (e.g. point at a local file or a fork).
UNDERSTAND_QUICKLY_STATShttps://looptech-ai.github.io/understand-quickly/stats.jsonOverride the precomputed stats source consumed by search_concepts.

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_concepts falls back (no stats.json), it scans only the first 5 status: ok entries 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 / items array; otherwise it walks top-level array values.
  • No retries or backoff on upstream graph_url fetch 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

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  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