MCP Server

Use DataCork from Cursor or Claude Code. One command to connect. Fifteen tools once connected.

Connect in one command

# Claude Code
claude mcp add --transport http datacork https://mcp.datacork.com/mcp

# Cursor
cursor mcp add datacork

Discovery endpoint

The MCP discovery endpoint lists all available tools and their schemas. LLMs and orchestration frameworks can read this to understand capabilities without documentation:

curl -s https://mcp.datacork.com/mcp \
  -H "Authorization: Bearer $DATACORK_API_KEY" | jq .tools[].name

Tool reference

Tools marked [stub] are defined in the schema but implementation ships in Epic E05 (Q3 2026).

Tool name Description Free tier
connect_vpnConnect to a WireGuard exit node by country or region code. Returns WireGuard config.Yes
disconnect_vpnGracefully terminate active VPN session. Emits x402 receipt.Yes
get_exit_ipReturn current egress IP and geo-location of active session.Yes
list_exit_nodesList available exit nodes with latency, load, and country.Yes
get_session_statusReturn session metadata: bytes transferred, uptime, cost accrued.Yes
rotate_exit_nodeSwitch to a new exit node without dropping the session.Pro+
get_wireguard_configDownload WireGuard .conf for manual import.Pro+
list_sessionsList historical sessions with cost breakdown.Pro+
get_audit_logExport signed audit events for a time range.Pro+
set_region_pinPin sessions to a specific region (Team+).Team+
manage_policyCreate / update Cedar access policies. [stub]Team+
request_signed_egressAttach Web Bot Auth signature to outbound request. [stub]Pro+ Beta
get_receiptFetch a specific x402 receipt by ID.Yes
estimate_costReturn cost estimate for a given session profile before connecting.Yes
top_up_balanceInitiate a Stripe credit top-up from agent context. [stub]Pro+

Auth scopes

ScopeGrants access to
read:sessionsget_session_status, list_sessions, get_exit_ip, list_exit_nodes
write:exitsconnect_vpn, disconnect_vpn, rotate_exit_node
write:billingestimate_cost, top_up_balance, get_receipt
read:auditget_audit_log (Team+ only)
write:policymanage_policy (Team+ only)
Tip: When calling claude mcp add, the MCP server negotiates the minimum scopes it needs for the current request. You can restrict scopes further in the dashboard under API Keys → Scope limits.

Python example

from anthropic import Anthropic

client = Anthropic()
# MCP is configured in Claude Code — this is what the agent invokes
result = client.messages.create(
    model="claude-opus-4-7-20251201",
    max_tokens=1024,
    tools=[{"type": "mcp", "server_name": "datacork"}],
    messages=[{
        "role": "user",
        "content": "Connect to a US exit node and check the exit IP."
    }]
)
print(result.content)

TypeScript example

// datacork MCP is pre-configured via cursor mcp add
// This is the prompt your agent sends:
const message = await anthropic.messages.create({
  model: 'claude-opus-4-7-20251201',
  max_tokens: 1024,
  tools: [{ type: 'mcp', server_name: 'datacork' }],
  messages: [{
    role: 'user',
    content: 'Route the next fetch() call through a Singapore exit node.'
  }]
});

curl example (direct tool invocation)

# Call connect_vpn directly via the MCP JSON-RPC endpoint
curl -sX POST https://mcp.datacork.com/mcp \
  -H "Authorization: Bearer $DATACORK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "connect_vpn",
      "arguments": {"country": "SG"}
    },
    "id": 1
  }' | jq