MCP server for calendar tools using ICS/ical feeds
npm install @mcp-monorepo/icsMCP server for calendar tools using ICS/ical feeds
This package provides a robust MCP server for accessing and querying events from one or more iCalendar (.ics) files. It acts as a bridge, allowing an AI model to interact with calendar data without needing direct access to the source URLs.
- Multi-Calendar Support: Merge events from multiple .ics URLs by defining multiple environment variables (e.g., CALENDAR_WORK, CALENDAR_PERSONAL).
- Resilient Caching: The server fetches calendar data and stores a prepared, ready-to-query version locally. If a calendar URL becomes temporarily unavailable, the server will continue to function using the last known good data from its cache.
- Automatic Refresh: Calendar data is automatically refreshed in the background on a regular interval to ensure the information stays up-to-date.
You can run this MCP server directly using npx for local testing:
``bash`
npx @mcp-monorepo/ics@latest
To integrate this server with a compatible AI model (like Claude), provide the following MCP server configuration:
`jsonCALENDAR_
{
"mcpServers": {
"ics": {
"command": "npx",
"args": [
"-y",
"@mcp-monorepo/ics"
],
"env": {
"": " Here>"`
}
}
}
}
| Variable | Description | Default |
| :--- | :--- | :--- |
| CALENDAR_ | Defines a calendar source. Replace with a unique identifier (e.g., WORK, PERSONAL). The value must be a valid URL to an .ics file. You can define multiple CALENDAR_ variables to merge events from several sources. At least one is required. | |
Get current date and time - Returns the current date and time in local format.
Input Schema
This tool has no defined input schema.
---
Fetch Calendar Events - Fetches events from multiple ICS calendar URLs for a specified time period. cc
Input Schema
| Property | Type | Description |
| :--- | :--- | :--- |
| offset | number | Offset to start returning events from (default: 0) |limit
| | number | Maximum number of events to return (default: 50) |startDate
| | string | Start date in YYYY-MM-DD format |endDate
| | string | End date in YYYY-MM-DD format |
---
Search Calendar Events - Search through all calendar events using keywords. Searches in title, description, location, attendees, and categories. Sorts by number of matching words.
Input Schema
| Property | Type | Description |
| :--- | :--- | :--- |
| query | string | Search query with keywords separated by spaces, at least one keyword must be included |limit
| | number` | Maximum number of events to return (default: 50) |
This monorepo contains several other MCP server packages available on npm. Each provides a distinct set of tools for use with the Model Context Protocol.
- @mcp-monorepo/confluence: MCP server for Confluence API tools
- @mcp-monorepo/file-browser: MCP server for file system browsing and manipulation (search, ls, tree, grep, open, write, move, mkdir)
- @mcp-monorepo/jira: MCP server for Jira tools (JQL, issue management, etc.).
- @mcp-monorepo/location: MCP server for location-based tools using IP address lookup
- @mcp-monorepo/mail: MCP server for mail tools (fetch, read, search, mark as seen).
- @mcp-monorepo/notion-query: MCP server for querying Notion data sources.
- @mcp-monorepo/npm: MCP server for npm command tools (run scripts, install packages, list scripts)
- @mcp-monorepo/slack: Slack MCP to access workspace without bot account or app
- @mcp-monorepo/weather: Weather MCP tools (geocoding, weather-by-coords) for ModelContextProtocol.
- fd22b00: Fixed yarn versioning during publish
- Updated dependencies [7929a55]
- 75e8973: migrate monorepo to yarn 4, update CI/husky/scripts and run-on-changed, add yarnrc and packageManager, switch internal deps to workspace:\* and simplify bin fields
---
- The MCP Monorepo Team
This project is licensed under the AGPL-3.0-only License. See the LICENSE file for details.