Skip to main content
Glama
2022124030jc

Date-MCP Server

by 2022124030jc
README.md
# Date-MCP 服务

一个基于Model Context Protocol (MCP)的日期时间处理服务,专注于处理东八区(中国)时间与时间戳的转换。

## 功能特点

- **获取当前日期**:返回东八区(中国)当前日期
- **时间戳转换**:将13位毫秒级时间戳转换为东八区日期时间
- **日期转时间戳**:将东八区日期时间字符串转换为13位毫秒级时间戳
- **问候资源**:提供简单的问候功能

## 系统要求

- Python >= 3.13
- 依赖包:mcp[cli] >= 1.9.1, pytz

## 安装说明

1. 克隆仓库

```bash
git clone <仓库地址>
cd date_mcp
```

2. 安装依赖

```bash
pip install -e .
```

或使用 uv 安装(推荐):

```bash
uv pip install -e .
```

## 使用方法

### 启动服务

```bash
python main.py
```

或使用 MCP CLI 工具:

```bash
mcp dev main.py
```

### 可用工具

1. **获取当前日期**

```python
# 工具名: get_date
# 返回格式: YYYY-MM-DD
response = await client.call_tool("get_date")
# 示例输出: "2024-05-28"
```

2. **时间戳转日期时间**

```python
# 工具名: timestamp_to_china_date
# 参数: millis_timestamp (int) - 13位毫秒级时间戳
response = await client.call_tool("timestamp_to_china_date", {"millis_timestamp": 1746773348432})
# 示例输出: "2025-05-09 12:35:48.432"
```

3. **日期时间转时间戳**

```python
# 工具名: china_date_to_timestamp
# 参数: date_str (str) - 东八区时间字符串
response = await client.call_tool("china_date_to_timestamp", {"date_str": "2025-05-09 12:35:48.432"})
# 示例输出: 1746773348432
```

### 可用资源

**问候资源**

```python
# 资源URI: greeting://{name}
# 参数: name (str) - 要问候的名称
response = await client.get_resource(f"greeting://World")
# 示例输出: "Hello, World!"
```

## 客户端示例

```python
from mcp.client import Client
from mcp.transport import StdioClientTransport

async def main():
    # 创建客户端
    transport = StdioClientTransport("python main.py")
    client = Client(transport)
    
    # 连接到服务器
    await client.connect()
    
    # 调用工具示例
    current_date = await client.call_tool("get_date")
    print(f"当前日期: {current_date}")
    
    # 时间戳转日期
    timestamp = 1746773348432
    date_time = await client.call_tool("timestamp_to_china_date", {"millis_timestamp": timestamp})
    print(f"时间戳 {timestamp} 对应的日期时间: {date_time}")
    
    # 日期转时间戳
    date_str = "2025-05-09 12:35:48.432"
    new_timestamp = await client.call_tool("china_date_to_timestamp", {"date_str": date_str})
    print(f"日期时间 {date_str} 对应的时间戳: {new_timestamp}")
    
    # 获取问候资源
    greeting = await client.get_resource("greeting://World")
    print(greeting)
    
    # 断开连接
    await client.disconnect()

if __name__ == "__main__":
    import asyncio
    asyncio.run(main())
```

## 许可证



## 贡献指南

欢迎提交问题和拉取请求,共同改进这个项目。