Complete MCP tool interface documentation for the product-branding plugin.
Orchestrator — checks one or more names across all enabled services in parallel. Returns a unified result respecting saved preferences.
check_name_availability(names=["vortex", "nexus", "forge"])
check_name_availability(names=["vortex"], services=["domain", "pypi"])
For targeted follow-ups when you already know which service to check:
check_domain(names, extensions)— whois lookup for domain availabilitycheck_github_org(names)— GitHub org/user name availabilitycheck_pypi(names)— PyPI package name availabilitycheck_npm(names)— npm package name availabilitycheck_crates(names)— crates.io package name availabilitycheck_docker_hub(names)— Docker Hub namespace availabilitycheck_homebrew(names)— Homebrew formula name availability
All accept a list of names and return results for each.
Manage search config and creative preferences — services, domain tiers, keywords, and naming guidelines. Call with no args to view current settings. Each parameter updates only its section; omitted sections are unchanged.
brand_search_preferences() # view all
brand_search_preferences(services={"npm": false, "docker_hub": false})
brand_search_preferences(domain_tiers={"critical": [".com", ".dev"]})
brand_search_preferences(add_keywords=["fitness", "minimal"])
brand_search_preferences(add_guidelines=["must work as CLI command"])
brand_search_preferences(remove_keywords=["fitness"])
Save a brand with optional availability data, tags, and notes. If a brand with the same name already exists, new fields are merged into the existing entry.
add_brand(name="echoark")
add_brand(
name="echoark",
availability=[
{"type": "github", "status": "available"},
{"type": ".com", "status": "unavailable"},
{"type": ".io", "status": "available"}
],
tags=["dev-tools", "finalist"],
notes="Ark = vessel/preservation. No .com but echoark.io works."
)
Modify tags, notes, or comments on an existing brand. For availability
changes, use update_brand_availability instead.
update_brand(name="echoark", add_tags=["favorite"])
update_brand(name="echoark", tags=["finalist"]) # replace all tags
update_brand(name="echoark", remove_tags=["draft"])
update_brand(name="echoark", notes="Updated: confirmed .io available")
update_brand(name="echoark", add_comments=["Loves the ark metaphor"])
update_brand(name="echoark", clear_fields=["tags", "notes"]) # remove fields
Set or merge availability data on a brand. Merge by default; pass
reset=True to replace all existing entries.
update_brand_availability(
name="echoark",
entries=[{"type": ".ai", "status": "available"}]
)
update_brand_availability(
name="echoark",
entries=[
{"type": "github", "status": "available"},
{"type": ".com", "status": "unavailable"}
],
reset=True
)
Availability uses three-state semantics per namespace:
"available"— confirmed open, can be registered now"unavailable"— confirmed taken"unknown"— checked but result was ambiguous (e.g. whois timeout)- Not in list at all — never checked (distinct from all three above)
Query saved brands with optional filters. Filters combine with AND logic.
list_brands() # all brands
list_brands(tag="finalist") # by tag
list_brands(available_on="github") # available on a namespace
list_brands(unavailable_on=".com") # taken on a namespace
list_brands(unchecked_on="pypi") # needs follow-up check
list_brands(search="echo") # name substring match
Delete one or more brands by name.
remove_brand(names=["oldname", "badidea"])
The orchestrator (check_name_availability) runs all checks in parallel
internally and returns in one tool call — best for initial sweeps across many
candidates.
Individual tools (check_domain, check_pypi, etc.) return faster because
they only check one service — best for follow-up questions like "what about
the .ai domain?" or "is it on PyPI?"
The skill chooses the right tool for the moment:
- Orchestrator for batch comparison tables (fewer tool calls, one wait)
- Individual tools for targeted drill-downs (faster feedback per question)
- Parallel individual tools when checking one name across a few services and wanting results to trickle in