ICS MCP Server
An MCP (Model Context Protocol) server that provides tools for creating ICS calendar events. Built with FastMCP and the ics library to generate RFC5545-compliant calendar files.
Features
- create_ics_event: Generate ICS calendar events with comprehensive options
- Required: event name and start time (ISO format)
- Optional: end time or duration in minutes
- Optional: description, location, URL
- Optional: all-day event support
- Optional: alarm notifications (minutes before event)
Installation & Usage
Install from GitHub
{
"mcpServers": {
"icsmcp": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/narumiruna/ics-mcp",
"icsmcp"
]
}
}
}
Install from PyPI
{
"mcpServers": {
"icsmcp": {
"command": "uvx",
"args": ["icsmcp@latest"]
}
}
}
Run Locally
{
"mcpServers": {
"icsmcp": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/ics-mcp",
"icsmcp"
]
}
}
}
Development
Requirements
- Python 3.12+
- uv (for dependency management)
Setup
# Clone the repository
git clone https://github.com/narumiruna/ics-mcp.git
cd ics-mcp
# Install dependencies
uv sync
# Run tests
uv run pytest
# Run linting
uv run ruff check .
# Run type checking
uv run mypy .
Available Commands
make lint- Run code lintingmake type- Run type checkingmake test- Run test suitemake publish- Build and publish package
Example Usage
Once configured as an MCP server, you can create calendar events like:
# Create a basic meeting
create_ics_event(
name="Team Meeting",
begin="2024-07-04T10:00:00",
end="2024-07-04T11:00:00",
description="Weekly team sync",
location="Conference Room A"
)
# Create an all-day event with alarm
create_ics_event(
name="Project Deadline",
begin="2024-07-04T00:00:00",
all_day=True,
alarm_minutes_before=1440 # 24 hours before
)
# Create event with duration
create_ics_event(
name="Workshop",
begin="2024-07-04T14:00:00",
duration_minutes=90,
url="https://example.com/workshop"
)
The tool returns properly formatted ICS strings that can be imported into any calendar application.
License
See LICENSE file for details.
Metadata
Release files for icsmcp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| icsmcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Release files / icsmcp-0.1.0-py3-none-any.whl
| Download URL | icsmcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 4.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c18590811980a318f25e13f7338aa512346161c6ff96c1098222f126824c07d0
|
|
BLAKE2b-256 checksum How to use checksums |
edeca7582825417317ddb838ec64756f7fe003cbbc37fe438b64bc7dc41a6b13
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.19
|