npm namecatcher-mcpstdioMITupdated 1mo ago
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.
What can you do with namecatcher skills?
NameCatcher โ username intelligence for AI agents
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.
Quick try
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"
}
API reference
One endpoint, no auth:
GET https://api-namecatcher.rocketname.com/public/score/{name}?lang={en|ru}
Parameters
| 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 |
Response fields
| 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) |
Errors
| 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 |
Rate limits
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.
curl cookbook
# 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)}'
Agent Skill
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.
MCP server
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).
Remote endpoint (Streamable HTTP) โ same three tools, zero install:
https://mcp-namecatcher.rocketname.com/mcp
claude mcp add --transport http namecatcher https://mcp-namecatcher.rocketname.com/mcp
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"]
}
}
}
Tools
| 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.
Notes for builders
- The score measures naming quality, deterministic per model version โ safe to cache
- It is not demand for a specific lot: always check the live Fragment price before money decisions
- Pairs naturally with TON wallet tooling (@ton/mcp): evaluate โ then buy
Links
- ๐ค Bot & mini app: @NameCatcherBot
- ๐ Username market: fragment.com
- ๐งฉ TON MCP ecosystem: mcp.ton.org
License
MIT
Install
Add namecatcher skills to your client. Pick the one you use.
claude mcp add namecatcher-mcp -- npx -y namecatcher-mcpcodex mcp add namecatcher-mcp -- npx -y namecatcher-mcpamp mcp add namecatcher-mcp -- npx -y namecatcher-mcp{
"mcpServers": {
"namecatcher-mcp": {
"command": "npx",
"args": [
"-y",
"namecatcher-mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"namecatcher-mcp": {
"command": "npx",
"args": [
"-y",
"namecatcher-mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"namecatcher-mcp","command":"npx","args":["-y","namecatcher-mcp"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"namecatcher-mcp": {
"command": "npx",
"args": [
"-y",
"namecatcher-mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"namecatcher-mcp": {
"command": "npx",
"args": [
"-y",
"namecatcher-mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"namecatcher-mcp": {
"command": "npx",
"args": [
"-y",
"namecatcher-mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"namecatcher-mcp": {
"type": "local",
"command": "npx",
"args": [
"-y",
"namecatcher-mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"namecatcher-mcp": {
"command": {
"path": "npx",
"args": [
"-y",
"namecatcher-mcp"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y namecatcher-mcpRun `goose configure`, choose **Add Extension โ Command-line Extension**, and paste this command.
3 tools
namecatcher skills exposes 3 tools to a connected agent.
- score_name
- Score one username: namability, band, fair price, thesis
- compare_names
- Score up to 20 candidates and rank them by score
- check_fragment_ask
- Compare a Fragment asking price to the class valuation โ fair/ask ratio + verdict
Score
70 / 100
Good
- Documentation25/25
- Maintenance16/25
- Trust13/20
- Capability4/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 46 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 3 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint โ no local install
Version history
| Versions | Published |
|---|---|
| 0.1.1Latest | Jul 16, 2026 |