Time MCP Server
# Time MCP Server
> **基于官方MCP项目修改**
> 原作者:Mariusz 'maledorak' Korzekwa
> 原仓库:[modelcontextprotocol/servers](https://github.com/modelcontextprotocol/servers)
> 原项目路径:src/time
A Model Context Protocol server that provides time capabilities. This server enables LLMs to get current time information using IANA timezone names, with automatic system timezone detection.
**注意**: 此版本已移除时区转换功能,仅保留获取当前时间功能。
### Available Tools
- `get_current_time` - Get current time in a specific timezone or system timezone.
- Required arguments:
- `timezone` (string): IANA timezone name (e.g., 'America/New_York', 'Europe/London')
## Installation
### Using uv (recommended)
When using [`uv`](https://docs.astral.sh/uv/) no specific installation is needed. We will
use [`uvx`](https://docs.astral.sh/uv/guides/tools/) to directly run *mcp-server-time*.
### Using PIP
Alternatively you can install `mcp-server-time` via pip:
```bash
pip install mcp-server-time
```
After installation, you can run it as a script using:
```bash
python -m mcp_server_time
```
### Using Docker with SSE Support
Build and run with mcp-proxy for HTTP/SSE access:
```bash
# Build the SSE-enabled Docker image
docker build -f Dockerfile.sse -t mcp-time-sse .
# Run the container (accessible via HTTP on port 8999)
docker run -p 8999:8999 mcp-time-sse
```
## Configuration
### Configure for Claude.app
Add to your Claude settings:
<details>
<summary>Using uvx</summary>
```json
{
"mcpServers": {
"time": {
"command": "uvx",
"args": ["mcp-server-time", "--local-timezone", "Asia/Shanghai"]
}
}
}
```
</details>
<details>
<summary>Using uv with local directory</summary>
```json
{
"mcpServers": {
"time": {
"command": "uv",
"args": [
"run",
"--directory",
"D:/WorkSpace/demo/servers/src/time",
"mcp-server-time",
"--local-timezone",
"Asia/Shanghai"
]
}
}
}
```
</details>
<details>
<summary>Using docker</summary>
```json
{
"mcpServers": {
"time": {
"command": "docker",
"args": ["run", "-i", "--rm", "mcp/time"]
}
}
}
```
</details>
<details>
<summary>Using pip installation</summary>
```json
{
"mcpServers": {
"time": {
"command": "python",
"args": ["-m", "mcp_server_time", "--local-timezone", "Asia/Shanghai"]
}
}
}
```
</details>
### Configure for Zed
Add to your Zed settings.json:
<details>
<summary>Using uvx</summary>
```json
"context_servers": [
"mcp-server-time": {
"command": "uvx",
"args": ["mcp-server-time", "--local-timezone", "Asia/Shanghai"]
}
],
```
</details>
<details>
<summary>Using pip installation</summary>
```json
"context_servers": {
"mcp-server-time": {
"command": "python",
"args": ["-m", "mcp_server_time", "--local-timezone", "Asia/Shanghai"]
}
},
```
</details>
### Configure for VS Code
For quick installation, use one of the one-click install buttons below...
[](https://insiders.vscode.dev/redirect/mcp/install?name=time&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22mcp-server-time%22%5D%7D) [](https://insiders.vscode.dev/redirect/mcp/install?name=time&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22mcp-server-time%22%5D%7D&quality=insiders)
[](https://insiders.vscode.dev/redirect/mcp/install?name=time&config=%7B%22command%22%3A%22docker%22%2C%22args%22%3A%5B%22run%22%2C%22-i%22%2C%22--rm%22%2C%22mcp%2Ftime%22%5D%7D) [](https://insiders.vscode.dev/redirect/mcp/install?name=time&config=%7B%22command%22%3A%22docker%22%2C%22args%22%3A%5B%22run%22%2C%22-i%22%2C%22--rm%22%2C%22mcp%2Ftime%22%5D%7D&quality=insiders)
For manual installation, add the following JSON block to your User Settings (JSON) file in VS Code. You can do this by pressing `Ctrl + Shift + P` and typing `Preferences: Open User Settings (JSON)`.
Optionally, you can add it to a file called `.vscode/mcp.json` in your workspace. This will allow you to share the configuration with others.
> Note that the `mcp` key is needed when using the `mcp.json` file.
<details>
<summary>Using uvx</summary>
```json
{
"mcp": {
"servers": {
"time": {
"command": "uvx",
"args": ["mcp-server-time", "--local-timezone", "Asia/Shanghai"]
}
}
}
}
```
</details>
<details>
<summary>Using Docker</summary>
```json
{
"mcp": {
"servers": {
"time": {
"command": "docker",
"args": ["run", "-i", "--rm", "mcp/time"]
}
}
}
}
```
</details>
### Customization - System Timezone
By default, the server automatically detects your system's timezone. You can override this by adding the argument `--local-timezone` to the `args` list in the configuration.
Example:
```json
{
"command": "python",
"args": ["-m", "mcp_server_time", "--local-timezone=Asia/Shanghai"]
}
```
## Example Interactions
1. Get current time:
```json
{
"name": "get_current_time",
"arguments": {
"timezone": "Asia/Shanghai"
}
}
```
Response:
```json
{
"timezone": "Asia/Shanghai",
"datetime": "2024-01-01T20:00:00+08:00",
"is_dst": false
}
```
## Debugging
You can use the MCP inspector to debug the server. For uvx installations:
```bash
npx @modelcontextprotocol/inspector uvx mcp-server-time
```
Or if you've installed the package in a specific directory or are developing on it:
```bash
cd path/to/servers/src/time
npx @modelcontextprotocol/inspector uv run mcp-server-time
```
## Examples of Questions for Claude
1. "What time is it now?" (will use system timezone)
2. "What time is it in Tokyo?"
3. "What time is it in New York?"
4. "Get the current time in London"
## Build
Docker build:
```bash
cd src/time
docker build -t mcp/time .
```
Docker build with SSE support:
```bash
cd time
docker build -f Dockerfile.sse -t mcp-time-sse .
```
## Contributing
We encourage contributions to help expand and improve mcp-server-time. Whether you want to add new time-related tools, enhance existing functionality, or improve documentation, your input is valuable.
For examples of other MCP servers and implementation patterns, see:
https://github.com/modelcontextprotocol/servers
Pull requests are welcome! Feel free to contribute new ideas, bug fixes, or enhancements to make mcp-server-time even more powerful and useful.
## License
mcp-server-time is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.
TDQS
Scored across 1 tool
With only one tool, there is no possibility of ambiguity or overlap between tools. The single tool has a clear, distinct purpose that cannot be confused with any other tool in the set.
A single tool inherently has perfect naming consistency, as there are no other tools to compare it against. The tool name 'get_current_time' follows a clear verb_noun pattern, but consistency cannot be assessed across a set of one.
A single tool for a time server is too few for the apparent scope, as time-related operations typically include more functionality (e.g., time conversion, scheduling, or date calculations). This minimal set feels thin and underdeveloped for the domain.
The tool set is severely incomplete for a time server, covering only current time retrieval in specific timezones. Obvious gaps include time conversion between zones, date arithmetic, scheduling, or historical time data, which agents would need for common time-related tasks.