Time MCP Server
Enables time awareness functionality in Windsurf (Codeium's editor), providing tools for time-related operations including current time retrieval, timezone conversions, and date calculations.
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., "@Time MCP Serverwhat time is it in Tokyo right now?"
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.
🚀 Time MCP Server: Giving LLMs Time Awareness Capabilities
A Model Context Protocol (MCP) server implementation that allows LLMs to have time awareness capabilities.
Tools
current_time: Get current time (UTC and local time)relative_time: Get relative timeget_timestamp: Get timestamp for the timedays_in_month: Get days in monthconvert_time: Convert time between timezonesget_week_year: Get week and isoWeek of the year
Related MCP server: Time MCP Server
Installation
Installing via Smithery
To install time-mcp for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @yokingma/time-mcp --client claudeManually install (Optional)
npm install -g time-mcpusing npx
npx -y time-mcpRunning on Cursor
Your mcp.json file will look like this:
{
"mcpServers": {
"time-mcp": {
"command": "npx",
"args": ["-y", "time-mcp"]
}
}
}Running on Windsurf
Add this to your ./codeium/windsurf/model_config.json file:
{
"mcpServers": {
"time-mcp": {
"command": "npx",
"args": ["-y", "time-mcp"]
}
}
}License
MIT License - see LICENSE file for details.
Available Tools
6 toolsconvert_timeC
Convert time between timezones.
| Name | Required | Description | Default |
|---|---|---|---|
| sourceTimezone | Yes | The source timezone. IANA timezone name, e.g. Asia/Shanghai | |
| targetTimezone | Yes | The target timezone. IANA timezone name, e.g. Europe/London | |
| time | Yes | Date and time in 24-hour format. e.g. 2025-03-23 12:30:00 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states what the tool does but doesn't explain how it behaves—e.g., whether it handles daylight saving time, returns errors for invalid inputs, or supports specific time formats beyond the example. This leaves significant gaps in understanding the tool's operational traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without any fluff or redundancy. It is appropriately sized and front-loaded, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (timezone conversion with three parameters) and the absence of both annotations and an output schema, the description is insufficient. It doesn't cover behavioral aspects, error handling, or return values, leaving the agent with incomplete information to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, clearly documenting all three parameters with examples. The description adds no additional semantic information beyond what the schema provides, such as explaining parameter interactions or constraints. Since the schema does the heavy lifting, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'convert' and the resource 'time between timezones,' making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'current_time' or 'relative_time,' which also deal with time operations, leaving some ambiguity about when to choose this specific tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'current_time' or 'relative_time.' The description lacks context about use cases, prerequisites, or exclusions, leaving the agent to infer usage based solely on the tool name and parameters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
current_timeA
Get the current date and time.
| Name | Required | Description | Default |
|---|---|---|---|
| format | Yes | The format of the time, default is empty string | YYYY-MM-DD HH:mm:ss |
| timezone | No | The timezone of the time, IANA timezone name, e.g. Asia/Shanghai |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. While 'Get' suggests a read-only operation, it doesn't disclose behavioral traits like whether this tool requires authentication, has rate limits, returns real-time versus cached data, or handles errors. For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose with zero wasted words. It's appropriately sized for a simple tool and front-loaded with essential information, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (2 parameters, no output schema, no annotations), the description is minimally adequate but incomplete. It lacks context on return values (e.g., string format), error handling, or performance considerations, which would be helpful despite the simple nature of the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters well-documented in the schema (format with enum values and default, timezone with IANA format). The description adds no parameter semantics beyond what the schema provides, so it meets the baseline of 3 for high schema coverage without additional value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get the current date and time' clearly states the verb 'Get' and the resource 'current date and time', making the purpose specific and unambiguous. It distinguishes this tool from siblings like 'convert_time' or 'relative_time' by focusing on current time retrieval rather than conversion or relative calculations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for obtaining current time, but provides no explicit guidance on when to use this tool versus alternatives like 'get_timestamp' or 'relative_time'. Without context on differences between these tools, users must infer based on tool names alone, which is insufficient for clear decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
days_in_monthA
Get the number of days in a month. If no date is provided, get the number of days in the current month.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | The date to get the days in month. Format: YYYY-MM-DD |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It explains the default behavior (current month when no date given) but doesn't disclose error handling, format validation, timezone considerations, or what the return value looks like (just a number or structured response).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two clear, efficient sentences with zero waste. The first states the core purpose, the second explains the default behavior - perfectly front-loaded and appropriately sized for this simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple calculation tool with 1 parameter and 100% schema coverage, the description is adequate but has gaps. No output schema exists, so the description should ideally mention what gets returned (e.g., 'Returns an integer'). The behavioral context is minimal but sufficient for basic use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the single parameter completely. The description adds marginal value by explaining the default behavior when no date is provided, but doesn't add meaning beyond what the schema provides about the parameter itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific verb ('Get') and resource ('number of days in a month'), and distinguishes it from siblings by focusing on month-day calculation rather than time conversion, timestamp retrieval, or relative time operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context about when to use the tool ('If no date is provided, get the number of days in the current month'), but doesn't explicitly mention when not to use it or name alternatives among the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_timestampC
Get the timestamp for the time.
| Name | Required | Description | Default |
|---|---|---|---|
| time | No | The time to get the timestamp. Format: YYYY-MM-DD HH:mm:ss |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure but offers minimal information. It doesn't specify whether this is a pure function, what errors might occur (e.g., invalid format), what timezone is assumed, or what the output format is. The description mentions 'the timestamp' but doesn't define what that means operationally.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at just 6 words, which could be appropriate for a simple tool. However, this brevity comes at the cost of clarity - it's under-specified rather than efficiently informative. The single sentence is front-loaded but doesn't provide enough substance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations, no output schema, and 1 parameter, the description is incomplete. It doesn't explain what a 'timestamp' output looks like, what transformations occur, or how this differs from sibling tools. The agent lacks sufficient information to understand what this tool actually produces or when to use it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the single parameter 'time' documented as 'The time to get the timestamp' with format specification. The description adds no additional parameter semantics beyond what's in the schema. Since schema coverage is complete, the baseline score of 3 applies - adequate but no value added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get the timestamp for the time' is tautological - it essentially restates the tool name 'get_timestamp' without adding meaningful specificity. It doesn't explain what a 'timestamp' means in this context (e.g., Unix timestamp, ISO string, etc.) or what transformation occurs. While it mentions 'the time' as input, it doesn't clarify what the output represents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus its siblings like 'convert_time' or 'current_time'. The description doesn't indicate whether this is for parsing human-readable times, converting between formats, or generating timestamps from date strings. Without usage context, an agent must infer from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_week_yearC
Get the week and isoWeek of the year.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | The date to get the week and isoWeek of the year. e.g. 2025-03-23 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states what the tool does but doesn't describe how it behaves—e.g., whether it returns errors for invalid dates, what format the output is in, or if it has any side effects. This leaves significant gaps in understanding the tool's operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words. It's front-loaded with the core purpose and efficiently conveys the essential information without unnecessary details, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain the return values (e.g., what 'week' and 'isoWeek' mean or their format), which is crucial for a tool that outputs data. This gap makes it insufficient for full understanding, especially since no structured fields compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the 'date' parameter fully documented. The description doesn't add any meaning beyond the schema, such as explaining 'week' vs. 'isoWeek' or providing examples of output. Since the schema does the heavy lifting, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get the week and isoWeek of the year.' It specifies the verb ('Get') and the resource ('week and isoWeek of the year'), making it understandable. However, it doesn't explicitly differentiate from sibling tools like 'current_time' or 'get_timestamp', which might also involve date/time operations, so it doesn't reach the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any context, exclusions, or comparisons with sibling tools such as 'convert_time' or 'relative_time'. Without such information, users might struggle to choose the right tool for their needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
relative_timeC
Get the relative time from now.
| Name | Required | Description | Default |
|---|---|---|---|
| time | Yes | The time to get the relative time from now. Format: YYYY-MM-DD HH:mm:ss |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states what the tool does without detailing output format, error handling, or any constraints like rate limits. This is inadequate for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words, making it highly concise and front-loaded. It efficiently communicates the core function without unnecessary details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., a string like '2 days ago'), which is critical for understanding its behavior. This gap makes it insufficient for effective tool use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the parameter 'time' fully documented in the schema. The description adds no additional meaning beyond the schema, such as examples or edge cases, so it meets the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Get') and resource ('relative time from now'), making it understandable. However, it doesn't explicitly differentiate from sibling tools like 'convert_time' or 'get_timestamp', which might handle similar time-related operations, so it doesn't reach the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools or contexts where this tool is preferred, such as for human-readable time differences, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
6 tool updates
- First observed
convert_time - First observed
current_time - First observed
days_in_month - First observed
get_timestamp - First observed
get_week_year - First observed
relative_time
TDQS
Most tools have distinct purposes, such as time conversion, current time retrieval, and timestamp generation. However, 'get_week_year' and 'relative_time' could be slightly ambiguous in scope, as both relate to temporal positioning, but their descriptions clarify the differences well.
The tools follow a consistent verb_noun pattern (e.g., convert_time, current_time) with clear, descriptive names. There are minor deviations like 'days_in_month' using plural form, but overall, the naming is highly readable and predictable.
With 6 tools, the server is well-scoped for time-related operations, covering core functionalities like conversion, current time, and date calculations. Each tool earns its place without feeling excessive or insufficient for the domain.
The toolset covers basic time operations but has notable gaps, such as missing date arithmetic (e.g., add/subtract days), time formatting, or scheduling tasks. While agents can work around this for simple queries, more complex time manipulations are not supported.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
A real clock for AI agents: current time, timezone conversion, and DST facts from the IANA tzdb.
Current time, timezone conversion & date math for AI agents. On Cloudflare Workers.
Deterministic time tools for AI agents: timezone conversion, business-day math, cron interpretation.
Wall-clock awareness for LLM agents. Two tools: elapsed-time-between-turns + day rollover detection.
Related MCP Servers
- AlicenseBqualityDmaintenanceProvides time and timezone functionality for LLMs, enabling them to get current time information across different timezones and convert times between zones.2MIT
- AlicenseBqualityDmaintenanceProvides current time information and timezone conversion capabilities using IANA timezone names with automatic system detection. It enables LLMs to fetch local or global times and convert specific timestamps between different regions.22MIT
- AlicenseNot gradedqualityDmaintenanceProvides current time information and timezone conversion capabilities using IANA timezone names and automatic system detection. It enables LLMs to fetch current times across different regions and convert specific times between timezones.MIT
- AlicenseNot gradedqualityDmaintenanceProvides current time and timezone conversion using IANA timezone names, enabling LLMs to get system time or convert times between timezones.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ampcome-mcps/time-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server