Information
DateTime MCP 服务器
一个提供日期时间功能以及简单笔记管理功能的 MCP(Model Completions Protocol)服务器。
概述
该服务器实现了 MCP 协议,并提供了各种与日期时间相关的工具和资源,包括:
不同格式的当前日期和时间
日期格式化工具
事件安排提示
简单的笔记管理功能
任何 MCP 客户端都可以使用该服务器来访问日期和时间信息并管理简单的笔记。
特性
资源
该服务器提供以下资源:
datetime://current - 当前日期和时间
datetime://today - ISO 格式的今天日期
datetime://time - 24小时制的当前时间
note://internal/\{name\} - 用户创建的笔记
工具
该服务器提供以下工具:
add-note - 添加带有名称和内容的新笔记
get-current-time - 获取当前时间的不同格式(ISO、可读、Unix 时间戳、RFC3339)
format-date - 根据指定的格式模式格式化日期字符串
提示
该服务器提供以下提示:
summarize-notes - 创建所有笔记的摘要
schedule-event - 帮助在特定时间安排事件
安装
克隆仓库:
git clone https://github.com/bossjones/datetime-mcp-server.git
cd datetime-mcp-server
创建虚拟环境:
uv venv
source .venv/bin/activate
安装依赖项:
uv sync
使用
运行服务器
要运行服务器:
uv run python -m datetime_mcp_server.server
服务器将启动并通过 stdin/stdout 监听 MCP 协议消息。
连接到服务器
您可以使用任何 MCP 客户端连接到服务器。例如,使用 MCP CLI:
uv run mcp connect datetime-mcp-server
开发
安装开发依赖项
# Install all dependencies including development dependencies
uv sync --dev
运行测试
要运行测试:
uv run pytest tests/
单元测试
单元测试验证单独的服务器函数是否正确工作:
uv run pytest tests/acceptance/test_server.py
集成测试
集成测试验证服务器是否正确实现了 MCP 协议:
uv run pytest tests/acceptance/test_server_integration.py
依赖项管理
# Add a production dependency
uv add package_name
# Add a development dependency
uv add --dev package_name
# Sync dependencies from lockfile
uv sync --frozen
# List outdated packages
uv outdated
示例
使用 MCP CLI 与服务器交互
列出可用资源:
uv run mcp resources list
读取 datetime 资源:
uv run mcp resources read datetime://current
添加笔记:
uv run mcp tools call add-note --arguments '\{"name": "meeting", "content": "Team meeting at 3pm"\}'
以 ISO 格式获取当前时间:
uv run mcp tools call get-current-time --arguments '\{"format": "iso"\}'
格式化日期:
uv run mcp tools call format-date --arguments '\{"date": "2023-10-15", "format": "%B %d, %Y"\}'
Makefile 任务
项目包含几个 Makefile 任务以简化开发:
# Sync all dependencies with frozen lockfile
make uv-sync-all
# Sync only development dependencies
make uv-sync-dev
# Run tests
make test
构建和发布
准备包进行分发:
同步依赖项并更新锁文件:
uv sync
构建包分发:
uv build
这将在 dist/ 目录中创建源码和 wheel 分发包。
发布到 PyPI:
uv publish
注意:您需要通过环境变量或命令标志设置 PyPI 凭证:
Token: --token 或 UV_PUBLISH_TOKEN
或用户名/密码: --username/UV_PUBLISH_USERNAME 和 --password/UV_PUBLISH_PASSWORD
调试
由于MCP服务器通过stdio运行,调试可能会很困难。为了获得最佳的调试体验,我们强烈建议使用MCP Inspector。
你可以通过npm使用以下命令启动MCP Inspector:
npx @modelcontextprotocol/inspector uv --directory /Users/malcolm/dev/bossjones/datetime-mcp-server run datetime-mcp-server
启动后,Inspector将显示一个URL,你可以在浏览器中访问该URL以开始调试。
许可证
MIT
贡献指南
叉分仓库
创建一个特性分支
进行你的修改
使用uv run pytest运行测试
提交一个拉取请求