MCP server for parsing Chinese fuzzy time expressions to standard datetime formats
Project description
MCP Chinese Time
A Model Context Protocol (MCP) server for parsing Chinese fuzzy time expressions to standard datetime formats.
Features
- Relative Time: 昨天, 今天, 明天, 三天前, 两周后
- Time Ranges: 昨天到今天, 上周一到周五
- Time of Day: 上午9点, 下午3点30分, 晚上8点
- Holidays: Both solar (国庆节, 劳动节) and lunar (春节, 中秋节, 端午节)
- Specific Dates: 2024年1月1日, 1月15号
- Weekdays: 周一, 上周三, 下周五
- Chinese Numbers: Supports both Arabic (3) and Chinese (三) numerals
Installation
Using pip
pip install mcp-chinese-time
Using uvx (recommended for MCP)
uvx mcp-chinese-time
Usage
As an MCP Server
Claude Desktop Configuration
Add to your claude_desktop_config.json:
{
"mcpServers": {
"chinese-time": {
"command": "uvx",
"args": ["mcp-chinese-time"]
}
}
}
VS Code Configuration
Add to your VS Code settings or .vscode/settings.json:
{
"mcp": {
"servers": {
"chinese-time": {
"command": "uvx",
"args": ["mcp-chinese-time"]
}
}
}
}
With pip installation
{
"mcpServers": {
"chinese-time": {
"command": "mcp-chinese-time"
}
}
}
As a Python Library
from mcp_chinese_time import FuzzyTimeParser
parser = FuzzyTimeParser(timezone="Asia/Shanghai")
# Parse relative time
result = parser.parse("昨天")
print(result.value) # "2024-01-14"
# Parse time range
result = parser.parse("上周一到周五")
print(result.value) # ["2024-01-08", "2024-01-12"]
print(result.is_range) # True
# Parse holiday
result = parser.parse("国庆节期间")
print(result.value) # ["2024-10-01", "2024-10-07"]
# Parse time of day
result = parser.parse("下午3点30分")
print(result.value) # "2024-01-15 15:30:00"
print(result.is_date_only) # False
# Parse lunar holiday (requires zhdate)
result = parser.parse("中秋节")
print(result.value) # "2024-09-17"
Running the Server Directly
# Using the installed command
mcp-chinese-time
# Or using Python module
python -m mcp_chinese_time
API Reference
Tool: parse_time
Parse fuzzy Chinese time expressions to standard datetime format.
Parameters:
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
expression |
string | Yes | - | Fuzzy time expression in Chinese |
timezone |
string | No | "Asia/Shanghai" | Timezone for parsing |
Returns:
{
"success": true,
"parsed": {
"value": "2024-01-15",
"is_range": false,
"is_date_only": true,
"original_expression": "今天",
"confidence": 1.0
},
"error": null
}
For time ranges:
{
"success": true,
"parsed": {
"value": ["2024-10-01", "2024-10-07"],
"is_range": true,
"is_date_only": true,
"original_expression": "国庆节期间",
"confidence": 0.95
},
"error": null
}
Supported Expressions
Relative Days
| Expression | Description |
|---|---|
| 今天, 今日 | Today |
| 昨天, 昨日 | Yesterday |
| 前天, 前日 | Day before yesterday |
| 大前天 | 3 days ago |
| 明天, 明日 | Tomorrow |
| 后天, 后日 | Day after tomorrow |
| 大后天 | 3 days from now |
| N天前 | N days ago |
| N天后 | N days from now |
Relative Weeks
| Expression | Description |
|---|---|
| 本周, 这周 | This week |
| 上周, 上一周 | Last week |
| 上上周 | 2 weeks ago |
| 下周, 下一周 | Next week |
| 下下周 | 2 weeks from now |
| N周前 | N weeks ago |
| N周后 | N weeks from now |
Relative Months
| Expression | Description |
|---|---|
| 本月, 这个月 | This month |
| 上个月, 上月 | Last month |
| 下个月, 下月 | Next month |
| N个月前 | N months ago |
| N个月后 | N months from now |
Weekdays
| Expression | Description |
|---|---|
| 周一 ~ 周日 | Weekday (this week) |
| 星期一 ~ 星期日 | Weekday (this week) |
| 上周X | Last week's weekday |
| 下周X | Next week's weekday |
Time of Day
| Expression | Description |
|---|---|
| 上午X点 | X AM |
| 下午X点 | X PM |
| 晚上X点 | X PM (evening) |
| X点Y分 | X:Y |
Solar Holidays
| Expression | Date |
|---|---|
| 元旦 | Jan 1 |
| 情人节 | Feb 14 |
| 劳动节, 五一 | May 1-5 |
| 儿童节 | Jun 1 |
| 国庆, 国庆节 | Oct 1-7 |
| 圣诞, 圣诞节 | Dec 25 |
| 清明, 清明节 | Apr 4-5 |
Lunar Holidays
| Expression | Lunar Date |
|---|---|
| 春节, 过年 | 1st month, 1st day |
| 除夕, 年三十 | 12th month, 30th day |
| 元宵, 元宵节 | 1st month, 15th day |
| 端午, 端午节 | 5th month, 5th day |
| 七夕, 七夕节 | 7th month, 7th day |
| 中秋, 中秋节 | 8th month, 15th day |
| 重阳, 重阳节 | 9th month, 9th day |
Development
Setup
# Clone the repository
git clone https://github.com/wyl116/mcp-chinese-time.git
cd mcp-chinese-time
# Install development dependencies
pip install -e ".[dev]"
Running Tests
pytest tests/ -v
Code Quality
ruff check src/ tests/
ruff format src/ tests/
License
MIT License - see LICENSE for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Acknowledgments
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_chinese_time-1.0.0.tar.gz.
File metadata
- Download URL: mcp_chinese_time-1.0.0.tar.gz
- Upload date:
- Size: 16.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d62751fa7ab53cf87fb356147f3843443ab3bdcd49ca9aafeb83975746cef7e2
|
|
| MD5 |
df1bdc7bb3bd47ccb2fc3edccf9edc19
|
|
| BLAKE2b-256 |
9e17eabbca92c470694c906c7596b7b3ec6d7a57d5383c971750c945ee470fda
|
Provenance
The following attestation bundles were made for mcp_chinese_time-1.0.0.tar.gz:
Publisher:
publish.yml on wyl116/mcp-chinese-time
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mcp_chinese_time-1.0.0.tar.gz -
Subject digest:
d62751fa7ab53cf87fb356147f3843443ab3bdcd49ca9aafeb83975746cef7e2 - Sigstore transparency entry: 1049972117
- Sigstore integration time:
-
Permalink:
wyl116/mcp-chinese-time@d6ea8c91bbbe65a2796f1345092215a2e4f0b768 -
Branch / Tag:
refs/tags/0.5.0 - Owner: https://github.com/wyl116
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d6ea8c91bbbe65a2796f1345092215a2e4f0b768 -
Trigger Event:
release
-
Statement type:
File details
Details for the file mcp_chinese_time-1.0.0-py3-none-any.whl.
File metadata
- Download URL: mcp_chinese_time-1.0.0-py3-none-any.whl
- Upload date:
- Size: 13.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3f868ec59e927f938984203b2089de90c15f8a4d3aacb7e0f0ceb4a0bf15ad30
|
|
| MD5 |
a595f39d6974ed0758bf6005bb9fbb38
|
|
| BLAKE2b-256 |
db51485e7ddd2dd5616294ce2563eac4b67f3273bddb124f5c4f742eebd8fa9f
|
Provenance
The following attestation bundles were made for mcp_chinese_time-1.0.0-py3-none-any.whl:
Publisher:
publish.yml on wyl116/mcp-chinese-time
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mcp_chinese_time-1.0.0-py3-none-any.whl -
Subject digest:
3f868ec59e927f938984203b2089de90c15f8a4d3aacb7e0f0ceb4a0bf15ad30 - Sigstore transparency entry: 1049972120
- Sigstore integration time:
-
Permalink:
wyl116/mcp-chinese-time@d6ea8c91bbbe65a2796f1345092215a2e4f0b768 -
Branch / Tag:
refs/tags/0.5.0 - Owner: https://github.com/wyl116
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d6ea8c91bbbe65a2796f1345092215a2e4f0b768 -
Trigger Event:
release
-
Statement type: