Provides specialized helpers to calculate due dates for Asana tasks according to specific business rules, including handling weekend rollovers and standardizing task deadlines to 4:00 PM.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Date Operations MCP ServerWhat's the next working day after the August bank holiday?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Date Operations MCP Server
A Model Context Protocol (MCP) server providing reliable date calculations with UK context, specifically designed for James Murrell's BA workflow.
Features
Working Day Calculations: Automatically excludes weekends and UK bank holidays
UK Bank Holiday Integration: Fetches live data from GOV.UK API
Asana-Specific Helpers: Follows James's rules (next working day at 4 PM, Friday → Monday)
Sprint Planning Tools: Calculate sprint dates and current sprint information
UK Timezone: All dates handled in Europe/London timezone (GMT/BST)
Installation
# Clone or create the project directory
mkdir date-operations-mcp
cd date-operations-mcp
# Copy all the artifact files into the project:
# - package.json
# - tsconfig.json
# - src/index.ts
# - src/dateCalculations.ts
# - src/bankHolidays.ts
# - src/asanaHelpers.ts
# Install dependencies
npm install
# Build the project
npm run buildConfiguration for Claude Desktop
Add this to your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"date-operations": {
"command": "node",
"args": ["/absolute/path/to/date-operations-mcp/build/index.js"]
}
}
}Replace /absolute/path/to/date-operations-mcp with your actual project path.
Restart Claude Desktop
After updating the config file, restart Claude Desktop completely for the MCP server to load.
Available Tools
Basic Date Operations
get_today_uk
Get current date in UK timezone
No parameters required
get_next_working_day
Get next working day after a given date
Parameters:
from_date(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
UK Bank Holidays
is_uk_bank_holiday
Check if a date is a UK bank holiday
Parameters:
date
get_upcoming_bank_holidays
Get list of upcoming UK bank holidays
Parameters:
months_ahead(optional, default: 6)
Sprint Planning
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
Asana Helpers
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
Parameters:
request(e.g., "tomorrow", "in 5 days", "in 2 weeks")Returns appropriate Asana due date
Example Usage
Once configured, Claude will automatically use these tools when you ask date-related questions:
You: "What's 5 working days from today?"
Claude: [Uses calculate_working_days tool] That's Wednesday, October 29, 2025
You: "Create an Asana reminder for next week"
Claude: [Uses parse_asana_date_request tool] Setting due date to Monday, October 27, 2025 at 4:00 PM
You: "When do we finish the current sprint?"
Claude: [Uses get_current_sprint_info tool] Current sprint ends Friday, October 31, 2025Technical 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 (handles GMT/BST automatically)
Troubleshooting
Server not showing up in Claude:
Check the absolute path in your config file
Ensure
npm run buildcompleted successfullyRestart Claude Desktop completely
Check Claude Desktop logs for errors
Date calculations seem wrong:
Verify UK bank holiday API is accessible
Check your system timezone settings
Use
get_today_uktool to verify current date
Testing
You can test the server before integrating with Claude:
# Run the built server directly
node build/index.js
# It should output: "Date Operations MCP Server running on stdio"Notes
Bank holiday data is cached for 24 hours to reduce API calls
All dates use UK timezone (Europe/London) with automatic GMT/BST handling
Friday tasks automatically roll to Monday per James's Asana rules
Working days exclude weekends AND UK bank holidays
📚 Want to Build Tools Like This?
This tool was built using the process documented in "The Business Analyst's Guide to AI-Assisted Tool Development".
Learn how to:
Identify workflows worth automating
Work effectively with AI as a collaborator
Build production-ready tools without being a developer
Avoid common pitfalls and mistakes
£5 • Real code • Real examples • Real process
Get the guide: https://murrelljames.gumroad.com/l/pvfww
Repository: https://github.com/cs97jjm3/ba-ai-tools-guide
This server cannot be installed
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.