# Truto Unified Calendar MCP

> The Truto Unified Calendar MCP lets your agent handle scheduling across any calendar provider—Google, Outlook, and more. Instead of juggling multiple logins or writing complex code for different APIs, you treat all connected accounts as one unified system. Your AI client reads availability, creates meetings, and updates events in real-time across every linked service.

## Overview
- **Category:** developer-tools
- **Price:** Free
- **Tags:** calendar-integration, scheduling, unified-api, time-management

## Description

Managing a schedule today means dealing with fragmented tools. You're constantly switching between Google Calendar, Outlook, and whatever else your company uses just to see if two people are free at the same time. This MCP solves that by giving your AI agent access through one unified API layer. It reads all connected calendars—regardless of which provider owns them—and presents a single source of truth for your availability. You can tell your assistant, 'Book a meeting with Jane and Mark next Tuesday,' and it handles checking gaps across three different corporate accounts before writing the event out to all relevant parties. When you connect this via Vinkius, your agent gains immediate access to sophisticated scheduling logic without needing custom code for every single API in existence.

## Tools

### create_event
Writes a new event to any linked calendar by providing the ID, title, and start/end times in ISO format.

### delete_event
Removes an existing meeting from both Truto and the underlying provider; this action cannot be undone.

### get_calendar
Retrieves specific details about a single calendar, including its name, timezone, and metadata, normalized to one schema.

### get_event
Gets the full details of a specific meeting, returning information like attendees, location, and recurrence patterns.

### get_free_busy
Checks availability within a date range for a calendar by returning time blocks marked as free or busy.

### list_calendars
Retrieves all connected calendars, unifying the data from services like Google and Outlook into one consistent list.

### list_connections
Shows a comprehensive list of all integrated accounts and their current authentication status across providers.

### list_events
Lists every event associated with a calendar ID, showing titles, times, locations, and who is attending.

### update_event
Modifies an existing meeting by passing a specific JSON object containing the fields you need to change.

### validate_connection
Verifies credentials and permissions for a connected account, reporting any errors or accessibility issues.

## Prompt Examples

**Prompt:** 
```
List all interconnected calendars belonging to this unified account.
```

**Response:** 
```
Listing calendars for Integrated Account. Retrieved 2 major calendars:
1. 'Primary Operations' (ID: cal_91bx2) [Google Provider]
2. 'Global Holidays' (ID: cal_84zy1) [Google Provider].
```

**Prompt:** 
```
Search my events and get the specific details for event ID evt_7xkP.
```

**Response:** 
```
Details recovered. Meeting 'Q3 Alignment Sprint' goes from 2026-10-14T09:00Z to 2026-10-14T10:30Z. Video conferencing link appended natively. 4 attendees invited.
```

## Capabilities

### Check overall availability
It scans multiple connected calendars to find blocks of time when everyone is free.

### Create and modify meetings
Your agent writes new events or changes details, passing the updates directly to the root calendar provider.

### List all connected calendars
It retrieves a list of every linked calendar account and its current connection status.

### Find specific event details
You can ask for full information on any single meeting, including attendee lists or conferencing links.

### Validate connections
It checks if all linked accounts are still active and have the necessary permissions to function.

## Use Cases

### Booking a cross-departmental meeting
The project manager needs to find 30 minutes next week when the Engineering team (on Google) and Marketing leadership (on Outlook) are both free. They ask their agent, which uses `get_free_busy` against both providers simultaneously, and gets a precise time slot.

### Rescheduling client calls
A sales rep needs to change an event for a key client who uses a third-party calendar. The agent uses `update_event`, passing the new date and time, ensuring the change is reflected immediately without manual intervention.

### Auditing account health
The IT admin needs to confirm that all 15 department calendars are still linked correctly. They run `list_connections` and receive a clear report on every provider's authentication status.

### Capturing meeting details for records
After a major strategy session, the agent uses `get_event` to extract all granular metadata—like who was invited or if there’s an attached video link—so the notes are complete and accurate.

## Benefits

- Stop writing conditional code for different providers. This MCP gives you a single, normalized schema to read and write events against Google, Outlook, or any other connected service.
- Instead of guessing if time slots are open, use the `get_free_busy` tool to accurately pinpoint available gaps in your schedule across multiple calendars instantly.
- When an event changes—like a meeting moving from Google to Outlook—the system handles the write. Use `update_event` to modify details and sync them automatically everywhere.
- If you need to know who was at last month's Q3 review, use `list_events` or `get_event`. It pulls all attendee lists, regardless of which calendar originally hosted the invite.
- You can check if your company’s connection status is okay by running `validate_connection`, making sure no integrated account has been abruptly decoupled.

## How It Works

The bottom line is that instead of writing code for Google's API or Microsoft's API separately, you just talk to your agent.

1. First, anchor this MCP instance to your local Vinkius agent. This tells your system where to look for scheduling data.
2. Next, provide the Master Token from Truto along with your integrated account ID, pointing it toward the specific calendar provider you need to query.
3. Finally, ask your assistant a natural language question like 'What time are we free next week?' and it handles the rest.

## Frequently Asked Questions

**How does the Truto Unified Calendar MCP handle different time zones?**
It normalizes all times to ISO-compliant formats, handling the complexity of multiple time zones so you don't have to worry about local offsets when scheduling.

**Can I use this MCP to read old meeting details using the get_event tool?**
Yes, `get_event` pulls all rich metadata for a specific ID, giving you attendees, location data, and recurrence patterns, even if that information was added years ago.

**Does Truto Unified Calendar MCP only work with Google or Outlook?**
No. The key feature is its unification layer; it treats all connected calendars—including those from other major providers—under one consistent schema.

**What if I want to change a meeting after it was created? Do I use update_event?**
Yep. Use `update_event` and pass a JSON object with only the fields you need changed, like just updating the location or adding new attendees.

**What is the difference between list_calendars and list_connections?**
Use `list_connections` to see if the account *can* connect (checking auth status). Use `list_calendars` once connected to get a list of actual, usable calendars under that account.