
Research
/Security News
Popular npm Packages in the keyv and Cacheable Namespaces Compromised in Active Supply Chain Attack
Popular npm packages keyv and cacheable compromised.
namecatcher-mcp
Advanced tools
MCP server for NameCatcher — score and value collectible Telegram usernames (namability 0-100, fair price, thesis). Free public API, no key.
Score and value collectible Telegram usernames: namability score (0–100) validated against 111k+ real Fragment sales, fair price estimation in GRAM, and positioning theses. Free public API — no key, no wallet, no setup.
Three ways to plug in, thinnest first:
| Layer | For | Install |
|---|---|---|
| Plain HTTP | any agent that can curl/fetch | nothing |
| Agent Skill | Claude Code / skills-compatible agents | npx skills add productmap/namecatcher-skills |
| MCP server | Claude Desktop/Code, any MCP client | npx -y namecatcher-mcp |
Built by NameCatcher — the Telegram mini app for username investors: mint catching, market analytics, portfolio, value passports.
curl -s "https://api-namecatcher.rocketname.com/public/score/wearlab?lang=en" | jq
{
"username": "wearlab",
"score": 67,
"band": "strong",
"fair_price_ton": 400,
"thesis": "A crisp fusion of \"wear\" and \"lab\" …",
"lang": "en",
"analysis_url": "https://t.me/NameCatcherBot?startapp=name_wearlab__pub_api",
"fragment_url": "https://fragment.com/username/wearlab"
}
One endpoint, no auth:
GET https://api-namecatcher.rocketname.com/public/score/{name}?lang={en|ru}
| Param | In | Required | Description |
|---|---|---|---|
name | path | yes | Username without @. 4–32 chars, a-z 0-9 _ |
lang | query | no | en (default) or ru — language of thesis |
| Field | Type | Description |
|---|---|---|
username | string | Canonical (lowercase) username |
score | int 0–100 | Namability — quality of the name as a brandable asset. Market-validated: names scoring 90+ sell for a multiple of 80–89 names |
band | string | premium (≥80) · strong (≥66) · medium (≥50) · weak (<50). Below 50 is not investment-grade |
fair_price_ton | number | null | Class-based fair price estimate in GRAM (length × score class) |
thesis | string | null | Short positioning summary (why the name works, for whom). Present only for names already analyzed — null is not a quality signal |
lang | string | Language the thesis was returned in |
analysis_url | string | Full breakdown in the NameCatcher mini app |
fragment_url | string | The name's page on Fragment (live market status, buy/bid) |
| Status | Body | Meaning |
|---|---|---|
| 400 | {"error":"INVALID_NAME"} | Not a valid username string |
| 400 | {"error":"NOT_COLLECTIBLE"} | Valid string, but not scorable as a collectible (e.g. too short) |
| 429 | {"error":"RATE_LIMITED","retry_after_s":n} | Over 60 req/min per IP — wait retry_after_s and retry |
| 429 | {"error":"DAILY_LIMIT","limit_per_day":1000} | Over 1,000 req/day per IP |
60 requests/min and 1,000 requests/day per IP. Generous for agent workflows (evaluating and comparing dozens of names); not enough for bulk scraping — that's intentional. Need more for a legitimate use case? Ping @BrandEvangelist.
# Score one name (Russian thesis)
curl -s "https://api-namecatcher.rocketname.com/public/score/morya?lang=ru" | jq '{score, band, fair_price_ton}'
# Compare candidates: pick the best of three
for n in pulsefit traintrack fitwave; do
curl -s "https://api-namecatcher.rocketname.com/public/score/$n" | jq -c '{username, score, band}'
done | sort -t: -k2 -rn
# Pre-purchase check: is a 300 GRAM ask below class valuation?
curl -s "https://api-namecatcher.rocketname.com/public/score/vault" \
| jq '{score, fair_price_ton, below_class: (.fair_price_ton / 300 >= 1.2)}'
The names/ton-usernames skill teaches an agent the full workflow: single-name evaluation, candidate comparison, and pre-purchase checks against Fragment asks.
npx skills add productmap/namecatcher-skills --skill ton-usernames
# or manually:
cp -r names/ton-usernames ~/.claude/skills/
A PR adding this skill to the official ton-org/skills is open.
A thin stdio bridge over the same API — for Claude Desktop, Claude Code, and any MCP client. No key needed. Published on npm as namecatcher-mcp (GitHub install npx -y github:productmap/namecatcher-skills also works).
Claude Code:
claude mcp add namecatcher -- npx -y namecatcher-mcp
Claude Desktop / other MCP clients (mcpServers config):
{
"mcpServers": {
"namecatcher": {
"command": "npx",
"args": ["-y", "namecatcher-mcp"]
}
}
}
| Tool | Description | Arguments |
|---|---|---|
score_name | Score one username: namability, band, fair price, thesis | name, lang? |
compare_names | Score up to 20 candidates and rank them by score | names[], lang? |
check_fragment_ask | Compare a Fragment asking price to the class valuation → fair/ask ratio + verdict | name, ask_ton |
Environment: NAMECATCHER_API_ORIGIN (optional) — override the API origin.
MIT
FAQs
MCP server for NameCatcher — score and value collectible Telegram usernames (namability 0-100, fair price, thesis). Free public API, no key.
The npm package namecatcher-mcp receives a total of 35 weekly downloads. As such, namecatcher-mcp popularity was classified as not popular.
We found that namecatcher-mcp demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
Popular npm packages keyv and cacheable compromised.

Security News
A misconfiguration gave three Anthropic models internet access, and one, believing it was in a simulation, shipped a credential-stealing package to PyPI.

Security News
/Company News
Socket has joined the new Composer and Packagist sponsorship program as a launch sponsor, supporting the team that keeps PHP's package ecosystem secure.