{"_id":"@rb2b/rb2b-apis-mcp","_rev":"8-5d44c00cbde581f21be2a94bafb95753","name":"@rb2b/rb2b-apis-mcp","dist-tags":{"latest":"1.1.7"},"versions":{"1.1.0":{"name":"@rb2b/rb2b-apis-mcp","version":"1.1.0","keywords":["mcp","rb2b","identity-resolution","enrichment","linkedin","email","ip-lookup"],"author":{"name":"RB2B"},"license":"MIT","_id":"@rb2b/rb2b-apis-mcp@1.1.0","maintainers":[{"name":"robbatrb2b","email":"robb@retention.com"}],"homepage":"https://github.com/robbclarke/RB2B-APIs-MCP#readme","bugs":{"url":"https://github.com/robbclarke/RB2B-APIs-MCP/issues"},"bin":{"rb2b-mcp":"dist/server.js","rb2b-mcp-init":"dist/init.js"},"dist":{"shasum":"b87a2d36cd77aaa6344ec57ba5bf10b621fa535a","tarball":"https://registry.npmjs.org/@rb2b/rb2b-apis-mcp/-/rb2b-apis-mcp-1.1.0.tgz","fileCount":13,"integrity":"sha512-zkBUOaDlrIMFPpn4wziAlIAzc2z1ftiRl601GFQF9vQTDHnC2bF2WlcdVqh2lkOU1KbDp2Upm8ruvffDpnX0iw==","signatures":[{"sig":"MEYCIQDr7wzsLKIqbB71uGwSpR3ZoRIx5QThFX63p2FIN1FQIQIhAJWH880hnKP/wABkthn7JfELkKjppvNeMEY3w58TOBWC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37723},"main":"dist/server.js","type":"module","types":"./dist/server.d.ts","engines":{"node":">=18.0.0"},"gitHead":"6d6453f594d23929f05329129b931a54749c94d4","scripts":{"dev":"tsc --watch","init":"node dist/init.js","test":"npm run build && tsc -p tsconfig.test.json && node --test dist-test/utils.test.js","build":"tsc","start":"node dist/server.js","prepare":"npm run build"},"_npmUser":{"name":"robbatrb2b","email":"robb@retention.com"},"repository":{"url":"git+https://github.com/robbclarke/RB2B-APIs-MCP.git","type":"git"},"_npmVersion":"11.3.0","description":"MCP server exposing RB2B API tools for identity resolution and enrichment","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rb2b-apis-mcp_1.1.0_1775665522150_0.7023403435783899","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@rb2b/rb2b-apis-mcp","version":"1.1.1","keywords":["mcp","rb2b","identity-resolution","enrichment","linkedin","email","ip-lookup"],"author":{"name":"RB2B"},"license":"MIT","_id":"@rb2b/rb2b-apis-mcp@1.1.1","maintainers":[{"name":"robbatrb2b","email":"robb@retention.com"}],"homepage":"https://github.com/robbclarke/RB2B-APIs-MCP#readme","bugs":{"url":"https://github.com/robbclarke/RB2B-APIs-MCP/issues"},"bin":{"rb2b-apis-mcp":"dist/cli.js"},"dist":{"shasum":"d11efce0b0a4cca40996a44d31ee1432ac6139c4","tarball":"https://registry.npmjs.org/@rb2b/rb2b-apis-mcp/-/rb2b-apis-mcp-1.1.1.tgz","fileCount":15,"integrity":"sha512-e28DEksyTtSIljlGOW46AfkC5svkwlKx7IDj1HQJ3Mh1o1I8Uuz1CoksG4M/QUj2quwPxl4SNghaJ1HPWPs3Vg==","signatures":[{"sig":"MEUCIHGLXgN06X6hFgni2JyIC6DcGnWL6sbQQ5dPGcUG4+mKAiEA+RHztmCqCZFkYUcMl+GKR0GgMF52r0cH5uGn1hDfcbY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37859},"main":"dist/server.js","type":"module","types":"./dist/server.d.ts","engines":{"node":">=18.0.0"},"gitHead":"6d6453f594d23929f05329129b931a54749c94d4","scripts":{"dev":"tsc --watch","init":"node dist/init.js","test":"npm run build && tsc -p tsconfig.test.json && node --test dist-test/utils.test.js","build":"tsc","start":"node dist/server.js","prepare":"npm run build"},"_npmUser":{"name":"robbatrb2b","email":"robb@retention.com"},"repository":{"url":"git+https://github.com/robbclarke/RB2B-APIs-MCP.git","type":"git"},"_npmVersion":"11.3.0","description":"MCP server exposing RB2B API tools for identity resolution and enrichment","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rb2b-apis-mcp_1.1.1_1775665801243_0.8321418097662177","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@rb2b/rb2b-apis-mcp","version":"1.1.2","keywords":["mcp","rb2b","identity-resolution","enrichment","linkedin","email","ip-lookup"],"author":{"name":"RB2B"},"license":"MIT","_id":"@rb2b/rb2b-apis-mcp@1.1.2","maintainers":[{"name":"robbatrb2b","email":"robb@retention.com"}],"homepage":"https://github.com/robbclarke/RB2B-APIs-MCP#readme","bugs":{"url":"https://github.com/robbclarke/RB2B-APIs-MCP/issues"},"bin":{"rb2b-apis-mcp":"dist/cli.js"},"dist":{"shasum":"5cabeb9fbb12d8755b0cd7e03f573ed0fb8071ba","tarball":"https://registry.npmjs.org/@rb2b/rb2b-apis-mcp/-/rb2b-apis-mcp-1.1.2.tgz","fileCount":15,"integrity":"sha512-+guNFj+1wEn6F4crZk8nJy4Eaq7QpmKnxyHsmXwFrBPKOX9rcMgLB2x4vage0KPBVhE/LdpTflZzN22G3C0Y5Q==","signatures":[{"sig":"MEYCIQDo3Ior5YdNHquhluhstHum/sUxo/8IoHSz8owh+PB6xQIhAOUcd5HVjkeHIaJ1DBmxmcFZkAhYICKGvKxTIS0DH2Mc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38128},"main":"dist/server.js","type":"module","types":"./dist/server.d.ts","engines":{"node":">=18.0.0"},"gitHead":"6d6453f594d23929f05329129b931a54749c94d4","scripts":{"dev":"tsc --watch","init":"node dist/init.js","test":"npm run build && tsc -p tsconfig.test.json && node --test dist-test/utils.test.js","build":"tsc","start":"node dist/server.js","prepare":"npm run build"},"_npmUser":{"name":"robbatrb2b","email":"robb@retention.com"},"repository":{"url":"git+https://github.com/robbclarke/RB2B-APIs-MCP.git","type":"git"},"_npmVersion":"11.3.0","description":"MCP server exposing RB2B API tools for identity resolution and enrichment","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rb2b-apis-mcp_1.1.2_1775665952549_0.00661636307067881","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@rb2b/rb2b-apis-mcp","version":"1.1.3","keywords":["mcp","rb2b","identity-resolution","enrichment","linkedin","email","ip-lookup"],"author":{"name":"RB2B"},"license":"MIT","_id":"@rb2b/rb2b-apis-mcp@1.1.3","maintainers":[{"name":"robbatrb2b","email":"robb@retention.com"}],"homepage":"https://github.com/robbclarke/RB2B-APIs-MCP#readme","bugs":{"url":"https://github.com/robbclarke/RB2B-APIs-MCP/issues"},"bin":{"rb2b-apis-mcp":"dist/cli.js"},"dist":{"shasum":"1af861b8d1fb78b51bc7c70f05ecd44fec965638","tarball":"https://registry.npmjs.org/@rb2b/rb2b-apis-mcp/-/rb2b-apis-mcp-1.1.3.tgz","fileCount":15,"integrity":"sha512-Sc1d5b9u4Vv6XCoOIxn1btY/xr6wDh9HqIXlYouSGDbCD8J8TKCaFvGF1htjf6ROq2L3KpLML5IAKLkiki6ZFg==","signatures":[{"sig":"MEQCIGROqqFR8APkWDwHbg+ln7CnHld6Sp5m5nRyKqLECv5tAiAzAgg3Y39k/QZxZKYEQ30pz5vteD/HngerslbNBYaDUw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40539},"main":"dist/server.js","type":"module","types":"./dist/server.d.ts","engines":{"node":">=18.0.0"},"gitHead":"6d6453f594d23929f05329129b931a54749c94d4","scripts":{"dev":"tsc --watch","init":"node dist/init.js","test":"npm run build && tsc -p tsconfig.test.json && node --test dist-test/utils.test.js","build":"tsc","start":"node dist/server.js","prepare":"npm run build"},"_npmUser":{"name":"robbatrb2b","email":"robb@retention.com"},"repository":{"url":"git+https://github.com/robbclarke/RB2B-APIs-MCP.git","type":"git"},"_npmVersion":"11.3.0","description":"MCP server exposing RB2B API tools for identity resolution and enrichment","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rb2b-apis-mcp_1.1.3_1775666338440_0.6157250697654","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@rb2b/rb2b-apis-mcp","version":"1.1.4","keywords":["mcp","rb2b","identity-resolution","enrichment","linkedin","email","ip-lookup"],"author":{"name":"RB2B"},"license":"MIT","_id":"@rb2b/rb2b-apis-mcp@1.1.4","maintainers":[{"name":"robbatrb2b","email":"robb@retention.com"}],"homepage":"https://github.com/robbclarke/RB2B-APIs-MCP#readme","bugs":{"url":"https://github.com/robbclarke/RB2B-APIs-MCP/issues"},"bin":{"rb2b-apis-mcp":"dist/cli.js"},"dist":{"shasum":"f75b989968275cda9b752303d2ef0f2024d22b27","tarball":"https://registry.npmjs.org/@rb2b/rb2b-apis-mcp/-/rb2b-apis-mcp-1.1.4.tgz","fileCount":15,"integrity":"sha512-Meuv7wlEDx1V8qpGAdpcGG6y0kK7jEp6tL+Gyee5+dahb9lKWw91XYDXyTVWnVPVEDNaKTEHDO0KteNw1jwj2Q==","signatures":[{"sig":"MEYCIQC0le5gYhSHoDgg1ROM0wee2xjYxAdv8Xg2wcXSrV3VrQIhAP0l7M9O5LbOtIqgChD7wiwjIhLWyek/X/QDevVPHktZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40622},"main":"dist/server.js","type":"module","types":"./dist/server.d.ts","engines":{"node":">=18.0.0"},"gitHead":"11616691a1d36ab4619d38933fa0265da90e940c","scripts":{"dev":"tsc --watch","init":"node dist/init.js","test":"npm run build && tsc -p tsconfig.test.json && node --test dist-test/utils.test.js","build":"tsc","start":"node dist/server.js","prepare":"npm run build"},"_npmUser":{"name":"robbatrb2b","email":"robb@retention.com"},"repository":{"url":"git+https://github.com/robbclarke/RB2B-APIs-MCP.git","type":"git"},"_npmVersion":"11.3.0","description":"MCP server exposing RB2B API tools for identity resolution and enrichment","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rb2b-apis-mcp_1.1.4_1775666552840_0.07508940884974602","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"@rb2b/rb2b-apis-mcp","version":"1.1.5","keywords":["mcp","rb2b","identity-resolution","enrichment","linkedin","email","ip-lookup"],"author":{"name":"RB2B"},"license":"MIT","_id":"@rb2b/rb2b-apis-mcp@1.1.5","maintainers":[{"name":"robbatrb2b","email":"robb@retention.com"}],"homepage":"https://github.com/robbclarke/RB2B-APIs-MCP#readme","bugs":{"url":"https://github.com/robbclarke/RB2B-APIs-MCP/issues"},"bin":{"rb2b-apis-mcp":"dist/cli.js"},"dist":{"shasum":"d8d005c101e2912148bd8809a07c21356652e51f","tarball":"https://registry.npmjs.org/@rb2b/rb2b-apis-mcp/-/rb2b-apis-mcp-1.1.5.tgz","fileCount":15,"integrity":"sha512-MrqHz7+i4vFoAnBdPiCScvPDvVcOsqJ1KM8VbX5T1UyITwmWtuVNrZTXKhTussM+n71cMQ4YKCTfSQSQL+nPlQ==","signatures":[{"sig":"MEUCIQCPnGrnmXWL4INe5zumS39zmIoRLe1PieaEhzHEdE4caAIgL7WsYJhl+0no8+bO4/iYhaVCoi8BzfPncpLzDGhiH/E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40855},"main":"dist/server.js","type":"module","types":"./dist/server.d.ts","engines":{"node":">=18.0.0"},"gitHead":"11616691a1d36ab4619d38933fa0265da90e940c","scripts":{"dev":"tsc --watch","init":"node dist/init.js","test":"npm run build && tsc -p tsconfig.test.json && node --test dist-test/utils.test.js","build":"tsc","start":"node dist/server.js","prepare":"npm run build"},"_npmUser":{"name":"robbatrb2b","email":"robb@retention.com"},"repository":{"url":"git+https://github.com/robbclarke/RB2B-APIs-MCP.git","type":"git"},"_npmVersion":"11.3.0","description":"MCP server exposing RB2B API tools for identity resolution and enrichment","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rb2b-apis-mcp_1.1.5_1775666908461_0.352579006122109","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"@rb2b/rb2b-apis-mcp","version":"1.1.6","keywords":["mcp","rb2b","identity-resolution","enrichment","linkedin","email","ip-lookup"],"author":{"name":"RB2B"},"license":"MIT","_id":"@rb2b/rb2b-apis-mcp@1.1.6","maintainers":[{"name":"robbatrb2b","email":"robb@retention.com"}],"homepage":"https://github.com/robbclarke/RB2B-APIs-MCP#readme","bugs":{"url":"https://github.com/robbclarke/RB2B-APIs-MCP/issues"},"bin":{"rb2b-apis-mcp":"dist/cli.js"},"dist":{"shasum":"7af2617b3a9741deeae7fe0fbb2697176450dbdb","tarball":"https://registry.npmjs.org/@rb2b/rb2b-apis-mcp/-/rb2b-apis-mcp-1.1.6.tgz","fileCount":15,"integrity":"sha512-kmmGO4gjGXqJ+YIZvwFCnUKInuPOLYVf08CLddFqn1goo3loVl7kud0o+MbLNkp/8ktyUJX230i0NmcOsLM/PQ==","signatures":[{"sig":"MEUCIQCNnaP+S7v/KGlF/6m8zSbtZYV3b8IvX+V7AeD7P8DkZgIgSqXirpPV5gKEcbaAsoIk8Wt9VRy2SuLvHBOaZYT3pBw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40855},"main":"dist/server.js","type":"module","types":"./dist/server.d.ts","engines":{"node":">=18.0.0"},"scripts":{"dev":"tsc --watch","init":"node dist/init.js","test":"npm run build && tsc -p tsconfig.test.json && node --test dist-test/utils.test.js","build":"tsc","start":"node dist/server.js","prepare":"npm run build"},"_npmUser":{"name":"robbatrb2b","email":"robb@retention.com"},"repository":{"url":"git+https://github.com/robbclarke/RB2B-APIs-MCP.git","type":"git"},"_npmVersion":"11.3.0","description":"MCP server exposing RB2B API tools for identity resolution and enrichment","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rb2b-apis-mcp_1.1.6_1776102435684_0.3202815898539937","host":"s3://npm-registry-packages-npm-production"}},"1.1.7":{"name":"@rb2b/rb2b-apis-mcp","version":"1.1.7","description":"MCP server exposing RB2B API tools for identity resolution and enrichment","type":"module","main":"dist/server.js","bin":{"rb2b-apis-mcp":"dist/cli.js"},"scripts":{"build":"tsc && chmod +x dist/cli.js","dev":"tsc --watch","start":"node dist/server.js","init":"node dist/init.js","test":"npm run build && tsc -p tsconfig.test.json && node --test dist-test/utils.test.js","prepare":"npm run build"},"keywords":["mcp","rb2b","identity-resolution","enrichment","linkedin","email","ip-lookup"],"author":{"name":"RB2B"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/robbclarke/RB2B-APIs-MCP.git"},"publishConfig":{"access":"public"},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"devDependencies":{"@types/node":"^22.0.0","typescript":"^5.6.0"},"engines":{"node":">=18.0.0"},"_id":"@rb2b/rb2b-apis-mcp@1.1.7","types":"./dist/server.d.ts","bugs":{"url":"https://github.com/robbclarke/RB2B-APIs-MCP/issues"},"homepage":"https://github.com/robbclarke/RB2B-APIs-MCP#readme","_nodeVersion":"22.14.0","_npmVersion":"11.3.0","dist":{"integrity":"sha512-uOUNONvgMILzhNhPzUo0ojIuro1rBRcmqrle33kXkmTUGu9nets6ALcBD0m0e99DgLRn1okEbt32j1l0y3hM7Q==","shasum":"13574c695d1cda184f6aba73b1aefaf419c7f393","tarball":"https://registry.npmjs.org/@rb2b/rb2b-apis-mcp/-/rb2b-apis-mcp-1.1.7.tgz","fileCount":15,"unpackedSize":40879,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICLr04KmvVAB+gBoQK6aCLT/L1yJHBwvc5PsGz/5f1GIAiEAgWcVZML1BkQI84f7Z/vtoa9QaNC+z0GZbR6iNMDvr78="}]},"_npmUser":{"name":"robbatrb2b","email":"robb@retention.com"},"directories":{},"maintainers":[{"name":"robbatrb2b","email":"robb@retention.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rb2b-apis-mcp_1.1.7_1776102486612_0.2619436130898465"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-08T16:25:22.044Z","modified":"2026-04-13T17:48:06.916Z","1.1.0":"2026-04-08T16:25:22.301Z","1.1.1":"2026-04-08T16:30:01.422Z","1.1.2":"2026-04-08T16:32:32.707Z","1.1.3":"2026-04-08T16:38:58.572Z","1.1.4":"2026-04-08T16:42:32.981Z","1.1.5":"2026-04-08T16:48:28.633Z","1.1.6":"2026-04-13T17:47:15.838Z","1.1.7":"2026-04-13T17:48:06.763Z"},"bugs":{"url":"https://github.com/robbclarke/RB2B-APIs-MCP/issues"},"author":{"name":"RB2B"},"license":"MIT","homepage":"https://github.com/robbclarke/RB2B-APIs-MCP#readme","keywords":["mcp","rb2b","identity-resolution","enrichment","linkedin","email","ip-lookup"],"repository":{"type":"git","url":"git+https://github.com/robbclarke/RB2B-APIs-MCP.git"},"description":"MCP server exposing RB2B API tools for identity resolution and enrichment","maintainers":[{"name":"robbatrb2b","email":"robb@retention.com"}],"readme":"# @rb2b/rb2b-apis-mcp\n\nMCP (Model Context Protocol) server that exposes [RB2B API's](https://ui.api.rb2b.com) identity resolution and enrichment API as tools for Claude and other MCP-compatible AI assistants.\n\nResolve IP addresses to companies, look up LinkedIn profiles from emails, find contact information from LinkedIn slugs, and more — all without leaving your AI assistant.\n\n---\n\n## Requirements\n\n- **An MCP-compatible AI client** — [Claude Desktop](https://claude.ai/download) or [Claude Code](https://claude.ai/code) must be installed before setting up this server\n- Node.js 18+\n- An [RB2B APIs](https://ui.api.rb2b.com) account and API key. Don't have an account? Get your first 100 credits for just $9.\n\n---\n\n## Quick Start\n\n### 1. Install Claude Desktop or Claude Code\n\nThis server requires an MCP-compatible client. Install one first:\n\n- **[Claude Desktop](https://claude.ai/download)** — the Claude desktop app for macOS and Windows\n- **[Claude Code](https://claude.ai/code)** — the Claude CLI for developers\n\n### 2. Run the setup wizard\n\n```bash\nnpx -y @rb2b/rb2b-apis-mcp init\n```\n\nThis will:\n- Prompt for your RB2B API key and validate it\n- Store it securely in `~/.rb2b/config.json` (permissions: `600`)\n- Automatically register the server with Claude Code and Claude Desktop if detected\n\nThat's it. No manual config editing needed in most cases.\n\n### Manual registration (if needed)\n\nIf auto-registration didn't run or you're using a different MCP client:\n\n**Claude Code:**\n```bash\nclaude mcp add rb2b -- npx -y @rb2b/rb2b-apis-mcp\n```\n\n**Claude Desktop** — edit your config file:\n\n- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`\n- **Windows:** `%APPDATA%\\Claude\\claude_desktop_config.json`\n\n```json\n{\n  \"mcpServers\": {\n    \"rb2b\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@rb2b/rb2b-apis-mcp\"]\n    }\n  }\n}\n```\n\nRestart Claude Desktop after saving.\n\n---\n\n## Tools\n\nEach API call deducts credits from your account balance. Free tools never consume credits. The server checks your balance before every paid call and will refuse the request if you have insufficient credits.\n\n**Credit warnings** are automatically appended to responses when your balance falls to 500, 200, 100, 50, or 10 credits. Severity levels: `[NOTICE]` (500–51), `[WARNING]` (50–11), `[CRITICAL]` (10 and below).\n\n**Rate limit:** 50 requests/second per endpoint. The server surfaces a clear error if this is exceeded.\n\n### Account\n\n| Tool | Inputs | Cost | Description |\n|------|--------|------|-------------|\n| `help` | — | free | List all available tools with descriptions and costs |\n| `check_credits` | — | free | Check remaining API credits for the account |\n| `set_api_key` | `api_key` | free | Update the stored API key (validates before saving) |\n\n### IP Address Lookup\n\n| Tool | Inputs | Cost | Description |\n|------|--------|------|-------------|\n| `ip_to_company` | `ip_address` | 1 credit | Identify the company associated with an IP address |\n| `ip_to_hem` | `ip_address` | 1 credit | Get hashed emails (MD5 + SHA256) linked to an IP address |\n| `ip_to_maid` | `ip_address` | 1 credit | Get Mobile Advertising IDs (MAIDs) linked to an IP address |\n\n### Email → Identity\n\n| Tool | Inputs | Cost | Description |\n|------|--------|------|-------------|\n| `email_to_linkedin_slug` | `email` | 1 credit | Get the LinkedIn slug for a plain-text email |\n| `email_to_best_linkedin` | `email` | 1 credit | Get the highest-confidence LinkedIn profile URL for an email |\n| `email_to_business_profile` | `email` | 2 credits | Get business/employer profile (title, company, industry) for an email |\n| `email_to_maid` | `email` | 1 credit | Get Mobile Advertising IDs linked to an email |\n\n### Hashed Email (HEM) → Identity\n\nAccepts MD5 hashes of email addresses.\n\n| Tool | Inputs | Cost | Description |\n|------|--------|------|-------------|\n| `hem_to_linkedin_slug` | `md5` | 1 credit | Get the LinkedIn slug for a hashed email |\n| `hem_to_best_linkedin` | `md5` | 1 credit | Get the highest-confidence LinkedIn profile URL for a hashed email |\n| `hem_to_business_profile` | `md5` | 2 credits | Get business/employer profile for a hashed email |\n| `hem_to_maid` | `md5` | 1 credit | Get Mobile Advertising IDs linked to a hashed email |\n\n### LinkedIn → Identity\n\nAccepts LinkedIn vanity URL slugs (e.g. `john-doe-123` from `linkedin.com/in/john-doe-123`).\n\n| Tool | Inputs | Cost | Description |\n|------|--------|------|-------------|\n| `linkedin_to_hashed_emails` | `linkedin_slug` | 1 credit | Get all hashed emails (personal + business, MD5 + SHA256) for a profile |\n| `linkedin_to_best_personal_email` | `linkedin_slug` | 1 credit | Get the highest-confidence personal email for a profile |\n| `linkedin_to_personal_email` | `linkedin_slug` | 1 credit | Get all personal email candidates for a profile |\n| `linkedin_to_mobile_phone` | `linkedin_slug` | 3 credits | Get the mobile phone number for a profile |\n| `linkedin_to_business_profile` | `linkedin_slug` | 4 credits | Get business/employer profile (title, company, industry) for a profile |\n\n---\n\n## Configuration\n\nThe API key is stored at `~/.rb2b/config.json` with permissions `600` (owner read/write only):\n\n```json\n{\n  \"apiKey\": \"your-api-key-here\"\n}\n```\n\n**To update your API key**, use any of these methods:\n\n- **From Claude:** ask Claude to use the `set_api_key` tool — it validates the key before saving and takes effect immediately, no restart needed\n- **From the terminal:** run `npx -y @rb2b/rb2b-apis-mcp init` — detects an existing key and prompts for a replacement\n\n---\n\n## Example Usage\n\nOnce the server is running, you can ask Claude things like:\n\n- *\"Who is visiting my site from IP 203.0.113.42?\"*\n- *\"Find the LinkedIn profile for jane@example.com\"*\n- *\"What company does robbclarke work at?\"*\n- *\"Get the personal email for LinkedIn profile john-doe-123\"*\n- *\"Check my RB2B credit balance\"*\n\nClaude will automatically select and call the appropriate tool.\n\n\n---\n\n## License\n\nMIT\n","readmeFilename":"README.md"}