Odel
Potarix Enricher

Potarix Enricher

@potarixCommunicationTypeScriptMITUpdated 3w ago

Find company websites and verified business emails through the Potarix Enricher API.

Server endpointStreamable HTTP

This is the third-party server itself — Odel doesn't run it. Hitting this URL directly talks straight to the upstream server with no auth or proxying. Connect through Odel to front it with managed auth.

Potarix MCP Server

MCP wrapper for Potarix Enricher. Lets AI agents resolve company websites, find verified emails, and pull complete company rosters — and (with one human-in-the-loop card capture) sign up and pay for credits entirely from the agent.

Tools

toolwhat it doescost
lookup_company_websitecompany name → website URL2 credits
find_person_emailnamed person + company/domain → verified email25 credits
find_decision_maker_emailcategory + domain → likely buyer name + email25 credits
find_linkedin_emailLinkedIn profile URL → verified email10 credits
find_company_emailsdomain → public company contact roster25 credits
find_allone company name → website + DMs + full company email listsum of above
check_balancecredits, email, saved-card status, key countfree
start_checkoutget a Stripe URL to add a card the first timen/a
topup_creditscharge the saved card and add creditsn/a

1 credit = $0.01. Trial accounts start with 25 free credits. Every endpoint floors at the worst-case provider COGS — a hit never loses money, and short-circuited waterfall calls earn margin.

Two ways to connect

transportendpointbest for
Streamable HTTP (hosted)https://api.potarix.com/mcpremote agents (Claude, ChatGPT) — no install
stdio (npm package)npx -y potarix-mcplocal/desktop clients

Both expose the same nine tools. The hosted server is stateless and multi-tenant: every request is authorized by its own Authorization: Bearer ptk_live_... header, so there is no per-user deployment.

Hosted (Streamable HTTP)

Point any MCP client that speaks Streamable HTTP at https://api.potarix.com/mcp and send your key as a bearer token:

{
  "mcpServers": {
    "potarix": {
      "url": "https://api.potarix.com/mcp",
      "headers": { "Authorization": "Bearer ptk_live_your_key" }
    }
  }
}

Install (stdio)

npm install -g potarix-mcp

Or run it without a global install:

npx -y potarix-mcp

Configure

Set your Potarix API key:

export POTARIX_API_KEY=ptk_live_your_key

Optional:

export POTARIX_API=https://api.potarix.com/enricher

Claude Desktop

{
  "mcpServers": {
    "potarix": {
      "command": "npx",
      "args": ["-y", "potarix-mcp"],
      "env": {
        "POTARIX_API_KEY": "ptk_live_your_key"
      }
    }
  }
}

Claude Code

claude mcp add potarix npx -- -y potarix-mcp

Then add POTARIX_API_KEY to the environment where Claude Code runs.

Development

npm install
npm run build
npm run smoke        # stdio transport: connect + tools/list

# Streamable HTTP transport:
npm run start:http   # serves on http://127.0.0.1:8080/mcp (set PORT to change)
# in another shell:
POTARIX_MCP_URL=http://127.0.0.1:8080/mcp npm run smoke:http

Environment variables:

vardefaultpurpose
POTARIX_API_KEYAPI key (stdio only; HTTP reads it per-request from the bearer header)
POTARIX_MCP_TRANSPORTstdiohttp to run the Streamable HTTP server (or pass --http)
PORT / HOST8080 / 127.0.0.1HTTP bind address
POTARIX_MCP_PATH/mcpHTTP request path
POTARIX_MCP_ALLOWED_HOSTScomma-separated host allow-list; enables DNS-rebinding protection
POTARIX_APIhttps://api.potarix.com/enricherAPI base URL override

Registry Publishing

This repo includes server.json for the official MCP Registry. The entry is multi-surface: it declares both the hosted Streamable HTTP remote (https://api.potarix.com/mcp) and the npm stdio package (potarix-mcp), so a single registry record advertises two ways to connect.

The registry validates the npm package by fetching it and checking that its published mcpName matches the server name, so the npm package must be published first, at the same version named in server.json (packages[].version).

Publishing steps (version-bump first, then npm, then registry):

# 1. Bump package.json + server.json to the same new version (e.g. 0.1.3).
#    server.json must be a NEW version each publish (versions are immutable).
# 2. Build + publish the npm artifact (carries mcpName for ownership proof):
npm publish
# 3. Push the multi-surface server.json to the official MCP Registry:
mcp-publisher login github
mcp-publisher publish

The package mcpName in package.json must match server.json:

io.github.Potarix/potarix-mcp