Step 1: Create a free API key
Sign in at namingsignal.com (free account, no card) and create a key at namingsignal.com/developers/keys. Keys are user-owned and individually revocable; use a separate key per client. Then export the key where Codex runs:
export NAMING_SIGNAL_API_KEY="your-key-from-namingsignal.com/developers/keys"The free plan includes 15,000 Naming Credits per UTC calendar month, shared across the web app, REST API, CLI, and MCP.
Step 2: Add the server to config.toml
Codex configures remote Streamable HTTP MCP servers in ~/.codex/config.toml. bearer_token_env_var names the environment variable that holds your key, so the key itself never sits in the config file:
# ~/.codex/config.toml
[mcp_servers.naming_signal]
url = "https://namingsignal.com/mcp"
bearer_token_env_var = "NAMING_SIGNAL_API_KEY"
startup_timeout_sec = 20
tool_timeout_sec = 360Codex sends the value as an Authorization: Bearer header on every request. The codex mcp add command is documented for local stdio servers; for remote servers, editing config.toml directly is the documented path.
Step 3: Run a first sprint
Paste a prompt like this into Codex:
Use the naming_signal MCP server. Compile a naming brief from this description:
"<one sentence about the product, its user, and the painful job it solves>".
Show me the brief and wait for my corrections. Then run create_naming_sprint
with count 40 and TLDs com and dev, and summarize the registry survivors with
their evidence states, sources, and check dates. Treat unknown as unknown,
never as available.Codex calls compile_project_brief first, shows you the brief, then runs the sprint. A 40-name sprint with domain checks usually takes a minute or two.
What the five tools do
compile_project_brief: Turns a sentence, prompt, or README into an editable naming brief with explicit unknowns.create_naming_sprint: Generates a candidate field (40 for a feedback round, 100 to 200 for an initial sprint), checks every selected domain ending, and returns registry survivors first.check_names: Exact domain checks, and optional developer-namespace checks, for names you already have.analyze_candidates: Source-backed research for one to three finalists, with explicit manual actions and preliminary trademark starting points.get_purchase_links: Exact-domain registrar search links for manual verification. The server never purchases, reserves, or registers anything.
Every tool is annotated read-only, and output is compact JSON by default. Pass verbose: true only when full evidence objects are required.
Timeouts for long sprints
Codex's defaults are 60 seconds per tool call and 10 seconds for server startup, and 60 seconds is too short for a large sprint. The config above raises tool_timeout_sec to 360. Large sprints (100 to 200 names across several TLDs) can run for minutes in one call, and the hosted endpoint bounds a single call at 300 seconds. When in doubt, run a 40-name sprint, review the survivors, and iterate with feedback instead of one maximum-size call.
Costs and evidence rules
A typical 40-name sprint on two TLDs costs about 580 Naming Credits: one generation batch at 500 plus 80 domain combinations at 1 each. A ranking batch adds 500, and each researched finalist adds 250. GET /api/v1/health publishes the live schedule.
likely_availableis a calibrated registry signal at a point in time, never a guarantee of registrar purchaseability or price.- Timeouts, rate limits, unsupported TLDs, and failed calibration stay
unknown. Never summarize unknown as available. - Registrar verification is a manual final step; trademark output is preliminary research, never legal clearance.
Working from Claude Code instead? See the Claude Code quickstart. For the REST contract behind these tools, read the API documentation.