MCP Integration

Connect AI assistants like Claude Desktop to your BlendedCal data using the Model Context Protocol (MCP) for seamless calendar management via natural language.

What is MCP?

The Model Context Protocol (MCP) is an open standard that allows AI assistants like Claude to connect to external data sources and services. With MCP, you can:

  • Ask Claude to list your upcoming events
  • Tell Claude to create a new calendar source
  • Have Claude filter and search your calendars
  • Manage sources, calendars, and events using natural language

BlendedCal's MCP integration gives Claude full access to your calendar data through 20+ tools, all controlled by the permissions you grant when creating an API key.

Learn more about MCP: modelcontextprotocol.io

What You Can Do with BlendedCal + MCP

Once connected, you can use natural language to:

  • "List all my calendar sources" — See all your connected calendars
  • "Show me upcoming events for next week" — Get filtered event listings
  • "Create a calendar source from this ICS URL: ..." — Add new sources
  • "Show all events tagged 'carter'" — Filter by tags
  • "Create a blended calendar for all sports events" — Build filtered calendars
  • "What are all the tags I'm using?" — List your tag system
  • "Add a new event: Team lunch on Friday at noon" — Create events
  • "Sync my TeamSnap source" — Trigger manual syncs

Setup Steps

Setting up MCP with Claude Desktop takes just a few minutes:

Step 1: Generate an API Key

  1. Log into BlendedCal
  2. Go to Profile → API Keys
  3. Click Generate API Key
  4. Give it a name (e.g., "Claude Desktop")
  5. Select the permissions you want to grant:
    • Read-only: Select all :read permissions if you only want Claude to view data
    • Full access: Select all :read and :write permissions to let Claude create and modify calendars
  6. Optionally set an expiration date (90 days is a good default)
  7. Click Create and copy the API key (you won't be able to see it again!)

Step 2: Add Configuration to Claude Desktop

Add the following configuration to your Claude Desktop config file:

macOS / Linux

File location: ~/.config/claude/claude_desktop_config.json

Windows

File location: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "blendedcal": {
      "url": "https://blendedcal.com/api/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Important: Replace YOUR_API_KEY with the actual API key you generated in Step 1.

Note: If you're using a self-hosted BlendedCal instance, replace https://blendedcal.com with your deployment URL.

Step 3: Restart Claude Desktop

Quit Claude Desktop completely and restart it. The MCP integration will be activated automatically.

Step 4: Start Using It!

Open Claude Desktop and start asking questions about your calendars. Try:

"What calendar sources do I have?"

Claude will call the list_sources tool and show you all your connected calendars.

Available MCP Tools

BlendedCal provides 20+ MCP tools for comprehensive calendar management. Here's what's available:

Source Management (6 tools)

ToolPermissionDescription
list_sourcessources:readList all calendar sources
get_sourcesources:readGet details for a specific source
create_sourcesources:writeCreate a new calendar source
update_sourcesources:writeUpdate source settings
delete_sourcesources:writeDelete a calendar source
sync_sourcesources:writeManually trigger sync for a source

Calendar Management (6 tools)

ToolPermissionDescription
list_calendarscalendars:readList all blended calendars
get_calendarcalendars:readGet a specific calendar
create_calendarcalendars:writeCreate a new blended calendar
update_calendarcalendars:writeUpdate calendar settings
delete_calendarcalendars:writeDelete a blended calendar
get_calendar_eventsevents:readGet filtered events for a calendar

Event Management (5 tools)

ToolPermissionDescription
list_eventsevents:readList events with optional filtering
get_eventevents:readGet a specific event
create_eventevents:writeCreate a new event (virtual source)
update_eventevents:writeUpdate an existing event
delete_eventevents:writeDelete an event

Other Tools (3 tools)

ToolPermissionDescription
list_tagstags:readList all unique tags
get_profileprofile:readGet user profile information
update_profileprofile:writeUpdate user profile (name, slug)

Available MCP Resources

MCP resources provide Claude with context about your data. BlendedCal exposes two resources:

  • blendedcal://sources — Overview of your calendar sources
  • blendedcal://calendars — Overview of your blended calendars

Note: Resources in MCP are currently read-only reference data. For full access to your calendars, Claude uses the tools listed above.

Permission Requirements

Each MCP tool requires specific permissions. When you generate an API key for MCP, you can grant permissions selectively:

  • Read-only access: Grant sources:read, calendars:read,events:read, tags:read, and profile:read. Claude can view your data but can't create or modify anything.
  • Full access: Grant all permissions. Claude can create sources, build calendars, add events, and fully manage your BlendedCal account.
  • Custom permissions: Pick and choose based on what you want Claude to do. For example, grant events:write to let Claude create events, but not sources:writeto prevent it from modifying sources.

Tip: Start with read-only permissions and upgrade to write permissions once you're comfortable with how the integration works.

Example Use Cases

"What's on my calendar this week?"

Claude calls list_events with date filters to show upcoming events.

Required permission: events:read

"Create a blended calendar for Carter's sports"

Claude calls create_calendar with filters for sources tagged carter and sports.

Required permissions: calendars:write, sources:read

"Add the TeamSnap calendar for Carter's soccer team"

You provide the ICS URL, and Claude calls create_source with tags carter, sports, soccer.

Required permission: sources:write

"Show me all games (not practices) next month"

Claude calls list_events with date range and search text game OR match OR meet.

Required permission: events:read

"Create an event: Doctor appointment Thursday at 2pm"

Claude calls create_event to add a new event to your virtual source.

Required permission: events:write

"Sync all my calendar sources"

Claude calls list_sources to get all sources, then sync_source for each one.

Required permissions: sources:read, sources:write

Troubleshooting

Claude says it can't access BlendedCal

  • Make sure you restarted Claude Desktop after adding the config
  • Check that the config file is valid JSON (no trailing commas, proper quotes)
  • Verify your API key is correct (copy-paste carefully)
  • Check that your API key hasn't expired

Claude gets permission errors

  • Check which permissions you granted when creating the API key
  • If you need more permissions, generate a new key with broader access
  • Delete the old key from your profile page if you're no longer using it

Claude's responses are slow or timing out

  • This is usually due to slow API responses (e.g., syncing a large calendar)
  • Try breaking requests into smaller chunks (e.g., sync one source at a time)
  • Check the BlendedCal dashboard for any error messages on sources

Ready to Get Started?

Head to your profile page to generate an API key and set up MCP:

Go to Profile →

Want to build custom integrations? Check out the REST API documentation for programmatic access to all BlendedCal features.