{"_id":"@capitalthought/relationship-radar-mcp","_rev":"3-a4f050c1fceabedd8d5b1e4316e21e86","name":"@capitalthought/relationship-radar-mcp","dist-tags":{"latest":"0.4.0"},"versions":{"0.2.0":{"name":"@capitalthought/relationship-radar-mcp","version":"0.2.0","keywords":["mcp","model-context-protocol","relationship-radar","relradar","agent-tools","anthropic","claude","capital-factory"],"author":{"name":"Joshua Baer"},"license":"MIT","_id":"@capitalthought/relationship-radar-mcp@0.2.0","maintainers":[{"name":"joshuabaer","email":"npmjs@joshspam.com"}],"homepage":"https://github.com/capitalthought/relationship-radar-mcp#readme","bugs":{"url":"https://github.com/capitalthought/relationship-radar-mcp/issues"},"bin":{"relationship-radar-mcp":"dist/index.js"},"dist":{"shasum":"fc2db0dc6ce437cc7c82030efe24232f23a377a9","tarball":"https://registry.npmjs.org/@capitalthought/relationship-radar-mcp/-/relationship-radar-mcp-0.2.0.tgz","fileCount":23,"integrity":"sha512-boaW7l65EsIynYYupHZhtlACyvXs7djhnsZMkBB/9ik0kE8QR+XOFuFUVu9IQJIqbOn9VWZ96eEM790+nGTrGA==","signatures":[{"sig":"MEUCIQCE14hmC3ymf5XvDz7QW4+IUDPd476phV+hbNkerZE56wIgJD0xxLi9pW+sz5XnMDbMDq2xBbiPBbgQ4sK84t43rpY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35938},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"a6399ea694d6607fa6638f446fb760be5c600198","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && chmod +x dist/index.js","start":"node dist/index.js","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"joshuabaer","email":"npmjs@joshspam.com"},"repository":{"url":"git+https://github.com/capitalthought/relationship-radar-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server for Relationship Radar (relradar.ai) — query a person, suggest identity disambiguations, run a deep PI investigation, check source health.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.3.6","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.0","typescript":"^5.9.3","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/relationship-radar-mcp_0.2.0_1778350101185_0.7958158751113278","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@capitalthought/relationship-radar-mcp","version":"0.3.0","keywords":["mcp","model-context-protocol","relationship-radar","relradar","agent-tools","anthropic","claude","capital-factory"],"author":{"name":"Joshua Baer"},"license":"MIT","_id":"@capitalthought/relationship-radar-mcp@0.3.0","maintainers":[{"name":"joshuabaer","email":"npmjs@joshspam.com"}],"homepage":"https://github.com/capitalthought/relationship-radar-mcp#readme","bugs":{"url":"https://github.com/capitalthought/relationship-radar-mcp/issues"},"bin":{"relationship-radar-mcp":"dist/index.js"},"dist":{"shasum":"8a523cfc16838ddcbee1c0ab910f14a7ab86f662","tarball":"https://registry.npmjs.org/@capitalthought/relationship-radar-mcp/-/relationship-radar-mcp-0.3.0.tgz","fileCount":31,"integrity":"sha512-QlLCjWrxwID8z309js/8mYnLJG/Zn1xRjN6QHLT4c/9C8noHcOdatJH5Oc49oN2zIcLGIeAgSq5IDaBWsV7+DQ==","signatures":[{"sig":"MEMCIQD1jxyd8Lx44mjxJmmIO+Fu83NJDxd+LZVPJF+aNBqN8wIecl7OkCeI44jCd02VpZoHxZ07ejpY28KwaR6jZt6s","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46909},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"cd0b9c23a875cdb5ce076760d07e1fb297947374","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && chmod +x dist/index.js","start":"node dist/index.js","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"joshuabaer","email":"npmjs@joshspam.com"},"repository":{"url":"git+https://github.com/capitalthought/relationship-radar-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server for Relationship Radar (relradar.ai) — query a person, suggest identity disambiguations, run a deep PI investigation, check source health.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.3.6","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.0","typescript":"^5.9.3","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/relationship-radar-mcp_0.3.0_1778357947410_0.5193051735740553","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@capitalthought/relationship-radar-mcp","version":"0.4.0","description":"MCP server for Relationship Radar (relradar.ai) — query a person, suggest identity disambiguations, run a deep PI investigation, check source health.","type":"module","main":"dist/index.js","bin":{"relationship-radar-mcp":"dist/index.js"},"scripts":{"build":"tsc && chmod +x dist/index.js","dev":"tsc --watch","start":"node dist/index.js","test":"vitest run","test:watch":"vitest","prepublishOnly":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/capitalthought/relationship-radar-mcp.git"},"homepage":"https://github.com/capitalthought/relationship-radar-mcp#readme","bugs":{"url":"https://github.com/capitalthought/relationship-radar-mcp/issues"},"keywords":["mcp","model-context-protocol","relationship-radar","relradar","agent-tools","anthropic","claude","capital-factory"],"author":{"name":"Joshua Baer"},"license":"MIT","publishConfig":{"access":"public"},"engines":{"node":">=18"},"dependencies":{"@modelcontextprotocol/sdk":"^1.27.1","zod":"^4.3.6"},"devDependencies":{"@types/node":"^25.5.0","typescript":"^5.9.3","vitest":"^4.1.0"},"_id":"@capitalthought/relationship-radar-mcp@0.4.0","gitHead":"6f814587657d156980240ee762343da03515e2a4","types":"./dist/index.d.ts","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-81B0dxbja39U+DW68TE/iwyIUHCcnLHtFfgAzV3z3ypgeLQhv8WZfM6CLnIwl0Okbcze7uvkiSY1XoIGQN7YZQ==","shasum":"bc0705d15496f75786c3a6dd9cc68d5365482853","tarball":"https://registry.npmjs.org/@capitalthought/relationship-radar-mcp/-/relationship-radar-mcp-0.4.0.tgz","fileCount":35,"unpackedSize":61526,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIA67oFIMqRJZu59HiTzq0/WJnb343dAg/O2Tv0sYAlQgAiEAxWzQTFueDDNk1irdy8V3R8cGUA1NvgI1pWP5zK/ZVoo="}]},"_npmUser":{"name":"joshuabaer","email":"npmjs@joshspam.com"},"directories":{},"maintainers":[{"name":"joshuabaer","email":"npmjs@joshspam.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/relationship-radar-mcp_0.4.0_1778424232443_0.14747836692245597"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-09T18:08:21.133Z","modified":"2026-05-10T14:43:52.732Z","0.2.0":"2026-05-09T18:08:21.324Z","0.3.0":"2026-05-09T20:19:07.552Z","0.4.0":"2026-05-10T14:43:52.590Z"},"bugs":{"url":"https://github.com/capitalthought/relationship-radar-mcp/issues"},"author":{"name":"Joshua Baer"},"license":"MIT","homepage":"https://github.com/capitalthought/relationship-radar-mcp#readme","keywords":["mcp","model-context-protocol","relationship-radar","relradar","agent-tools","anthropic","claude","capital-factory"],"repository":{"type":"git","url":"git+https://github.com/capitalthought/relationship-radar-mcp.git"},"description":"MCP server for Relationship Radar (relradar.ai) — query a person, suggest identity disambiguations, run a deep PI investigation, check source health.","maintainers":[{"name":"joshuabaer","email":"npmjs@joshspam.com"}],"readme":"# @capitalthought/relationship-radar-mcp\n\nMCP server for [Relationship Radar](https://relradar.ai) — query a person across ~70 data sources (Gmail, Calendar, HubSpot, Asana, Airtable, Crunchbase, court records, …) into a relationship-intelligence brief, suggest identity disambiguations, run a deep PI investigation, or check source health.\n\nWraps the public-but-auth-walled API documented at [relradar.ai/AGENTS.md](https://relradar.ai/AGENTS.md).\n\n## Install\n\nVia Claude Code:\n\n```bash\nclaude mcp add relationship-radar npx -y @capitalthought/relationship-radar-mcp \\\n  --env RADAR_TOKEN=<your-token>\n```\n\nOr any MCP-compatible host (Claude Desktop, Cursor, etc.):\n\n```jsonc\n{\n  \"mcpServers\": {\n    \"relationship-radar\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@capitalthought/relationship-radar-mcp\"],\n      \"env\": {\n        \"RADAR_TOKEN\": \"<your-token>\"\n      }\n    }\n  }\n}\n```\n\n## Configuration\n\n| Env var | Required | Default | Notes |\n|---|---|---|---|\n| `RADAR_TOKEN` | yes | — | Bearer token. Treated as `role: \"owner\"` (full source access). Rotate via the relationship-radar repo's `scripts/rotate-dashboard-token`. |\n| `RADAR_BASE_URL` | no | `https://relradar.ai` | Override for staging or self-hosted. |\n\n## Tools\n\n| Tool | Wraps | Use when |\n|---|---|---|\n| `query_person` | `POST /query` | Full dossier on a known person. Default for \"tell me about X\" before a meeting. |\n| `suggest_identities` | `POST /suggest` | Cheap pre-flight when the name is ambiguous (`Sarah`, `John Smith`). Returns ranked candidates with confidence scores. |\n| `investigate_person` | `POST /api/investigate` | Deep iterative PI agent — picks sources adaptively based on findings, returns a verified identity profile with an evidence chain. Slower + more expensive than `query_person`. Reserve for high-stakes verification. |\n| `get_health` | `GET /health/detail` | Cron + `module_health` snapshot. Use to verify radar is healthy before relying on output for high-stakes work. |\n| `get_source_health` | `GET /admin/source-health` | Per-source last-status. Interpret a partial dossier — sources missing from output show up here as `error` or `skipped`. NOTE: `no_data` is healthy (source ran cleanly, just no matches). |\n| `radar_org_prep` | `GET /admin/orgs/<id>` | Pre-flight org snapshot — plan, subscription, members, connected sources, today's usage, alerts. Super-admin only. Call before any org-scoped action. |\n| `radar_mint_api_key` | `POST /account/api-keys` | Mint a new per-org `rk_<token>`. Returned ONCE — caller must store it. Owner role required. With the legacy `DASHBOARD_TOKEN` bearer the `org_id` arg is cosmetic until tenant `rk_` tokens exist. |\n\n## Example\n\n```\n> Tell me what we know about Patrick Vogt at Capital Factory.\n\n[agent calls query_person({name: \"Patrick Vogt\", company: \"Capital Factory\"})]\n[returns dossier with relationship snapshot, recent contacts, action items]\n```\n\n## Development\n\n```bash\nnpm install\nnpm run build\nnpm test\n```\n\nTo test the MCP server end-to-end against your local stdio transport:\n\n```bash\nRADAR_TOKEN=<token> node dist/index.js\n# Then connect a host (Claude Desktop, mcp-inspector, etc.) to the stdio.\n```\n\n## License\n\nMIT — see [LICENSE](./LICENSE).\n\n## Author\n\nJoshua Baer ([@joshuabaer](https://github.com/joshuabaer)) · Capital Factory.\n","readmeFilename":"README.md"}