Chronos MCP Server

Chronos MCP Server

一个简单的基于 .NET Core 的 MCP 服务器,用于检索当前时间。

aadversteeg

研究与数据
访问服务器

README

Chronos MCP 服务器

一个实现了模型上下文协议 (MCP) 的时间相关服务器。此服务器通过一个简单的 MCP 接口提供时区感知的日期和时间信息。

概述

Chronos MCP 服务器使用 .NET Core 和模型上下文协议 C# SDK (github.com/modelcontextprotocol/csharp-sdk) 构建。它提供了在不同时区访问日期和时间信息的工具。该服务器设计轻量级,并演示了如何创建一个具有实用功能的自定义 MCP 服务器。它可以直接部署在机器上,也可以作为 Docker 容器部署。

特性

  • 获取任何支持时区的当前日期和时间
  • 通过 appsettings.json 和环境变量进行默认时区配置
  • 对无效时区请求进行适当的错误处理

快速入门

前提条件

  • .NET 9.0(用于本地开发/部署)
  • Docker(用于容器部署)

构建说明(用于开发)

如果要从源代码构建项目:

  1. 克隆此存储库:

    git clone https://github.com/aadversteeg/chronos-mcp-server.git
    
  2. 导航到项目根目录:

    cd chronos-mcp-server
    
  3. 使用以下命令构建项目:

    dotnet build src/chronos.sln
    
  4. 运行测试:

    dotnet test src/chronos.sln
    

Docker 支持

DockerHub 镜像

Chronos MCP 服务器在 DockerHub 上可用,地址为 aadversteeg/chronos-mcp-server

# 拉取最新版本
docker pull aadversteeg/chronos-mcp-server:latest

# 或者拉取特定版本
docker pull aadversteeg/chronos-mcp-server:0.0.1

手动 Docker 构建

如果需要自己构建 Docker 镜像:

# 导航到存储库根目录
cd chronos-mcp-server

# 构建 Docker 镜像
docker build -f src/Core.Infrastructure.McpServer/Dockerfile -t chronos-mcp-server:latest src/

# 运行本地构建的镜像
docker run -d --name chronos-mcp -e "DefaultTimeZoneId=UTC" chronos-mcp-server:latest

使用 GitHub Actions 自动构建

此存储库包含一个 GitHub Actions 工作流程,该工作流程在创建版本标签时自动构建 Docker 镜像并将其推送到 DockerHub。

要触发新的构建:

  1. 创建并推送带有语义版本的标签:

    git tag 1.0.0
    git push origin 1.0.0
    
  2. 工作流程将自动构建并推送带有以下标签的 Docker 镜像:

    • aadversteeg/chronos-mcp-server:latest
    • aadversteeg/chronos-mcp-server:1.0.0

MCP 协议用法

客户端集成

要从您的应用程序连接到 Chronos MCP 服务器:

  1. 使用模型上下文协议 C# SDK 或任何 MCP 兼容的客户端
  2. 配置您的客户端以连接到服务器的端点
  3. 调用下面描述的可用工具

可用工具

get_current_date_and_time

获取指定时区或默认时区的当前日期和时间。

参数:

  • timezoneId(可选):时区标识符(例如,“America/New_York”,“Eastern Standard Time”)。

示例请求:

{
  "name": "get_current_date_and_time",
  "parameters": {
    "timezoneId": "Europe/London"
  }
}

示例响应:

{
  "date": "2023-12-25",
  "time": "12:00:00",
  "timezone": "Europe/London"
}

get_default_timezone_id

获取为服务器配置的默认时区标识符。

示例请求:

{
  "name": "get_default_timezone_id",
  "parameters": {}
}

示例响应:

UTC

配置

DefaultTimeZoneId

DefaultTimeZoneId 设置确定在未请求特定时区时使用的时区。此值必须是操作系统识别的有效时区标识符。

您可以通过两种方式设置 DefaultTimeZoneId:

  1. appsettings.json 文件(用于本地部署):
{
  "DefaultTimeZoneId": "America/New_York"
}
  1. 环境变量(用于容器化部署):
# 运行 Docker 容器时
docker run -e "DefaultTimeZoneId=Europe/Amsterdam" aadversteeg/chronos-mcp-server:latest

有效的时区标识符包括:

  • 标准 IANA 时区名称(例如,“America/New_York”,“Europe/London”,“Asia/Tokyo”)
  • Windows 时区 ID(例如,“Eastern Standard Time”,“W. Europe Standard Time”)

如果未指定,服务器默认为“UTC”。

配置 Claude Desktop

使用本地安装

要配置 Claude Desktop 以使用本地安装的 Chronos 服务器:

  1. 将服务器配置添加到 Claude Desktop 配置中的 mcpServers 部分:
"chronos": {
  "command": "dotnet",
  "args": [
    "YOUR_PATH_TO_DLL\\Core.Infrastructure.McpServer.dll"
  ],
  "env": {
    "DefaultTimeZoneId": "Europe/Amsterdam"
  }
}
  1. 保存文件并重启 Claude Desktop

使用 Docker 容器

要从 Docker 容器中使用 Chronos 服务器与 Claude Desktop:

  1. 将服务器配置添加到 Claude Desktop 配置中的 mcpServers 部分:
"chronos": {
  "command": "docker",
  "args": [
    "run",
    "--rm",
    "-i",
    "-e", "DefaultTimeZoneId=Europe/Amsterdam",
    "aadversteeg/chronos-mcp-server:latest"
  ]
}
  1. 保存文件并重启 Claude Desktop

许可证

此项目已获得 MIT 许可证的许可 - 有关详细信息,请参阅 LICENSE 文件。

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Nefino MCP Server

Nefino MCP Server

为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。

官方
Python
Vectorize

Vectorize

将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。

官方
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。

本地
Python
kb-mcp-server

kb-mcp-server

一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。

本地
Python
Research MCP Server

Research MCP Server

这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

本地
Python
Cryo MCP Server

Cryo MCP Server

一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。

本地
Python