MCP Server

Give your AI assistant full access to your scheduling universe — event types, availability, bookings, contacts, webhooks, workflows, settings, and communication history.

32 tools. 10 domains. 3 lines of config.

Overview

The LinkTime MCP Server implements the Model Context Protocol — an open standard that lets AI assistants interact with external tools. Instead of copy-pasting data, your AI can directly check your calendar, book meetings, manage availability, set up webhooks, create automations, and review communication history.

Works with Claude Desktop, Cursor, Claude Code, Windsurf, and any MCP-compatible AI client.

Quick Setup

1. Get your API key

Go to Settings → API Keys and create an API key. Requires Pro or Business plan.

2. Add to your AI client

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "linktime": {
      "command": "npx",
      "args": ["-y", "linktime-mcp"],
      "env": {
        "LINKTIME_API_KEY": "lt_live_..."
      }
    }
  }
}

Cursor

Add to .cursor/mcp.json in your project:

{
  "mcpServers": {
    "linktime": {
      "command": "npx",
      "args": ["-y", "linktime-mcp"],
      "env": {
        "LINKTIME_API_KEY": "lt_live_..."
      }
    }
  }
}

Claude Code

claude mcp add linktime -- npx -y linktime-mcp

Then set LINKTIME_API_KEY in your environment.

Windsurf / VS Code

Use the same npx -y linktime-mcp command in your editor's MCP settings.

How It Works

AI Assistant ←→ MCP Protocol (stdio) ←→ linktime-mcp ←→ LinkTime REST API
  • The server runs locally on your machine — your API key never leaves your environment
  • Uses stdio transport — no network ports, no HTTP server
  • Zero state — every tool call is a fresh API request
  • Requires Node.js 18+ (uses native fetch)

Tools Reference

32 tools across 10 domains. Your AI assistant sees all tools and picks the right ones for each request.

Scheduling (5 tools)

list_event_types

List your event types — name, duration, slug, location type, price

check_availability

Get available slots for an event type on a date range (returns exact UTC times)

create_booking

Book a meeting (startTime must come from check_availability)

cancel_booking

Cancel a booking with optional reason

reschedule_booking

Move a booking to a new time (newStartTime must come from check_availability)

Meetings (2 tools)

list_bookings

List meetings — filter by date range, status, and pagination

get_booking

Full meeting details — time, guest, event type, link, notes, status

Contacts (5 tools)

list_contacts

Search contacts by name, email, or company with meeting counts

get_contact

Contact profile with full meeting history (upcoming + past)

create_contact

Add a new contact (errors if email already exists)

update_contact

Update contact fields — only provide what changed

delete_contact

Permanently remove a contact

Communication (2 tools)

list_conversations

SMS and WhatsApp message threads with full content and timestamps

list_call_history

Voice call logs — duration, outcome, AI agent, date

Context (1 tool)

get_me

Your LinkTime profile — name, email, username, plan

Event Management (3 tools)

create_event_type

Create a new event type with name, duration, location, buffer times, scheduling limits

update_event_type

Update an event type — only provide fields you want to change

delete_event_type

Permanently delete an event type (existing bookings are NOT cancelled)

Availability (5 tools)

get_availability_rules

Get your weekly availability schedule — days and hours per day of week

update_availability_rules

Set your weekly availability (replaces all existing rules)

list_availability_overrides

List date-specific blocks or custom hours (overrides weekly rules)

create_availability_override

Block a date or set custom hours — vacations, holidays, etc.

delete_availability_override

Remove an override, restoring default weekly schedule

Settings (3 tools)

get_settings

Account settings — timezone, format, buffer defaults, meeting limits, focus time

update_settings

Update timezone, buffers, daily cap, min gap, focus time blocks

list_integrations

Connected integrations — calendars, video, CRM, payments

Webhooks (4 tools)

list_webhooks

List webhook endpoints with delivery counts and status

create_webhook

Create a webhook — returns signing secret (shown only once)

update_webhook

Update URL, subscribed events, name, or active status

delete_webhook

Permanently delete a webhook endpoint

Workflows (2 tools)

list_workflows

List automation workflows — trigger, actions, enabled status, execution count

create_workflow

Create an automation — email, SMS, webhook, Slack, or AI call on booking events

Example Conversations

Here's how AI assistants use LinkTime tools in practice:

“Book a meeting with Sarah”

User: Book a 30-minute call with Sarah Chen tomorrow afternoon

AI uses: list_event_types → finds "30-Minute Call"
AI uses: check_availability → gets tomorrow's slots
AI uses: create_booking → books 2:00 PM slot

AI: Done! Booked a 30-minute call with Sarah Chen tomorrow at 2:00 PM ET.
    She'll receive a confirmation email with the meeting link.

“What's my schedule this week?”

User: What meetings do I have this week?

AI uses: list_bookings → fetches Mon-Fri confirmed bookings

AI: You have 4 meetings this week:
    - Mon 10am: Product Demo with Alex Rivera
    - Tue 2pm: Quick Call with Sarah Chen
    - Wed 11am: Strategy Session with Jordan Lee
    - Fri 3pm: Intro Call with [email protected]

“Reschedule tomorrow's meeting”

User: Push my meeting with Alex to Thursday

AI uses: list_bookings → finds Alex's booking
AI uses: check_availability → gets Thursday slots
AI: Thursday slots: 9am, 10:30am, 2pm, 3:30pm. Which?
User: 10:30
AI uses: reschedule_booking → moves to Thursday 10:30am

AI: Done! Alex will get an email with the updated time.

“Block off next week for vacation”

User: I'm on vacation next week, block my calendar

AI uses: create_availability_override → blocks Mon-Fri
         (5 calls, one per day, reason: "Vacation")

AI: Done! Your calendar is blocked March 10–14.
    No one can book meetings with you that week.
    I can remove these blocks anytime with delete_availability_override.

“Create a new event type”

User: Create a 15-minute "Quick Chat" event with Zoom

AI uses: create_event_type → name: "Quick Chat", slug: "quick-chat",
         durationMinutes: 15, locationType: "ZOOM"

AI: Created! Your new "Quick Chat" event is live at
    linktime.io/yourname/quick-chat — 15 minutes on Zoom.

“Set up a webhook for new bookings”

User: Send a webhook to my server when someone books a meeting

AI uses: create_webhook → url: "https://api.example.com/bookings",
         events: ["booking.created", "booking.cancelled"]

AI: Webhook created! Your signing secret is whsec_abc123...
    Save it now — it won't be shown again.
    You'll receive POST requests for new bookings and cancellations.

“Tell me about this person”

User: What do I know about Sarah Chen?

AI uses: list_contacts → searches "Sarah Chen"
AI uses: get_contact → full profile + meeting history

AI: Sarah Chen — VP Engineering at Acme Corp
    You've met 4 times. Last meeting: Product Demo (Nov 18).
    Notes: "Interested in enterprise plan. Budget review in Q1."

“How did my calls go this week?”

User: How did my voice agent calls go this week?

AI uses: list_call_history → filters from Monday, status "all"

AI: 8 calls this week:
    - 5 completed (avg 2m 15s) — 3 resulted in bookings
    - 2 no answer
    - 1 failed (caller hung up after 5s)
    Your "Sales Agent" handled all of them.

Environment Variables

VariableRequiredDescription
LINKTIME_API_KEYYesYour API key (lt_live_...)
LINKTIME_BASE_URLNoOverride API base URL (defaults to https://linktime.io)

Troubleshooting

“LINKTIME_API_KEY environment variable is required”

Make sure your API key is set in the env section of your MCP config, not as a system environment variable.

“unauthorized” error

Your API key may be invalid or expired. Generate a new one at Settings → API Keys.

Tools not appearing in your AI assistant

Restart your AI client after updating the MCP config. Verify the server starts by running npx -y linktime-mcp in your terminal — it should print “LinkTime MCP server running” to stderr.

“rate_limited” error

The API allows 60 requests per minute. Your AI assistant will back off automatically.

“not_found” errors when creating bookings

The eventTypeSlug must match an active event type. Use list_event_types first to find valid slugs.

Related Documentation

Need help?

Our support team can help you set up the MCP server.

Contact Support →