mcp-time
Server Details
Time MCP server via HTTP
- Status
- Healthy
- Uptime
- 7.3% over 61 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- mcpcentral-io/mcp-time
- GitHub Stars
- 2
- Server Listing
- MCP Time Server
TDQS
Scored across 6 tools
Each tool targets a distinct operation: timezone conversion, current time, calendar lookup, timestamp conversion, week numbering, and relative time. There is minor conceptual overlap around 'now' (current_time, relative_time) and time conversion (convert_time, get_timestamp), but descriptions make boundaries clear enough.
Names mix verb_noun forms (convert_time, get_timestamp, get_week_year) with bare noun phrases (current_time, relative_time, days_in_month). Still readable and mostly snake_case, but no single predictable pattern across the set.
Six tools is well-scoped for a focused time utility server, and each tool earns its place by covering a distinct time operation.
Core time operations are covered (conversion, current time, relative time, calendar facts). Minor gaps exist: timestamp conversion is one-directional (no timestamp-to-datetime) and there is no date arithmetic (add/subtract durations).
Available Tools
6 toolsconvert_timeConvert TimezoneARead-onlyIdempotentInspect
Converts a time from a source IANA timezone to a target IANA timezone.
| Name | Required | Description | Default |
|---|---|---|---|
| time | Yes | The time to convert (e.g., "2025-03-23 12:30:00") | |
| sourceTimezone | Yes | Source IANA timezone name (e.g., "Asia/Shanghai") | |
| targetTimezone | Yes | Target IANA timezone name (e.g., "Europe/London") |
Output Schema
| Name | Required | Description |
|---|---|---|
| convertedTime | Yes | |
| hourDifference | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds the IANA timezone detail, which is useful. However, it does not disclose edge-case behaviors (e.g., invalid timezones, DST handling) beyond what the schema and annotations provide. With annotations present, a score of 3 is appropriate.
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, well-structured sentence with no redundant information. Every word contributes to the meaning, and it is front-loaded with the core operation.
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 simplicity, the presence of a complete output schema, and thorough annotations, the description is sufficiently complete. It correctly identifies the operation without needing to cover return values or error cases, which are handled elsewhere.
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 coverage is 100% — every parameter has a description with examples. The description adds no additional parameter semantics beyond what the schema already provides, so the baseline of 3 applies.
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 explicitly states the tool's verb ('converts'), resource ('a time'), and scope ('from a source IANA timezone to a target IANA timezone'). It clearly distinguishes this from sibling tools like current_time or relative_time, which serve different time-related purposes.
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 a clear usage context: use this tool when you need to convert a time between two IANA timezones. It does not explicitly mention alternatives or exclusions, but the clarity of the purpose makes it easy for an agent to select the tool appropriately. A slight deduction for lacking explicit contrast with sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
current_timeGet Current TimeBRead-onlyIdempotentInspect
Returns the current time in UTC and a specified or guessed IANA timezone.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Format for the returned time string (default YYYY-MM-DD HH:mm:ss) | |
| timezone | No | IANA timezone name (e.g., "America/New_York"). Defaults to the server's guessed timezone |
Output Schema
| Name | Required | Description |
|---|---|---|
| utcTime | Yes | |
| timezone | Yes | |
| localTime | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations (readOnlyHint=true, idempotentHint=true) already disclose safety and side-effect profiles. The description adds context that the time is returned in UTC and the IANA timezone can be specified or guessed. However, it does not elaborate on behavior such as error handling, default format, or the fact that repeated calls yield different times, leaving some transparency gaps.
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 concise sentence that immediately states the tool's core function. It is front-loaded and contains no filler or redundant information.
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?
The tool is simple, and the output schema likely covers return values, but the description lacks usage guidance and sibling differentiation. The absence of any mention of alternatives like get_timestamp creates a completeness gap, though the tool itself is well-scoped.
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 both parameters. The description adds little beyond the schema, only weakly referencing the timezone parameter ('specified or guessed'). It does not enrich the meaning of the 'format' parameter, so baseline 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 that the tool returns the current time in UTC and an IANA timezone. It uses a specific verb ('Returns') and identifies the resource ('current time'). However, it does not explicitly distinguish itself from sibling tools like get_timestamp, which might also return the current time in a different format.
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 only states what it does, without mentioning exclusions, prerequisites, or sibling tools. For example, an agent may not know whether to choose current_time or get_timestamp for a given task.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
days_in_monthGet Days in MonthARead-onlyIdempotentInspect
Returns the number of days in the month of a given date.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | The date to check (format: YYYY-MM-DD). Defaults to current date |
Output Schema
| Name | Required | Description |
|---|---|---|
| days | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and idempotent behavior, so the agent knows it is safe. The description adds no additional behavioral details such as leap-year handling or timezone dependence, but it also introduces no contradictions.
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, focused sentence that gets straight to the point with no unnecessary words.
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?
The tool is simple with one optional parameter, strong annotations, and an output schema. The description adequately identifies the purpose while the schema handles parameter details; no critical information appears missing.
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 description does not mention the 'date' parameter; however, the input schema fully covers it with format and default value. With 100% schema coverage, the description need not add parameter semantics.
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 action (returns) and the resource (number of days in a month for a given date). This distinguishes it from sibling tools like relative_time or get_timestamp, which serve different time/date purposes.
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 gives no explicit guidance on when to choose this tool over alternatives (e.g., current_time or convert_time). Usage is implied by the function—needing days in a month—but no alternatives or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_timestampGet Unix TimestampARead-onlyIdempotentInspect
Converts a date-time string to a Unix timestamp in milliseconds.
| Name | Required | Description | Default |
|---|---|---|---|
| time | No | The time to convert (format: YYYY-MM-DD HH:mm:ss). Defaults to current time |
Output Schema
| Name | Required | Description |
|---|---|---|
| timestamp | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, and the description aligns by describing a pure conversion operation. It adds useful context about the output unit (milliseconds) and input format, going beyond the annotations.
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, front-loaded sentence with no unnecessary words. It conveys the essential information efficiently.
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?
The tool is simple with one optional parameter, full schema coverage, an output schema, and annotations covering safety. The description, combined with structured data, fully specifies behavior without missing critical details.
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 provides complete documentation for the sole parameter 'time', including format and default behavior. The tool description adds no additional parameter semantics beyond what the schema already covers, so the baseline of 3 applies.
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 states a specific verb 'converts' and resource 'date-time string to a Unix timestamp in milliseconds', clearly distinguishing it from sibling tools like current_time (retrieves current time) and relative_time (calculates relative times).
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 clearly implies use for converting date-time strings to Unix timestamps, but does not explicitly mention when to avoid this tool or name alternatives such as convert_time. This is clear context without exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_week_yearGet Week of YearARead-onlyIdempotentInspect
Returns the week number and ISO week number for a given date.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | The date to check (e.g., "2025-03-23"). Defaults to current date |
Output Schema
| Name | Required | Description |
|---|---|---|
| week | Yes | |
| isoWeek | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare read-only and idempotent behavior, and the description adds clarity that both the standard week number and ISO week number are returned. No destructive side effects or auth requirements apply. The description doesn't discuss edge cases like invalid dates, but given the simplicity, this is acceptable.
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 sentence, directly states the core functionality, and avoids redundant content. It is front-loaded and efficient.
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 tool with one optional parameter and an output schema, the description is adequate. It explains what is returned and the input is given via schema. However, it could mention the default date behavior in the description itself, but schema covers it, so minor gap.
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 schema fully documents the single parameter 'date' with an example and default. The description adds no additional parameter semantics beyond saying 'for a given date', which is already evident. Baseline 3 applies.
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 returns week number and ISO week number for a given date. This is specific and distinct from sibling tools like current_time or convert_time. The verb 'Returns' is functionally clear.
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 explicit guidance on when to use this tool versus alternatives is provided. The description implies usage via its statement, but there is no mention of when to choose this over relative_time or get_timestamp. Score 3 due to implied usage only.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
relative_timeGet Relative TimeARead-onlyIdempotentInspect
Calculates the relative time from now to a given date-time string.
| Name | Required | Description | Default |
|---|---|---|---|
| time | Yes | The time to compare (format: YYYY-MM-DD HH:mm:ss) |
Output Schema
| Name | Required | Description |
|---|---|---|
| relativeTime | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint: true, idempotentHint: true) already disclose the safe read-only behavior. The description adds that it computes relative time from now, but it does not provide deeper behavioral context such as timezone handling, date parsing details, or the exact nature of the output. This is adequate but not rich.
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, concise sentence that is front-loaded with the action and resource. It wastes no words and is appropriately sized for a 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 one-parameter tool with an output schema present, the description is sufficient. It explains the core function and the input format. It does not add extra contextual details like result examples or edge cases, but these are not needed given the simplicity and output schema.
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% coverage with a clear description of the 'time' parameter including format. The description does not add meaning beyond the schema, which already fully documents the parameter. Baseline 3 is appropriate when the schema handles parameter semantics.
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 function: 'Calculates the relative time from now to a given date-time string.' The verb 'calculates' and the resource 'relative time' are specific, and this tool is distinguishable from siblings like current_time or get_timestamp by focusing on relative time.
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 when to use the tool (when you need relative time from now to a given date), but it does not explicitly contrast with alternatives or provide exclusions. The tool's purpose alone suggests usage, but there is no direct 'use this when...' or mention of sibling tools.
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.
6 tool updates
- Changed
convert_time7 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / sourceTimezone / descriptionPrevious value: -"The source IANA timezone name (e.g., \"Asia/Shanghai\")."New value: +"Source IANA timezone name (e.g., \"Asia/Shanghai\")" - changed
Input schema / properties / targetTimezone / descriptionPrevious value: -"The target IANA timezone name (e.g., \"Europe/London\")."New value: +"Target IANA timezone name (e.g., \"Europe/London\")" - changed
Input schema / properties / time / descriptionPrevious value: -"The time to convert. e.g., \"2025-03-23 12:30:00\"."New value: +"The time to convert (e.g., \"2025-03-23 12:30:00\")" - changed
Input schema / requiredPrevious value: -[ - "sourceTimezone", - "targetTimezone", - "time" -]New value: +[ + "time", + "sourceTimezone", + "targetTimezone" +] - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "convertedTime": { + "type": "string" + }, + "hourDifference": { + "type": "number" + } + }, + "required": [ + "convertedTime", + "hourDifference" + ], + "type": "object" +}
- Changed
current_time6 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false - removed
Input schema / properties / format / defaultRemoved value: -"YYYY-MM-DD HH:mm:ss" - changed
Input schema / properties / format / descriptionPrevious value: -"The format for the returned time string."New value: +"Format for the returned time string (default YYYY-MM-DD HH:mm:ss)" - changed
Input schema / properties / timezone / descriptionPrevious value: -"The IANA timezone name (e.g., \"America/New_York\"). Defaults to the server's guessed timezone."New value: +"IANA timezone name (e.g., \"America/New_York\"). Defaults to the server's guessed timezone" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "localTime": { + "type": "string" + }, + "timezone": { + "type": "string" + }, + "utcTime": { + "type": "string" + } + }, + "required": [ + "utcTime", + "localTime", + "timezone" + ], + "type": "object" +}
- Changed
days_in_month4 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / date / descriptionPrevious value: -"The date to check. Format: YYYY-MM-DD"New value: +"The date to check (format: YYYY-MM-DD). Defaults to current date" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "days": { + "type": "integer" + } + }, + "required": [ + "days" + ], + "type": "object" +}
- Changed
get_timestamp4 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / time / descriptionPrevious value: -"The time to convert. Format: YYYY-MM-DD HH:mm:ss"New value: +"The time to convert (format: YYYY-MM-DD HH:mm:ss). Defaults to current time" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "timestamp": { + "type": "number" + } + }, + "required": [ + "timestamp" + ], + "type": "object" +}
- Changed
get_week_year4 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / date / descriptionPrevious value: -"The date to check. e.g., \"2025-03-23\""New value: +"The date to check (e.g., \"2025-03-23\"). Defaults to current date" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "isoWeek": { + "type": "integer" + }, + "week": { + "type": "integer" + } + }, + "required": [ + "week", + "isoWeek" + ], + "type": "object" +}
- Changed
relative_time4 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / time / descriptionPrevious value: -"The time to compare. Format: YYYY-MM-DD HH:mm:ss"New value: +"The time to compare (format: YYYY-MM-DD HH:mm:ss)" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "relativeTime": { + "type": "string" + } + }, + "required": [ + "relativeTime" + ], + "type": "object" +}
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
Related MCP Connectors
timesheet.io MCP server - manage timers, projects, tasks and reports
MCP server providing attendance data queries via the CloudTime API.
Timezone MCP — wraps timeapi.io (free, no auth)
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceMCP server providing time retrieval and echo tools, running as an independent network process over Streamable HTTP.-
- AlicenseAqualityCmaintenanceAn MCP server that allows checking local time on the client machine or current UTC time from an NTP server230 PyPI34MIT
- AlicenseBqualityDmaintenanceA lightweight mcp server that tells you exactly what time is it based on your IP.19MIT
- FlicenseNot gradedqualityDmaintenanceA minimal MCP server that provides current time information with configurable timezone support set on the client side.-
Glama MCP Gateway
Add one secure layer between your agents and this server.