URLs-LE
Extract every URL in a codebase, with its protocol and exact position
No editor in the loop? npx -y urls-le-mcp runs the same engine as an MCP server, so an agent can call extract_urls with nothing else installed, and cargo install urls-le puts the same check in a terminal. Every way to install it.

What URLs-LE does
Links rot quietly, and the ones in your code and docs are the hardest to inventory. URLs-LE pulls every URL out of the active document with its real line and column, so a link audit is a list rather than a grep. It reads Markdown, HTML, CSS, JavaScript, TypeScript, JSON, YAML, Properties, TOML, INI and XML, and excludes code blocks and comments where the format defines them.
What people use it for
Link auditing
Every link, autolink and plain URL in Markdown and HTML — code blocks and comments excluded.
Source review
URLs in string literals, template literals and comments across JavaScript and TypeScript.
Config sweep
URLs in JSON strings, YAML values, Java properties, TOML/INI values and XML.
5 commands in the palette
Open the command palette and type the name. Nothing is bound to a shortcut by default — the editor's keymap is the user's, not ours.
urls-le.extractUrlsurls-le.postProcess.dedupeurls-le.postProcess.sorturls-le.openSettingsurls-le.helpInstall URLs-LE
VS Code
ext install nolindnaidoo.urls-leOpen Quick Open (Cmd/Ctrl+P) and paste.
Cursor / VSCodium
cursor --install-extension OffensiveEdge.urls-leVS Code forks pull from Open VSX, where the namespace is OffensiveEdge.
ZedComing soon
npx -y urls-le-mcpWorks in Zed today — add the command above as a custom MCP server from the agent panel, and extract_urls appears in its tool list. The one-click listing in Zed's extension registry is a pull request awaiting review. Track the review.
AI agents
npx -y urls-le-mcpRuns URLs-LE's engine as an MCP server, so an agent can call extract_urls with no editor involved. VS Code 1.101+ needs nothing — the extension registers it for you.
Where it ships
One engine, 6 places to get it. The ids differ by registry — copy the one for the editor you use.
Where URLs-LE lives
- VS Code Marketplaceurls-le
- Open VSXfor Cursor and VSCodium
- npmurls-le-mcp
- GitHubsource, issues, changelog
- MCP registryio.github.nolindnaidoo/urls-le
The other 15
Extract every string in a codebase, with its position, so a person can read them
Extract every hardcoded number in a codebase, so a person can check them
Extract every file path in a codebase, and say whether it still points at anything
Extract every color in a codebase, and say which ones are not in your palette
Extract every date and timestamp, and the exact instant each one resolves to
Extract every quantity with its unit, normalized, and refuse the ambiguous ones by name
Extract every UUID, ULID, NanoID, ObjectId and Snowflake, and decode the time inside
Extract every IP address, CIDR block and MAC, normalized and classified by scope
Find every regex in a codebase, and report which can be driven into catastrophic backtracking
Check whether a page is scrapeable before the scraper is written, and say when it cannot tell
Find where one dependency is constrained differently across a repository's manifests
Identify the i18n library a project uses, then audit its catalogs by that library's rules
Find hardcoded credentials in a codebase, and never print one into the report
Compare the dotenv files in a tree, and say which keys are missing from which
Find the Unicode that hides meaning — bidi controls, invisibles, homoglyphs, mixed scripts