@mcp-monorepo/ics
v1.5.0
Published
MCP server for calendar tools using ICS/ical feeds
Readme
@mcp-monorepo/ics
MCP 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.
Key Features
- Multi-Calendar Support: Merge events from multiple
.icsURLs 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.
Usage
You can run this MCP server directly using npx for local testing:
npx @mcp-monorepo/ics@latestTo integrate this server with a compatible AI model (like Claude), provide the following MCP server configuration:
{
"mcpServers": {
"ics": {
"command": "npx",
"args": [
"-y",
"@mcp-monorepo/ics"
],
"env": {
"`CALENDAR_<NAME>`": "<Your `CALENDAR_<NAME>` Here>"
}
}
}
}Environment Variables
| Variable | Description | Default |
| :--- | :--- | :--- |
| CALENDAR_<NAME> | Defines a calendar source. Replace <NAME> 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. | <required> |
Tools
get-current-datetime
Get current date and time - Returns the current date and time in local format.
Input Schema
This tool has no defined input schema.
fetch-events
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-events
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) |
Other MCP Servers
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.
Recent Changes
Version 1.3.3
- fd22b00: Fixed yarn versioning during publish
Version 1.3.2
- Updated dependencies [7929a55]
Version 1.3.1
- 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
Authors
- The MCP Monorepo Team
License
This project is licensed under the AGPL-3.0-only License. See the LICENSE file for details.
