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

ClientHow
Claude (claude.ai, desktop)Settings, Connectors, Add custom connector: paste https://api.datacircle.dev/mcp, then Connect and sign in
Claude Codeclaude mcp add --transport http datacircle https://api.datacircle.dev/mcp, then /mcp to sign in
ChatGPTIn developer mode, add a connector with https://api.datacircle.dev/mcp and OAuth, then sign in
Cursor, VS Code, any otherthe 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).

ToolArgumentsThe REST callCosts
get_linkedin_profileurl, 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_balancenoneGET /balance/free
list_filesnoneGET /files/ (Files), as {"files": [...]}free
get_download_linkfile_idPOST /files/{file_id}/download-link/free
add_fundsamount_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 dashboardnothing until you pay
get_invite_linknoneGET /me/invites/free

For developers

  • No session and no stream: every POST /mcp gets one JSON answer; GET /mcp is 405. Protocol versions 2025-11-25, 2025-06-18, 2025-03-26 and 2024-11-05.
  • No token, or a bad one: 401 with WWW-Authenticate: Bearer resource_metadata="https://api.datacircle.dev/.well-known/oauth-protected-resource/mcp".
  • OAuth 2.1: /.well-known/oauth-authorization-server lists the endpoints; dynamic client registration at POST /oauth/register; the authorization code with PKCE (S256 only); public clients, or a client secret if you register with one.

This documentation is built and hosted on Mintlify, a developer documentation platform.