About Liturgical Calendar
Liturgical Calendar is an MCP server in the Productivity category: model Context Protocol server providing access to Roman Catholic Liturgical Calendar data.
Install
claude mcp add liturgical-calendar -- npx -y @rudyah/liturgical-calendar-mcpnpx -y @rudyah/liturgical-calendar-mcpThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Liturgical Calendar
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
Liturgical Calendar MCP Server (TypeScript)
A Model Context Protocol (MCP) server written in TypeScript that provides access to the Roman Catholic Liturgical Calendar API.
Note: Looking for the Python version? See liturgical-calendar-mcp (Python)
Why TypeScript?
This is a TypeScript rewrite of the Python version with these advantages:
- Native MCP SDK: First-class TypeScript support from the official MCP SDK
- Smaller container: Node.js Alpine image is ~50MB vs Python ~100MB+
- Native async/await: Clean promise-based HTTP requests
- Type safety: Full TypeScript types for better IDE support and error catching
- Simple dependencies: Only needs
@modelcontextprotocol/sdk(built-infetch)
Features
get_general_calendar- General Roman Calendar for any year (1970-9999)get_national_calendar- National calendars (IT, US, NL, VA, CA, etc.)get_diocesan_calendar- Diocesan calendars with local celebrationslist_available_calendars- Discover all available calendarsget_liturgical_events- All possible liturgical events
Architecture
This server follows a clean modular architecture with separation of concerns:

For detailed architecture documentation, see ARCHITECTURE.md.
Prerequisites
- Node.js 18+ (20+ recommended)
- Docker Desktop with MCP Toolkit (for Docker deployment)
- No authentication required
Installation
Option 1: Local Development
# Clone the repository
git clone https://github.com/CatholicOS/liturgical-calendar-mcp.git
cd liturgical-calendar-mcp
# Install dependencies
npm install
# Build TypeScript
npm run build
# Run the server
npm start
Option 2: Docker
# Build the Docker image
docker build -f Dockerfile.ts -t liturgical-calendar-mcp-ts:latest .
# Run with Docker
docker run -i liturgical-calendar-mcp-ts:latest
Configuration for MCP Clients
Claude Desktop Configuration
Add to your claude_desktop_config.json:
{
"mcpServers": {
"liturgical-calendar": {
"command": "node",
"args": ["/absolute/path/to/liturgical-calendar-mcp/build/index.js"]
}
}
}
Docker MCP Toolkit
Edit ~/.docker/mcp/catalogs/docker-mcp.yaml:
litcal-ts:
description: "Access Roman Catholic Liturgical Calendar data (TypeScript)"
title: "Liturgical Calendar (TS)"
type: server
dateAdded: "2025-10-22T00:00:00Z"
image: liturgical-calendar-mcp-ts:latest
tools:
- name: get_general_calendar
- name: get_national_calendar
- name: get_diocesan_calendar
- name: list_available_calendars
- name: get_liturgical_events
metadata:
category: integration
tags:
- catholic
- liturgy
- calendar
license: MIT
Development
# Watch mode for development
npm run watch
# Build for production
npm run build
# Run tests (if added)
npm test
Project Structure
.
├── src/
│ └── index.ts # Main MCP server implementation
├── build/ # Compiled JavaScript (generated)
├── package.json # Dependencies and scripts
├── tsconfig.json # TypeScript configuration
├── Dockerfile.ts # Docker build file
└── README-typescript.md # This file
Comparison with Python Version
| Feature | Python | TypeScript |
|---|---|---|
| Runtime size | ~100MB | ~50MB |
| Dependencies | 2 (mcp, httpx) | 1 (@modelcontextprotocol/sdk) |
| HTTP client | httpx (external) | fetch (built-in) |
| Type safety | Optional (mypy) | Built-in |
| Async model | asyncio | Promises/async-await |
| MCP SDK | FastMCP wrapper | Official SDK |
API Reference
get_general_calendar
{
year?: string, // 1970-9999 (default: current year)
locale?: string // en, es, it, fr, etc. (default: en)
}
get_national_calendar
{
nation: string, // IT, US, NL, VA, CA (required)
year?: string, // 1970-9999 (default: current year)
locale?: string // en, es, it, fr, etc. (default: en)
}
get_diocesan_calendar
{
diocese: string, // ROME-IT, BOSTON-US (required)
year?: string, // 1970-9999 (default: current year)
locale?: string // en, es, it, fr, etc. (default: en)
}
list_available_calendars
{
// No parameters required
}
Returns all available national and diocesan calendars with their locales.
get_liturgical_events
{
calendarType?: string, // "general", "national", or "diocesan" (default: general)
nation?: string, // Required if calendarType is "national"
diocese?: string // Required if calendarType is "diocesan"
}
Retrieves all possible liturgical events for a calendar type.
License
MIT
Credits
- Liturgical Calendar API by Rev. John R. D'Orazio
- MCP Protocol by Anthropic
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.