Guide

CLI

The urls command. Discover from one source or all of them. Print bare URLs or JSONL. List the sources or start the MCP server.

The package ships a urls binary. Install it globally or run it through npx.

shell
pnpm add -g @agntn/urls

Discover

shell
urls discover example.com -p wayback -n 20

One URL per line, nothing else, so it pipes straight into grep, sort -u or whatever you feed URLs to. A reader that quits early, like head, ends the command quietly. No EPIPE stack trace confetti.

FlagWhat it does
-p, --providerSource key, or all for every source
-n, --limitStop after this many URLs per source
-m, --matchKeep URLs containing one of these substrings
-f, --filterDrop URLs containing one of these substrings
-us, --url-scopeKeep URLs matching a prefix or glob
-uos, --url-out-scopeDrop URLs matching a prefix or glob
--extKeep these path extensions
--has-queryKeep URLs with real query keys
--from, --toCapture date window, 2019 or 2019-03-15
-ns, --no-scopeTurn off the default host check
-j, --jsonlOne JSON record per line

Lists are comma separated. Filters and scope explains what each filter keeps.

JSONL

shell
urls discover example.com -p wayback -n 2 -j
json
{"url":"http://example.com:80/","input":"example.com","source":"wayback","firstSeen":"2002-01-20T14:25:10Z","lastSeen":"2002-01-20T14:25:10Z"}
{"url":"http://www.example.com:80/","input":"example.com","source":"wayback","firstSeen":"2002-03-28T01:28:21Z","lastSeen":"2002-03-28T01:28:21Z"}

Fields you don't have stay out of the line instead of showing up as null.

Every source at once

shell
urls discover example.com -p all -n 20

Each source gets its own block with a count, and a failing source gets one line with its error. With -j you get the successful records only, each tagged with its source.

Without -p

The CLI picks a source the way discoverWithFallback does: configured credentials first, then AlienVault OTX, then the next one when access fails. Discovering URLs has the rules.

Providers

shell
urls providers

Prints the registered sources with their endpoints and whether they need a key.

MCP server

shell
urls mcp

Starts the MCP server on stdio. Agents shows the client config.

Exit codes

0 when the command finished, 1 on a bad limit or a failed discovery. A comparison with -p all exits 0 even when some sources failed, since their errors are part of the answer.