海外访问:www.kdjingpai.com
Ctrl + D 收藏本站

Passage of Time MCP 是一个开源的 Model Context Protocol(MCP)服务器项目,旨在为大型语言模型(LLM)提供时间感知和时间计算能力。该项目由 Jérémie Lumbroso 和 Claude Opus 4.0(Anthropic)合作开发,灵感来源于一个哲学问题:“人工智能能否感知时间的流逝?”。通过为语言模型提供时间相关的工具,项目解决了语言模型在时间计算上的局限性,例如无法准确计算时间差。服务器通过简单的时间函数和指令,帮助模型理解时间背景,发现对话模式、工作节奏等信息。该项目使用 Mozilla Public License 2.0 授权,代码公开在 GitHub 上,鼓励开发者参与协作和部署。

功能列表

  • 提供 current_datetime() 函数,返回当前时间戳,支持可选的时区参数。
  • 支持 Server-Sent Events(SSE)模式,允许网页客户端通过 HTTP 连接访问时间数据。
  • 提供时间计算工具,帮助语言模型计算时间差或转换时区。
  • 支持与语言模型的直接集成,通过标准输入输出(stdio)模式与模型交互。
  • 提供清晰的指令集(Context),指导语言模型如何使用时间相关功能。

使用帮助

安装与部署

要使用 Passage of Time MCP 服务器,需要在本地或云端部署代码。以下是详细的安装和使用步骤:

  1. 克隆项目代码
    在 GitHub 上访问 https://github.com/jlumbroso/passage-of-time-mcp,使用以下命令克隆代码到本地:

    git clone https://github.com/jlumbroso/passage-of-time-mcp.git
    

    确保本地已安装 Git。如果没有,请先安装 Git(在 macOS/Linux 上使用 sudo apt install git 或 brew install git)。

  2. 安装依赖
    项目需要 Python 环境(推荐 Python 3.8 或更高版本)。进入项目目录后,安装依赖:

    cd passage-of-time-mcp
    pip install -r requirements.txt
    

    确保已安装 pip 和 Python。如果需要,可以参考 Python 官方文档安装。

  3. 启动本地服务器
    运行以下命令启动 MCP 服务器:

    python server.py
    

    服务器默认在本地地址 http://0.0.0.0:8000/sse 启动,运行在 SSE 模式下。启动后,终端会显示服务器状态。

  4. 通过 ngrok 暴露服务器到公网(可选)
    如果需要让网页客户端或远程语言模型访问服务器,可以使用 ngrok 暴露本地服务器。安装 ngrok 后,运行:

    ngrok http 8000
    

    ngrok 会生成一个公网 URL,例如 https://.ngrok-free.app。在配置客户端时,使用此 URL 并在末尾添加 /sse,如 https://.ngrok-free.app/sse

  5. 云端部署(推荐生产环境)
    为确保稳定性,建议将服务器部署到云平台,如 Render.com。登录 Render.com,创建一个新服务,选择 GitHub 仓库,连接 jlumbroso/passage-of-time-mcp,并按照平台指引配置环境变量和端口(默认 8000)。部署完成后,Render 会提供一个公网 URL。
  6. 与 Claude 桌面版集成
    如果使用 Claude 桌面版,可以通过以下步骤添加 MCP 服务器:

    • 打开 Claude 桌面版的设置页面,找到“Add Integrations”选项。
    • 输入服务器 URL(本地为 http://0.0.0.0:8000/sse,或云端/公网 URL)。
    • 保存配置并重启 Claude,服务器即可与 Claude 通信。

操作主要功能

  • 获取当前时间
    服务器提供 current_datetime() 函数,语言模型可以通过调用该函数获取当前时间戳。函数支持可选的时区参数,例如 America/New_York 或 Asia/Shanghai。在与 Claude 交互时,模型会在每次对话开始时调用此函数,确保时间信息的准确性。
  • 时间计算
    服务器支持时间差计算,例如计算两个时间点之间的分钟数或小时数。语言模型可以通过指令发送时间戳,服务器返回计算结果。例如,发送:

    {
    "jsonrpc": "2.0",
    "id": 1,
    "method": "getTimeDifference",
    "params": {
    "timestamp": "2025-07-17 12:00:00",
    "interval": "minutes"
    }
    }
    

    服务器会返回指定时间与当前时间之间的分钟差。

  • SSE 模式与网页客户端
    在 SSE 模式下,服务器通过 HTTP 提供实时时间数据。开发者可以使用 JavaScript 客户端连接到服务器,订阅时间更新。例如:

    const eventSource = new EventSource('https://your-server.ngrok-free.app/sse');
    eventSource.onmessage = function(event) {
    console.log('Received time:', event.data);
    };
    
  • 指令集(Context)使用
    服务器提供了一个简单的指令集,存储在 README.md 中,内容为:“你现在可以访问 current_datetime() 函数,并可传入可选的时区参数。每次响应开始时调用此函数,以感知用户的时间流逝。” 语言模型会根据此指令自动调用时间函数,开发者无需手动干预。

注意事项

  • 确保服务器运行时网络稳定,特别是在使用 ngrok 或云部署时。
  • 如果语言模型未正确调用时间函数,可检查服务器日志(server.log)或指令集配置。
  • 项目使用 Mozilla Public License 2.0,开发者可自由修改和分发代码,但需遵守开源协议。

应用场景

  1. 增强语言模型时间感知
    在与用户对话时,语言模型可以通过服务器获取当前时间,动态调整回答。例如,模型可以根据用户所在时区提供更贴合的日程建议。
  2. 分析对话模式
    开发者可以利用时间数据分析用户与模型的交互频率,发现对话高峰期或用户习惯。
  3. 时间敏感任务自动化
    在自动化工作流中,服务器可为语言模型提供时间依据,用于任务调度或提醒生成。
  4. 教育与研究
    研究人员可使用该服务器探索语言模型如何理解时间概念,验证其在时间相关任务中的表现。

QA

  1. 如何确保服务器与语言模型正确通信?
    检查服务器是否在 http://0.0.0.0:8000/sse 运行,并确保客户端配置了正确的 URL。使用 Claude 的开发者可参考 Anthropic 官方文档配置 MCP。
  2. 是否支持多时区时间转换?
    是的,current_datetime() 函数支持传入 IANA 时区名称(如 Europe/London),服务器会返回对应时区的当前时间。
  3. 需要哪些技术背景来部署服务器?
    基本的 Python 编程知识和 Git 操作经验即可。云部署需要了解基础的云服务配置,如 Render.com 的操作流程。
  4. 服务器是否支持高并发?
    本地部署适合开发和测试,生产环境建议使用云部署以支持高并发。Render.com 等平台可自动扩展服务器资源。
0已收藏
0已赞

相关推荐

找不到AI工具?在这试试!

输入关键词,即可 无障碍访问 必应 搜索,快速找到本站所有 AI 工具。

邮箱

联系我们

回顶部

zh_CN简体中文