Connecting & Authentication

Create a PowerNames API key and connect Claude Desktop, Cursor, or a raw HTTP client to the MCP server.

Connecting takes two steps: create an API key, then point your MCP client at the endpoint with that key as a bearer token.

๐Ÿ”‘ Paste your own API key here. Open Settings โ†’ API Keys in your PowerNames team, create a key, and copy it โ€” it starts with pn_live_ and is shown only once. Everywhere an example below reads pn_live_YOUR_KEY, swap in the key you just copied. Without a real key the connection will be rejected.

1. Create an API key

API keys are scoped to a team workspace. Every project, name, and credit balance the key can reach belongs to that team.

  1. Open your team workspace and go to Settings โ†’ API Keys.
  2. Create a key and give it a memorable name (for example, claude-desktop).
  3. Copy the key immediately โ€” it starts with pn_live_ and is shown only once. Store it somewhere safe.

Treat the key like a password. Anyone holding it can act as your team and spend its credits. If a key leaks, revoke it from the same screen and issue a new one.

2. The endpoint

EnvironmentURL
Productionhttps://powernames.ai/api/mcp/mcp
Local devhttp://localhost:3003/api/mcp/mcp

The server speaks MCP Streamable HTTP in stateless mode โ€” each request is self-contained and authenticated by the bearer token. No session handshake is required.

3. Connect your client

Claude Desktop / Cursor

Add PowerNames to your MCP configuration as a URL server with an Authorization header:

{
  "mcpServers": {
    "powernames": {
      "type": "url",
      "url": "https://powernames.ai/api/mcp/mcp",
      "headers": {
        "Authorization": "Bearer pn_live_YOUR_KEY"
      }
    }
  }
}

Restart the client. PowerNames tools (list_projects, create_project, run_full_analysis, โ€ฆ) will appear in the tool list.

Raw HTTP

The endpoint is plain JSON-RPC over HTTPS, so any language can call it. List the available tools:

curl -s https://powernames.ai/api/mcp/mcp \
  -H "Authorization: Bearer pn_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/list"
  }'

Call a tool with tools/call:

curl -s https://powernames.ai/api/mcp/mcp \
  -H "Authorization: Bearer pn_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "tools/call",
    "params": {
      "name": "create_project",
      "arguments": { "name": "Project Aurora" }
    }
  }'

4. Health check

A GET on the endpoint returns basic server info and requires no authentication โ€” handy for confirming reachability:

curl -s https://powernames.ai/api/mcp/mcp
# { "name": "powernames", "version": "1.0.0",
#   "protocolVersion": "2025-03-26", "capabilities": { ... } }

Authentication errors

SituationResponse
Missing or malformed Authorization header401, JSON-RPC error -32001
Invalid or expired key401, JSON-RPC error -32001
Rate limit exceeded429, JSON-RPC error -32029, plus Retry-After

See Rate limits, credits & errors for the full list and how to handle them.