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
- Log into BlendedCal
- Go to Profile → API Keys
- Click Generate API Key
- Give it a name (e.g., "Claude Desktop")
- Select the permissions you want to grant:
- Read-only: Select all
:readpermissions if you only want Claude to view data - Full access: Select all
:readand:writepermissions to let Claude create and modify calendars
- Read-only: Select all
- Optionally set an expiration date (90 days is a good default)
- 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)
| Tool | Permission | Description |
|---|---|---|
list_sources | sources:read | List all calendar sources |
get_source | sources:read | Get details for a specific source |
create_source | sources:write | Create a new calendar source |
update_source | sources:write | Update source settings |
delete_source | sources:write | Delete a calendar source |
sync_source | sources:write | Manually trigger sync for a source |
Calendar Management (6 tools)
| Tool | Permission | Description |
|---|---|---|
list_calendars | calendars:read | List all blended calendars |
get_calendar | calendars:read | Get a specific calendar |
create_calendar | calendars:write | Create a new blended calendar |
update_calendar | calendars:write | Update calendar settings |
delete_calendar | calendars:write | Delete a blended calendar |
get_calendar_events | events:read | Get filtered events for a calendar |
Event Management (5 tools)
| Tool | Permission | Description |
|---|---|---|
list_events | events:read | List events with optional filtering |
get_event | events:read | Get a specific event |
create_event | events:write | Create a new event (virtual source) |
update_event | events:write | Update an existing event |
delete_event | events:write | Delete an event |
Other Tools (3 tools)
| Tool | Permission | Description |
|---|---|---|
list_tags | tags:read | List all unique tags |
get_profile | profile:read | Get user profile information |
update_profile | profile:write | Update 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 sourcesblendedcal://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, andprofile: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:writeto let Claude create events, but notsources: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.