Datacircle
LinkedIn profiles and B2B data at the provider's own price, no markup, from your Datacircle balance. Remote server, OAuth or an API key.
Hosted MCP Server
npx add-mcp 'https://api.datacircle.dev/mcp'Installs into Claude Code, Codex, Cursor and more
Documentation
MCP server
Datacircle in Claude, ChatGPT, Cursor and any MCP client: one URL, sign in, and your agent fetches profiles from your balance.
Datacircle's MCP server is https://api.datacircle.dev/mcp (Streamable HTTP). Add it to your client, sign in with your Datacircle email, and your agent calls the API for you: every call costs what the same REST call costs (Pricing), from the same balance.
Add it
| Client | How |
|---|---|
| Claude (claude.ai, desktop) | Settings, Connectors, Add custom connector: paste https://api.datacircle.dev/mcp, then Connect and sign in |
| Claude Code | claude mcp add --transport http datacircle https://api.datacircle.dev/mcp, then /mcp to sign in |
| ChatGPT | In developer mode, add a connector with https://api.datacircle.dev/mcp and OAuth, then sign in |
| Cursor, VS Code, any other | the URL as a remote (HTTP) MCP server; it signs you in with OAuth, or send your API key (below) |
Signing in opens datacircle.dev: sign in with your email code (a new account gets the sign-up credit), check which app asks and where it sends you back, then Allow. The app gets an access token that works on /mcp only.
A client that sends headers can skip OAuth and use your API key:
claude mcp add --transport http datacircle https://api.datacircle.dev/mcp --header "Authorization: Bearer $DATACIRCLE_API_KEY"
{"mcpServers": {"datacircle": {"url": "https://api.datacircle.dev/mcp", "headers": {"Authorization": "Bearer <your API key>"}}}}
To cut every connected app off, reset your API key: their access tokens stop working with it.
Tools
Each tool makes one REST call with your key and answers that call's JSON (isError: true when its status is 400 or more).
| Tool | Arguments | The REST call | Costs |
|---|---|---|---|
get_linkedin_profile | url, provider (up2data, the default, or harvestapi) | POST /v1/profiles/enrich or GET /linkedin/profile (LinkedIn Profile API) | the provider's price (Pricing); free when Datacircle holds it |
get_balance | none | GET /balance/ | free |
list_files | none | GET /files/ (Files), as {"files": [...]} | free |
get_download_link | file_id | POST /files/{file_id}/download-link/ | free |
add_funds | amount_usd (5 to 10,000) | POST /checkout/: a Stripe Checkout link for you to open and pay. Not in ChatGPT or Codex, whose plugins may not sell credits: add funds from your dashboard | nothing until you pay |
get_invite_link | none | GET /me/invites/ | free |
For developers
- No session and no stream: every
POST /mcpgets one JSON answer;GET /mcpis405. Protocol versions2025-11-25,2025-06-18,2025-03-26and2024-11-05. - No token, or a bad one:
401withWWW-Authenticate: Bearer resource_metadata="https://api.datacircle.dev/.well-known/oauth-protected-resource/mcp". - OAuth 2.1:
/.well-known/oauth-authorization-serverlists the endpoints; dynamic client registration atPOST /oauth/register; the authorization code with PKCE (S256only); public clients, or a client secret if you register with one.
This documentation is built and hosted on Mintlify, a developer documentation platform.