Skip to main content
Glama

Import a calendar (.ics)

ics_import

Import a .ics calendar from a file path, pasted text, or public webcal URL and save it under a name; reusing that name replaces the existing calendar.

Instructions

Call this tool to read a calendar export and keep it under a name. Give path (.ics file), text (contents), or url (public .ics/webcal feed; Pro). Google, Apple, Outlook exports read. Re-importing a name replaces it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNoPublic https:// or webcal:// .ics feed. Fetched once, only because you asked; Pro feature
nameYesWhat to call this calendar, e.g. "work" or "family"
pathNoPath to a .ics file on this machine
textNoThe .ics file contents, pasted

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.20.0

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the mutation profile (readOnly=false, destructive=false, idempotent=false, openWorld=false), but the description adds real value: 'Re-importing a name replaces it' discloses overwrite semantics, and 'Fetched once, only because you asked' describes the network behavior for url. It does not cover permissions/auth or what the result looks like, and the replace-vs-idempotentHint:false pairing is a mild unaddressed tension.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences with no waste, front-loaded with purpose before the input options and the overwrite caveat. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-parameter import tool with 100% schema coverage and full annotations, the description covers purpose, input methods, source compatibility, Pro gating, and overwrite behavior. No output schema exists, but an import's return value is not essential to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all four parameters (path, text, url, name). The description restates the three input methods and notes url is Pro, which largely duplicates the schema rather than adding new syntax or format detail. Baseline 3 applies when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: read a calendar export and store it under a name. An agent can tell this is an .ics ingestion tool rather than a calendar-creation or listing tool, though no sibling (e.g., ics_create, calendars_list) is named to sharpen the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear context for use: three mutually exclusive input methods (path, text, url), the fact that Google/Apple/Outlook exports are supported, and the Pro-only constraint on url. It stops short of any when-not-to-use guidance or explicit alternative tools, so no exclusions are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools