KadiConnect for developers and AI agents

Create a digital business card, share it with tracked links and read its analytics, from code or from any AI assistant that supports the Model Context Protocol (MCP).

Get an API key

Everything below uses an API key that starts with kc_. Create one in the dashboard under Manage Profile, Developer API keys, or call POST /api/register (or the register MCP tool) to create an account and receive a key. Keys are shown once; treat them like passwords.

MCP server

Hosted at https://kadiconnect.com/mcp using Streamable HTTP. Add it to your client with your API key as a bearer token. Config formats change between client versions, so check your client's MCP documentation if a snippet does not match.

Claude Code

claude mcp add --transport http kadiconnect https://kadiconnect.com/mcp \
  --header "Authorization: Bearer kc_YOUR_KEY"

Cursor (.cursor/mcp.json)

{
  "mcpServers": {
    "kadiconnect": {
      "url": "https://kadiconnect.com/mcp",
      "headers": { "Authorization": "Bearer kc_YOUR_KEY" }
    }
  }
}

VS Code (.vscode/mcp.json)

{
  "servers": {
    "kadiconnect": {
      "type": "http",
      "url": "https://kadiconnect.com/mcp",
      "headers": { "Authorization": "Bearer kc_YOUR_KEY" }
    }
  }
}

Gemini CLI (settings.json)

{
  "mcpServers": {
    "kadiconnect": {
      "httpUrl": "https://kadiconnect.com/mcp",
      "headers": { "Authorization": "Bearer kc_YOUR_KEY" }
    }
  }
}

Codex (config.toml)

[mcp_servers.kadiconnect]
url = "https://kadiconnect.com/mcp"
bearer_token_env_var = "KADICONNECT_API_KEY"

Local command (Claude Desktop and other stdio clients)

For a client that launches a local program instead of connecting to a URL, use the @kadiconnect/mcp package. It forwards every tool call to https://kadiconnect.com/mcp.

{
  "mcpServers": {
    "kadiconnect": {
      "command": "npx",
      "args": ["-y", "@kadiconnect/mcp"],
      "env": { "KADICONNECT_API_KEY": "kc_YOUR_KEY" }
    }
  }
}

If a connection has no key configured, every authenticated tool also accepts an optional apiKey argument, for example right after calling register. Prefer the header for ongoing use.

Tools

ToolWhat it does
registerCreate an account and receive an API key (no key needed to call it).
get_cardRead the account's business card and its public URL.
create_or_update_cardCreate the card or change any of its fields (partial updates).
create_shareable_linkCreate a tracked link with its own view counter, one per channel.
get_shareable_linksList tracked links with their URLs and view counts.
get_analyticsViews, saves, saves to contacts and clicks by link type.
get_leadsRead-only. List contact form submissions left on the card, filtered by status. Treated as untrusted visitor text.
get_subscriptionPlan, and how many of the 50 free views have been used.
get_upgrade_linkReturn a Paystack checkout link for the user to open and pay. Charges nothing itself.

REST API

The full API is described by an OpenAPI 3.1 document (also at /.well-known/openapi.json), which works with generated clients, GPT Actions, LangChain, n8n, Zapier and similar tools.

# 1. Create an account and get an API key (shown once)
curl -X POST https://kadiconnect.com/api/register \
  -H "Content-Type: application/json" \
  -d '{"name":"Jane Smith","email":"jane@example.com","password":"a-long-unique-password"}'

# 2. Create the card
curl -X POST https://kadiconnect.com/api/cards \
  -H "Authorization: Bearer kc_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"displayName":"Jane Smith","title":"Product Designer","website":"acme.com"}'

# 3. Create a tracked link for one outreach channel
curl -X POST https://kadiconnect.com/api/cards/jane-smith/shareable-links \
  -H "Authorization: Bearer kc_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Email campaign"}'

# 4. Check views
curl https://kadiconnect.com/api/cards/jane-smith/analytics \
  -H "Authorization: Bearer kc_YOUR_KEY"

Plans and upgrading

The free plan shows a card for its first 50 views; after that, visitors see an upgrade screen. Pro ($4/month, $30/year or $99 one-time) removes the limit. Payment is always completed by the account owner in the browser: the get_upgrade_link tool and POST /api/user/upgrade-link only return a hosted Paystack checkout link and charge nothing. Responses from the card, analytics and plan tools include a plan object with the current view count and limit.

Limits and good practice

  • Requests are rate limited per client and per account; a 429 response includes a retry delay.
  • Each account has one card and up to 10 API keys. Only the card's owner can read its analytics and links.
  • Only create accounts for people who asked for one, and tell them where their API key is stored.
  • Questions or problems? Contact us.