- Home
- MCP servers
- Date Operations
Date Operations
- typescript
0
GitHub Stars
typescript
Language
5 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"cs97jjm3-date-operations-mcp": {
"command": "node",
"args": [
"/absolute/path/to/date-operations-mcp/build/index.js"
]
}
}
}You have a Date Operations MCP Server that delivers reliable date calculations with a UK context, tailored for workflows that require working-day logic, UK bank holidays, and sprint planning in Europe/London time. It provides practical date utilities you can call from an MCP client to automate planning, scheduling, and Asana-style reminders while respecting UK business rules.
How to use
You will interact with a single MCP endpoint that exposes a set of date utilities. Use it from your MCP client to perform practical operations such as calculating working days, determining the next working day, checking UK bank holidays, and planning sprints. Utilities are designed to follow UK conventions (Europe/London timezone) and to apply James Murrell’s Asana rules when relevant (next working day at 4:00 PM, Friday → Monday). Use the available tools to integrate date logic into your workflows without implementing this logic from scratch.
Typical use patterns include asking for a date a certain number of working days from today, determining if a date is a bank holiday, or calculating the current sprint dates. All results are returned in the UK timezone, and working days exclude weekends and UK bank holidays.
How to install
Prerequisites you need before installing: Node.js and npm are installed on your system.
-
Create a project directory for the MCP server.
-
Install dependencies and build the project.
-
Run the built server to verify it starts correctly.
Configuration and runtime note
The MCP server is configured to run as a local, stdio-based server. You will start it via a node command pointing to the built entry file, which is referenced in the MCP config example.
{
"mcpServers": {
"date_operations": {
"command": "node",
"args": ["/absolute/path/to/date-operations-mcp/build/index.js"]
}
}
}
Troubleshooting
If the server does not load, verify that the absolute path in the command is correct and that the build step completed successfully.
Restart the hosting MCP client after updating the configuration so that the server can be loaded.
Testing
To verify the server runs, start the built entry point and check for a running message in the console, such as the server initializing correctly.
Notes
-
The server uses the Europe/London timezone and handles GMT/BST automatically.
-
UK bank holiday data is cached to minimize API usage, with live data fetched from GOV.UK.
-
Friday tasks roll to Monday per Asana-style rules, and working days exclude weekends and UK holidays.
Technical details
-
Language: TypeScript
-
Runtime: Node.js
-
Date library: date-fns with timezone support
-
UK holidays: GOV.UK official API (cached for 24 hours)
-
Timezone: Europe/London (GMT/BST handled automatically)
Security and access
Access to the MCP server is controlled by the host environment where the stdio-based server runs. No external network exposure is implied in the provided configuration snippet.
Available tools
get_today_uk
Get current date in UK timezone; no parameters.
get_next_working_day
Get the next working day after a given date; parameters: from_date in ISO format or 'today'.
calculate_working_days
Add or subtract working days from a date; parameters: start_date, num_days, direction (forward/backward).
get_working_days_between
Count working days between two dates; parameters: start_date, end_date.
is_uk_bank_holiday
Check if a date is a UK bank holiday; parameters: date.
get_upcoming_bank_holidays
Get a list of upcoming UK bank holidays; parameters: months_ahead (optional, default 6).
calculate_sprint_dates
Calculate sprint start and end dates; parameters: start_date, sprint_length_weeks.
get_current_sprint_info
Get current sprint number and remaining days; parameters: first_sprint_start, sprint_length_weeks.
get_asana_due_date
Get Asana due date following James's rules; parameters: from_date (optional, defaults to today). Returns next working day at 4:00 PM (Friday → Monday).
parse_asana_date_request
Parse natural language requests for due dates; parameters: request (e.g., 'tomorrow', 'in 5 days', 'in 2 weeks').