mcp-datetime-server

2.0.3 • Public • Published

MCP DateTime Server

一个基于 Model Context Protocol (MCP) 的多功能服务器,提供日期时间处理、文档读取、URL内容抓取和图片搜索功能。

功能特性

🕒 日期时间处理

  • 获取当前时间(支持多种格式和时区)
  • 获取详细日期信息
  • 计算时间差值
  • 支持自定义时间格式

📄 文档处理

  • 读取 Word (docx) 文档内容
  • 提取文本和格式信息

🌐 URL内容抓取

  • 抓取网页内容并保存到本地
  • 支持HTML保存和元数据提取
  • 包含链接和图片信息提取

🖼️ 图片搜索

  • 百度图片搜索功能
  • 批量下载图片
  • 支持搜索结果过滤
  • 元数据保存

安装

前置要求

  • Node.js 18+
  • npm 或 yarn

安装步骤

  1. 克隆项目
git clone <repository-url>
cd mcp-datetime-server
  1. 安装依赖
npm install
  1. 配置设置(可选)
cp config/mcp-config-example.json config/mcp-config.json
# 根据需要修改配置文件

使用方法

启动服务器

node index.js

配置

快速配置

本项目提供了多个配置文件模板,支持不同的 AI 客户端:

  • claude-desktop-config.json - Claude Desktop 配置
  • config/mcp-config.json - 通用 MCP 配置
  • trae-ai-config.json - Trae AI 配置
  • config/mcp-config-example.json - 配置示例文件

Claude Desktop 配置

在 Claude Desktop 中使用此 MCP 服务器,需要在配置文件中添加以下内容:

{
  "mcpServers": {
    "datetime-server": {
      "command": "npx",
      "args": ["-y", "mcp-datetime-server"],
      "env": {
        "NODE_ENV": "production"
      }
    }
  }
}

Trae AI 配置

在 Trae AI 中使用此 MCP 服务器,可以直接使用项目根目录的 trae-ai-config.json 文件,或在 MCP 设置中添加以下配置:

{
  "mcpServers": {
    "datetime-server": {
      "command": "npx",
      "args": ["-y", "mcp-datetime-server"],
      "env": {
        "NODE_ENV": "production"
      },
      "description": "MCP DateTime Server - 提供日期时间处理、文档读取、URL获取和百度图片搜索功能",
      "capabilities": {
        "tools": true,
        "resources": false,
        "prompts": false
      }
    }
  }
}

配置验证

可以通过以下命令验证 MCP 服务是否正确安装和配置:

# 验证服务可用性
npx -y mcp-datetime-server --help

# 运行测试
npm test

API 参考

日期时间工具

get_current_time

获取当前时间

参数:

  • format (可选): 时间格式 (iso, local, timestamp, custom)
  • timezone (可选): 时区 (如 Asia/Shanghai)
  • customFormat (可选): 自定义格式字符串

get_date_info

获取详细日期信息

参数:

  • date (可选): 指定日期 (ISO格式)

calculate_time_difference

计算时间差值

参数:

  • startTime: 开始时间 (ISO格式)
  • endTime (可选): 结束时间 (ISO格式)
  • unit (可选): 返回单位 (milliseconds, seconds, minutes, hours, days)

文档工具

read_word_doc

读取 Word 文档

参数:

  • path: Word 文档的绝对路径

URL工具

fetch_url_content

抓取网页内容

参数:

  • url: 要抓取的网页URL
  • saveHtml (可选): 是否保存完整HTML
  • includeLinks (可选): 是否包含链接信息
  • includeImages (可选): 是否包含图片信息

图片搜索工具

search_baidu_images

搜索百度图片

参数:

  • keyword: 搜索关键词
  • maxImages (可选): 最大下载数量 (1-50)
  • maxScrolls (可选): 页面滚动次数 (1-10)
  • downloadImages (可选): 是否下载图片
  • saveMetadata (可选): 是否保存元数据
  • headless (可选): 是否使用无头模式

项目结构

mcp-datetime-server/
├── README.md
├── package.json
├── index.js                    # 主服务器入口
├── src/                        # 核心源码
│   ├── datetime/               # 日期时间模块
│   │   └── datetime-tools.js
│   ├── document/               # 文档处理模块
│   │   └── readWordDoc.js
│   ├── url-fetcher/           # URL抓取模块
│   │   ├── fetchUrlContent.js
│   │   └── LoginHandler.js
│   └── image-search/          # 图片搜索模块
│       └── baidu-search.js
├── config/                    # 配置文件
│   ├── mcp-config-example.json
│   └── mcp-config.json
├── tests/                     # 测试文件
├── docs/                      # 文档
├── scripts/                   # 工具脚本
└── examples/                  # 使用示例

配置选项

URL抓取配置

  • outputDir: 输出目录
  • cookiesDir: Cookie存储目录
  • timeout: 请求超时时间

图片搜索配置

  • downloadDir: 图片下载目录
  • headless: 是否使用无头浏览器

故障排除

常见问题

  1. Puppeteer 安装问题

    npm install puppeteer --unsafe-perm=true
  2. 权限问题 确保有足够的文件系统权限创建下载目录

  3. 网络问题 检查网络连接和防火墙设置

调试模式

设置环境变量启用调试:

DEBUG=mcp:* node index.js

开发

运行测试

npm test

代码格式化

npm run format

贡献

欢迎提交 Issue 和 Pull Request!

许可证

MIT License

更新日志

v2.0.0

  • 重构项目结构,采用模块化设计
  • 移除复杂的邮箱功能
  • 优化性能和稳定性
  • 简化配置和使用

v1.x

  • 初始版本
  • 基础功能实现

Package Sidebar

Install

npm i mcp-datetime-server

Weekly Downloads

76

Version

2.0.3

License

MIT

Unpacked Size

163 kB

Total Files

29

Last publish

Collaborators

  • yangying19911113