IcalSAFE
A Model Context Protocol Server that allows you to interact with your MacOS Calendar through natural language.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
🗓️ Natural Language Calendar Management for macOS
[](https://choosealicense.com/licenses/mit/) [](https://www.python.org/downloads/) [](https://modelcontextprotocol.io)
🌟 Overview
Transform how you interact with your macOS calendar using natural language! The mcp-ical server leverages the Model Context Protocol (MCP) to turn your calendar management into a conversational experience.
You: "What's my schedule for next week?" Claude: "Let me check that for you..." [Displays a clean overview of your upcoming week] You: "Add a lunch meeting with Sarah tomorrow at noon" Claude: "✨ 📅 Created: Lunch with Sarah Tomorrow, 12:00 PM"
✨ Features
📅 Event Creation
Transform natural language into calendar events instantly!
"Schedule a team lunch next Thursday at 1 PM at Bistro Garden" ↓ 📎 Created: Team Lunch 📅 Thursday, 1:00 PM 📍 Bistro Garden
Supported Features
- Custom calendar selection
- Location and notes
- Smart reminders
- Recurring events
Power User Examples
🔄 Recurring Events: "Set up my weekly team sync every Monday at 9 AM with a 15-minute reminder" 📝 Detailed Events: "Schedule a product review meeting tomorrow from 2-4 PM in the Engineering calendar, add notes about reviewing Q1 metrics, and remind me 1 hour before" 📱 Multi-Calendar Support: "Add a dentist appointment to my Personal calendar for next Wednesday at 3 PM"
🔍 Smart Schedule Management & Availability
Quick access to your schedule with natural queries:
"What's on my calendar for next week?" ↓ 📊 Shows your upcoming events with smart formatting "When am I free to schedule a 2-hour meeting next Tuesday?" ↓ 🕒 Available time slots found: • Tuesday 10:00 AM - 12:00 PM
efbc8231e9e8OBSERVED · 2026-10-03Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.
claude mcp add mcp-ical -- uvx mcp-ical
{
"mcpServers": {
"mcp-ical": {
"command": "uvx",
"args": [
"mcp-ical"
]
}
}
}Exposed tools (4)
2 read · 2 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
create_event | write | Create a new calendar event. |
list_calendars | read | List all available calendars. |
list_events | read | List calendar events in a date range. |
update_event | write | Update an existing calendar event. |
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (0)
No findings outside the package's declared scope.
Gates applied: no_behavioural_pass.
efbc8231e9e8full audit observations/trust-audit/mcp-server/omar-v2__ical.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-03 | efbc8231e9e8 | SAFE | B | 89 | first audit |
Questions
What is the Ical MCP server?
A Model Context Protocol Server that allows you to interact with your MacOS Calendar through natural language.
What tools does Ical expose?
4 in total: 2 read-only, 2 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is Ical safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.
What credentials does Ical need?
No credential environment variables were found in its source, so it appears to need none.
How does Ical run?
It speaks stdio, so it runs as a local process your client starts. It is published on PyPI as mcp-ical.
How current is this page?
The grade is for one exact copy of the source (efbc8231e9e8), read on 2026-10-03. The repository is watched and re-audited when it changes.