{
  "markdown": "# Potarix MCP Server\n\nMCP 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.\n\n<!-- mcp-name: io.github.Potarix/potarix-mcp -->\n\n## Tools\n\n| tool | what it does | cost |\n|---|---|---|\n| `lookup_company_website` | company name → website URL | 2 credits |\n| `find_person_email` | named person + company/domain → verified email | 25 credits |\n| `find_decision_maker_email` | category + domain → likely buyer name + email | 25 credits |\n| `find_linkedin_email` | LinkedIn profile URL → verified email | 10 credits |\n| `find_company_emails` | domain → public company contact roster | 25 credits |\n| `find_all` | one company name → website + DMs + full company email list | sum of above |\n| `check_balance` | credits, email, saved-card status, key count | free |\n| `start_checkout` | get a Stripe URL to add a card the first time | n/a |\n| `topup_credits` | charge the saved card and add credits | n/a |\n\n1 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.\n\n## Two ways to connect\n\n| transport | endpoint | best for |\n|---|---|---|\n| Streamable HTTP (hosted) | `https://api.potarix.com/mcp` | remote agents (Claude, ChatGPT) — no install |\n| stdio (npm package) | `npx -y potarix-mcp` | local/desktop clients |\n\nBoth 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.\n\n### Hosted (Streamable HTTP)\n\nPoint any MCP client that speaks Streamable HTTP at `https://api.potarix.com/mcp` and send your key as a bearer token:\n\n```jsonc\n{\n  \"mcpServers\": {\n    \"potarix\": {\n      \"url\": \"https://api.potarix.com/mcp\",\n      \"headers\": { \"Authorization\": \"Bearer ptk_live_your_key\" }\n    }\n  }\n}\n```\n\n### Install (stdio)\n\n```bash\nnpm install -g potarix-mcp\n```\n\nOr run it without a global install:\n\n```bash\nnpx -y potarix-mcp\n```\n\n## Configure\n\nSet your Potarix API key:\n\n```bash\nexport POTARIX_API_KEY=ptk_live_your_key\n```\n\nOptional:\n\n```bash\nexport POTARIX_API=https://api.potarix.com/enricher\n```\n\n## Claude Desktop\n\n```json\n{\n  \"mcpServers\": {\n    \"potarix\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"potarix-mcp\"],\n      \"env\": {\n        \"POTARIX_API_KEY\": \"ptk_live_your_key\"\n      }\n    }\n  }\n}\n```\n\n## Claude Code\n\n```bash\nclaude mcp add potarix npx -- -y potarix-mcp\n```\n\nThen add `POTARIX_API_KEY` to the environment where Claude Code runs.\n\n## Development\n\n```bash\nnpm install\nnpm run build\nnpm run smoke        # stdio transport: connect + tools/list\n\n# Streamable HTTP transport:\nnpm run start:http   # serves on http://127.0.0.1:8080/mcp (set PORT to change)\n# in another shell:\nPOTARIX_MCP_URL=http://127.0.0.1:8080/mcp npm run smoke:http\n```\n\nEnvironment variables:\n\n| var | default | purpose |\n|---|---|---|\n| `POTARIX_API_KEY` | — | API key (stdio only; HTTP reads it per-request from the bearer header) |\n| `POTARIX_MCP_TRANSPORT` | `stdio` | `http` to run the Streamable HTTP server (or pass `--http`) |\n| `PORT` / `HOST` | `8080` / `127.0.0.1` | HTTP bind address |\n| `POTARIX_MCP_PATH` | `/mcp` | HTTP request path |\n| `POTARIX_MCP_ALLOWED_HOSTS` | — | comma-separated host allow-list; enables DNS-rebinding protection |\n| `POTARIX_API` | `https://api.potarix.com/enricher` | API base URL override |\n\n## Registry Publishing\n\nThis repo includes `server.json` for the official MCP Registry. The entry is\nmulti-surface: it declares **both** the hosted Streamable HTTP remote\n(`https://api.potarix.com/mcp`) and the npm stdio package (`potarix-mcp`), so a\nsingle registry record advertises two ways to connect.\n\nThe registry validates the npm package by fetching it and checking that its\npublished `mcpName` matches the server `name`, so the npm package must be\npublished **first**, at the same version named in `server.json` (`packages[].version`).\n\nPublishing steps (version-bump first, then npm, then registry):\n\n```bash\n# 1. Bump package.json + server.json to the same new version (e.g. 0.1.3).\n#    server.json must be a NEW version each publish (versions are immutable).\n# 2. Build + publish the npm artifact (carries mcpName for ownership proof):\nnpm publish\n# 3. Push the multi-surface server.json to the official MCP Registry:\nmcp-publisher login github\nmcp-publisher publish\n```\n\nThe package `mcpName` in `package.json` must match `server.json`:\n\n```text\nio.github.Potarix/potarix-mcp\n```\n",
  "bytes": 4669,
  "sha": "e63fe85d35bf51bf59955552162f922751b6abc2359f49fbace296dfe0668060",
  "repo_slug": "potarix/potarix-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_potarix_potarix_mcp_e0ab4d8c/readme"
}