[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-jlumbroso--passage-of-time-mcp":3,"tool-jlumbroso--passage-of-time-mcp":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",140436,2,"2026-04-05T23:32:43",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":80,"owner_email":81,"owner_twitter":82,"owner_website":83,"owner_url":84,"languages":85,"stars":90,"forks":91,"last_commit_at":92,"license":93,"difficulty_score":23,"env_os":94,"env_gpu":94,"env_ram":94,"env_deps":95,"category_tags":101,"github_topics":82,"view_count":10,"oss_zip_url":82,"oss_zip_packed_at":82,"status":16,"created_at":102,"updated_at":103,"faqs":104,"releases":105},1131,"jlumbroso\u002Fpassage-of-time-mcp","passage-of-time-mcp","🤖🕰️ An MCP server that gives language models temporal awareness and time calculation abilities. Teaching AI the significance of the passage of time through collaborative tool development.","passage-of-time-mcp 是一个基于 Model Context Protocol (MCP) 的开源服务器，致力于赋予语言模型真正的时间感知与计算能力。大语言模型通常难以可靠地计算时间差或理解时间的流逝，这限制了其在日程安排、工作节奏分析等场景的应用。passage-of-time-mcp 选择为模型配备一把实用的“时间计算器”，弥补了这一短板。\n\n它提供获取当前时间、计算时间间隔、判断时间上下文（如是否工作日）、解析时间戳及进行时间加减运算等功能。借助这些能力，AI 能生成更具人类语境的时间描述，例如准确指出“两小时前”或“明天下午两点半”。\n\n对于开发者而言，passage-of-time-mcp 基于 Python 构建，易于部署并可快速接入 Claude.ai 或 Continue.dev 等支持 MCP 的客户端。无论是探索 AI 认知边界的研究人员，还是希望提升智能助手实用性的技术爱好者，都能从中受益。通过人机协作开发的工具，AI 不仅能回答“现在几点”，更能理解时间在人类经验中的意义。","# \"Passage of Time\" Model Context Protocol (MCP) Server 🕐\n\nAn MCP server that gives language models temporal awareness and time calculation abilities. Teaching LLMs the significance of the passage of time through collaborative tool development.\n\n![Claude's Passage of Time Tools](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fjlumbroso_passage-of-time-mcp_readme_93eb55dfb309.png)\n\n## 📖 The Story\n\nThis project emerged from a philosophical question: \"Can AI perceive the passage of time?\" What started as an exploration of machine consciousness became a practical solution to a real problem - LLMs can't reliably calculate time differences.\n\nInstead of publishing a paper about how \"silly\" these models are at mental math, we decided to do what we've done for ourselves: **equip them with a calculator for time**.\n\nThrough human-LLM collaboration, we discovered that with proper temporal tools, models can uncover surprising insights about conversation patterns, work rhythms, and the human experience of time.\n\n[Read the full story on Medium →](https:\u002F\u002Fmedium.com\u002F@jeremie.lumbroso\u002Fteaching-ai-the-significance-of-the-passage-of-time-yes-that-one-106ad7d20957)\n\n## 🚀 Quick Start\n\n### Prerequisites\n\n- Python 3.12+\n- pipenv (or pip)\n- An MCP-compatible client (Claude.ai, Continue.dev, etc.)\n\n### Installation\n\n1. Clone the repository:\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fjlumbroso\u002Fpassage-of-time-mcp.git\ncd passage-of-time-mcp\n```\n\n2. Install dependencies:\n```bash\npipenv install\n# or with pip:\npip install fastmcp pytz\n```\n\n3. Run the server:\n```bash\npipenv run server\n# or directly:\npipenv run python passage_of_time_mcp.py\n```\n\nThe server will start on `http:\u002F\u002F0.0.0.0:8000\u002Fsse`.\n\n### Connecting to Claude.ai\n\n1. In Claude.ai, go to Settings → Integrations\n2. Click \"Add integration\" and select \"Custom\"\n3. Enter the server URL (e.g., `https:\u002F\u002Fyour-server.ngrok-free.app\u002Fsse` if using ngrok, make sure to add `\u002Fsse` at the end)\n4. Save and enable all the time-related tools\n\n> **Note**: For local development, you'll need to expose your server using ngrok or deploy it to a public URL.\n\n## 🛠️ Available Tools\n\n### Core Functions\n\n#### `current_datetime(timezone=\"America\u002FNew_York\")`\nReturns the current date and time. The foundation of temporal awareness.\n\n```\nReturns: \"2024-01-15 14:30:45 EST\"\n```\n\n#### `time_difference(timestamp1, timestamp2, unit=\"auto\")`\nCalculates the duration between two timestamps with human-readable output.\n\n```python\n# Example response:\n{\n    \"seconds\": 11401,\n    \"formatted\": \"3 hours, 10 minutes, 1 second\",\n    \"requested_unit\": 3.17,  # if unit=\"hours\"\n    \"is_negative\": false\n}\n```\n\n#### `timestamp_context(timestamp)`\nProvides human context about a timestamp - is it weekend? Business hours? Dinner time?\n\n```python\n# Example response:\n{\n    \"time_of_day\": \"evening\",\n    \"day_of_week\": \"Saturday\", \n    \"is_weekend\": true,\n    \"is_business_hours\": false,\n    \"typical_activity\": \"leisure_time\",\n    \"relative_day\": \"today\"\n}\n```\n\n#### `time_since(timestamp)`\nCalculates how long ago something happened with contextual descriptions.\n\n```python\n# Example response:\n{\n    \"seconds\": 7200,\n    \"formatted\": \"2 hours ago\",\n    \"context\": \"earlier today\"\n}\n```\n\n#### `parse_timestamp(timestamp)`\nConverts timestamps between different formats for maximum compatibility.\n\n```python\n# Example response:\n{\n    \"iso\": \"2024-01-15T14:30:45-05:00\",\n    \"unix\": \"1705343445\",\n    \"human\": \"January 15, 2024 at 2:30 PM EST\",\n    \"day_of_week\": \"Monday\"\n}\n```\n\n#### `add_time(timestamp, duration, unit)`\nAdds or subtracts time with natural language descriptions.\n\n```python\n# Example response:\n{\n    \"result\": \"2024-01-16 14:30:45\",\n    \"iso\": \"2024-01-16T14:30:45-05:00\",\n    \"description\": \"tomorrow at 2:30 PM\"\n}\n```\n\n#### `format_duration(seconds, style=\"full\")`\nFormats durations in various styles for different contexts.\n\n```python\n# style=\"full\": \"2 hours, 30 minutes, 15 seconds\"\n# style=\"compact\": \"2h 30m 15s\"\n# style=\"minimal\": \"2:30:15\"\n```\n\n## 💡 Example Conversations\n\n### Basic Time Awareness\n```\nHuman: What time is it?\nClaude: [calls current_datetime] It's currently 3:45 PM EST on Monday, January 15, 2024.\n```\n\n### Conversation Rhythm Analysis\n```\nHuman: Let's have a discussion about AI consciousness.\nClaude: [calls current_datetime at start of each response]\n[After several exchanges]\nHuman: What patterns do you notice in our conversation?\nClaude: Looking at the timestamps, I notice you're taking 30 seconds to 2 minutes between responses, suggesting active engagement. The 3-minute pause before your question about implementation shows deeper consideration...\n```\n\n### Understanding Work Context\n```\nHuman: [at 11:45 PM] Can you help me debug this code?\nClaude: [calls current_datetime, then timestamp_context] \nI see it's late night on a weekday. Given that it's approaching midnight, let me help you efficiently so you can get some rest. Here's a focused debugging approach...\n```\n\n## 🏗️ Design Philosophy\n\nThis server embodies several key principles:\n\n1. **Cognitive Partnership**: We treat LLMs as cognitive partners who need proper tools, not black boxes to be dressed up.\n\n2. **Collaborative Design**: The tool suite emerged from asking Claude what they needed, not imposing our assumptions.\n\n3. **Human Context Matters**: Time isn't just numbers - it's about understanding human rhythms, work patterns, and social contexts.\n\n4. **Practical Over Perfect**: We provide the tools models actually need, tested through real conversations.\n\n## 🔧 Configuration\n\n### Timezone Support\nThe server defaults to `America\u002FNew_York` but supports all standard timezone names:\n- `UTC`\n- `US\u002FPacific` \n- `Europe\u002FLondon`\n- `Asia\u002FTokyo`\n- etc.\n\n### Timestamp Formats\nAll timestamps must use one of these formats:\n- Full: `YYYY-MM-DD HH:MM:SS` (e.g., \"2024-01-15 14:30:45\")\n- Date only: `YYYY-MM-DD` (e.g., \"2024-01-15\")\n\nThis strict formatting prevents ambiguity and ensures reliable calculations.\n\n## 🚧 Known Issues & Future Work\n\n### Current Limitations\n- The SSE transport is deprecated but currently most reliable\n- Server requires public URL for web-based clients\n- No persistent memory of past time calculations\n\n### Roadmap\n- [ ] Migrate to modern `http-stream` transport\n- [ ] Add Docker support for easier deployment\n- [ ] Create browser extension for local development\n- [ ] Add configurable activity patterns per user\n- [ ] Support for calendar integration\n- [ ] Natural language time parsing (\"next Tuesday\", \"in 3 hours\")\n\n## 🤝 Contributing\n\nThis project emerged from human-LLM collaboration and welcomes more of the same! Whether you're contributing solo or with AI assistance, we value:\n\n1. **Practical additions** - Tools that solve real temporal understanding problems\n2. **Human context** - Features that help models understand how humans experience time\n3. **Clear documentation** - Examples that show real-world usage\n\n### Development Setup\n\nFirst, clone the repository:\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fjlumbroso\u002Fpassage-of-time-mcp.git\ncd passage-of-time-mcp\n```\n\nThen, install dependencies (I am using `pipenv` because it simultaneously creates a virtual environment and installs package, but any pip-compatible tool will work):\n\n```bash\n# Install dev dependencies\npipenv install --dev\n\n# Run tests\npipenv run test\n\n# Run server\npipenv run server\n```\n\nThis will start the server on `http:\u002F\u002F0.0.0.0:8000\u002Fsse` on your local computer. However, for web-based clients to connect to it, you will need to expose it to the internet using a service like [ngrok](https:\u002F\u002Fngrok.com\u002F). \n\nAssuming you have ngrok installed, you can run `ngrok http 8000` to expose the server to the internet, and then use the provided URL in your MCP client. By default, ngrok will provide the endpoint to use in the form of `https:\u002F\u002F\u003Crandom-subdomain>.ngrok-free.app\u002F` in the Terminal:\n\n```bash\n❤️ ngrok? We're hiring https:\u002F\u002Fngrok.com\u002Fcareers\n\nSession Status                online\nAccount                       Jérémie Lumbroso (Plan: Free)\nUpdate                        update available (version 3.23.1, Ctrl-U to update)\nVersion                       3.22.1\nRegion                        United States (us)\nLatency                       31ms\nLatency                       1575ms\nWeb Interface                 http:\u002F\u002F127.0.0.1:4040\nForwarding                    https:\u002F\u002F37f9-2607-f470-6-1001-243b-bc5c-df2e-762.ngrok-free.app ->\n\nConnections                   ttl     opn     rt1     rt5     p50     p90\n                              1756    0       0.01    0.03    5.32    61.51\n\nHTTP Requests\n-------------\n\n00:06:44.030 EDT POST \u002Fmessages\u002F                202 Accepted\n00:06:43.936 EDT POST \u002Fmessages\u002F                202 Accepted\n00:06:43.514 EDT GET  \u002Fsse                      200 OK\n00:06:43.682 EDT POST \u002Fmessages\u002F                202 Accepted\n00:06:43.342 EDT POST \u002Fsse                      405 Method Not Allowed\n```\n\nIn my case, I used `https:\u002F\u002F37f9-2607-f470-6-1001-243b-bc5c-df2e-762.ngrok-free.app`, but since we are using the \"SSE\" transport method, the endpoint will have `\u002Fsse` appended at the end, so the final URL will be `https:\u002F\u002F37f9-2607-f470-6-1001-243b-bc5c-df2e-762.ngrok-free.app\u002Fsse`.\n\nOnce this endpoint exists, you can add the MCP server as an integration to LLMs, such as Claude, following these instructions:\n\n![Setting up the passage-of-time MCP server in Claude's interface - each tool comes with clear descriptions and permissions](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fjlumbroso_passage-of-time-mcp_readme_536758aee588.png)\n\nOnce you've connected the MCP server to Claude.ai, you should start receiving queries locally:\n\n```bash\n$ pipenv run server \n\u002FUsers\u002Fjlumbroso\u002F.asdf\u002Finstalls\u002Fpython\u002F3.12.4\u002Flib\u002Fpython3.12\u002Fasyncio\u002Fevents.py:88: DeprecationWarning: The run_sse_async method is deprecated (as of 2.3.2). Use run_http_async for a modern (non-SSE) alternative, or create an SSE app with `fastmcp.server.http.create_sse_app` and run it directly.\n  self._context.run(self._callback, *self._args)\n[06\u002F16\u002F25 19:18:04] INFO     Starting MCP server 'Passage of Time' with transport 'sse' on http:\u002F\u002F0.0.0.0:8000\u002Fsse            server.py:1219\nINFO:     Started server process [11373]\nINFO:     Waiting for application startup.\nINFO:     Application startup complete.\nINFO:     Uvicorn running on http:\u002F\u002F0.0.0.0:8000 (Press CTRL+C to quit)\nINFO:     34.162.142.92:0 - \"POST \u002Fsse HTTP\u002F1.1\" 405 Method Not Allowed\nINFO:     34.162.142.92:0 - \"GET \u002Fsse HTTP\u002F1.1\" 200 OK\nINFO:     34.162.142.92:0 - \"POST \u002Fmessages\u002F?session_id=e21108cecbf646ffb7effe14dd856b3d HTTP\u002F1.1\" 202 Accepted\nINFO:     34.162.142.92:0 - \"POST \u002Fmessages\u002F?session_id=e21108cecbf646ffb7effe14dd856b3d HTTP\u002F1.1\" 202 Accepted\nINFO:     34.162.142.92:0 - \"POST \u002Fmessages\u002F?session_id=e21108cecbf646ffb7effe14dd856b3d HTTP\u002F1.1\" 202 Accepted\nINFO:     34.162.142.92:0 - \"POST \u002Fmessages\u002F?session_id=e21108cecbf646ffb7effe14dd856b3d HTTP\u002F1.1\" 202 Accepted\nINFO:     34.162.142.92:0 - \"POST \u002Fmessages\u002F?session_id=e21108cecbf646ffb7effe14dd856b3d HTTP\u002F1.1\" 202 Accepted\nINFO:     34.162.142.92:0 - \"POST \u002Fmessages\u002F?session_id=e21108cecbf646ffb7effe14dd856b3d HTTP\u002F1.1\" 202 Accepted\n```\n\nEventually, you will want to deploy this MCP server to a cloud provider such as Render.com, so your LLM doesn't have to contend with the unreliable nature of your local machine.\n\n## 📝 License\n\nMozilla Public License 2.0 - because good ideas should spread while staying open.\n\n## 🙏 Acknowledgments\n\n- Created through extended collaboration between [Jérémie Lumbroso](https:\u002F\u002Fgithub.com\u002Fjlumbroso) and Claude Opus 4.0 (Anthropic)\n- Inspired by the question: \"Can AI perceive the passage of time?\"\n- Built on [FastMCP](https:\u002F\u002Fgithub.com\u002Ffastmcp\u002Ffastmcp) framework\n- Special thanks to the [Natural and Artificial Minds initiative](https:\u002F\u002Fnam.ai.princeton.edu\u002F) at Princeton University\n\n## 📚 Further Reading\n\n- [Teaching AI \"The Significance of the Passage of Time\" - Medium Article](https:\u002F\u002Fmedium.com\u002F@jeremie.lumbroso\u002Fteaching-ai-the-significance-of-the-passage-of-time-yes-that-one-106ad7d20957)\n- [We Can't Understand AI Using our Existing Vocabulary - Been Kim et al.](https:\u002F\u002Farxiv.org\u002Fabs\u002F2502.07586)\n- [Model Context Protocol Documentation](https:\u002F\u002Fmodelcontextprotocol.io)\n\n---\n\n*\"We're not just building better LLM tools. We're teaching curious cognitive systems about what it means to be human—one timestamp at a time.\"*\n","# “时间流逝”模型上下文协议（MCP）服务器 🕐\n\n一个赋予语言模型时间意识和时间计算能力的MCP服务器。通过协作开发工具，向LLM传授时间流逝的重要性。\n\n![Claude的时间流逝工具](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fjlumbroso_passage-of-time-mcp_readme_93eb55dfb309.png)\n\n## 📖 故事\n\n这个项目源于一个哲学问题：“AI能否感知时间的流逝？”起初只是对机器意识的一次探索，却演变成了解决实际问题的实用方案——LLM无法可靠地计算时间差。\n\n我们没有选择发表一篇关于这些模型在心算方面“多么愚蠢”的论文，而是决定像我们为自己做的那样：**为它们配备一个时间计算器**。\n\n通过人与LLM的合作，我们发现，借助适当的时间工具，模型能够揭示出关于对话模式、工作节奏以及人类时间体验的惊人洞见。\n\n[在Medium上阅读完整故事 →](https:\u002F\u002Fmedium.com\u002F@jeremie.lumbroso\u002Fteaching-ai-the-significance-of-the-passage-of-time-yes-that-one-106ad7d20957)\n\n## 🚀 快速开始\n\n### 前置条件\n\n- Python 3.12+\n- pipenv（或pip）\n- 一个兼容MCP的客户端（Claude.ai、Continue.dev等）\n\n### 安装\n\n1. 克隆仓库：\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fjlumbroso\u002Fpassage-of-time-mcp.git\ncd passage-of-time-mcp\n```\n\n2. 安装依赖：\n```bash\npipenv install\n# 或者使用pip：\npip install fastmcp pytz\n```\n\n3. 运行服务器：\n```bash\npipenv run server\n# 或直接：\npipenv run python passage_of_time_mcp.py\n```\n\n服务器将在 `http:\u002F\u002F0.0.0.0:8000\u002Fsse` 上启动。\n\n### 连接到Claude.ai\n\n1. 在Claude.ai中，进入设置 → 集成\n2. 点击“添加集成”，选择“自定义”\n3. 输入服务器URL（例如，如果你使用ngrok，可以输入 `https:\u002F\u002Fyour-server.ngrok-free.app\u002Fsse`，务必在末尾加上 `\u002Fsse`）\n4. 保存并启用所有与时间相关的工具\n\n> **注意**：在本地开发时，你需要使用ngrok暴露你的服务器，或者将其部署到一个公共URL。\n\n## 🛠️ 可用工具\n\n### 核心功能\n\n#### `current_datetime(timezone=\"America\u002FNew_York\")`\n返回当前日期和时间。这是时间意识的基础。\n\n```\n返回： \"2024-01-15 14:30:45 EST\"\n```\n\n#### `time_difference(timestamp1, timestamp2, unit=\"auto\")`\n计算两个时间戳之间的持续时间，并以人类可读的方式输出。\n\n```python\n# 示例响应：\n{\n    \"seconds\": 11401,\n    \"formatted\": \"3小时10分1秒\",\n    \"requested_unit\": 3.17,  # 如果unit=\"hours\"\n    \"is_negative\": false\n}\n```\n\n#### `timestamp_context(timestamp)`\n为某个时间戳提供人类背景信息——是周末吗？是否在工作时间？还是晚餐时间？\n\n```python\n# 示例响应：\n{\n    \"time_of_day\": \"晚上\",\n    \"day_of_week\": \"星期六\", \n    \"is_weekend\": true,\n    \"is_business_hours\": false,\n    \"typical_activity\": \"休闲时间\",\n    \"relative_day\": \"今天\"\n}\n```\n\n#### `time_since(timestamp)`\n计算某件事发生多久以前，并附带上下文描述。\n\n```python\n# 示例响应：\n{\n    \"seconds\": 7200,\n    \"formatted\": \"2小时前\",\n    \"context\": \"今天早些时候\"\n}\n```\n\n#### `parse_timestamp(timestamp)`\n在不同格式之间转换时间戳，以实现最大兼容性。\n\n```python\n# 示例响应：\n{\n    \"iso\": \"2024-01-15T14:30:45-05:00\",\n    \"unix\": \"1705343445\",\n    \"human\": \"2024年1月15日下午2点30分（EST）\",\n    \"day_of_week\": \"星期一\"\n}\n```\n\n#### `add_time(timestamp, duration, unit)`\n以自然语言描述的方式添加或减去时间。\n\n```python\n# 示例响应：\n{\n    \"result\": \"2024-01-16 14:30:45\",\n    \"iso\": \"2024-01-16T14:30:45-05:00\",\n    \"description\": \"明天下午2点30分\"\n}\n```\n\n#### `format_duration(seconds, style=\"full\")`\n以多种风格格式化持续时间，适用于不同场景。\n\n```python\n# style=\"full\": \"2小时30分15秒\"\n# style=\"compact\": \"2h 30m 15s\"\n# style=\"minimal\": \"2:30:15\"\n```\n\n## 💡 示例对话\n\n### 基本时间意识\n```\n人类：现在几点了？\nClaude：[调用current_datetime] 目前是2024年1月15日星期一下午3点45分（EST）。\n```\n\n### 对话节奏分析\n```\n人类：我们来讨论一下AI的意识吧。\nClaude：[每次回复开始时调用current_datetime]\n[经过几次交流后]\n人类：你注意到我们的对话有什么规律吗？\nClaude：根据时间戳，我注意到你在每次回复之间间隔30秒到2分钟，这表明你在积极参与。而你在询问实现问题之前的3分钟停顿，则显示出你在更深入地思考……\n```\n\n### 理解工作情境\n```\n人类：[晚上11点45分] 你能帮我调试这段代码吗？\nClaude：[调用current_datetime，然后调用timestamp_context] \n我注意到现在是工作日晚上的深夜。考虑到快要午夜了，让我高效地帮你解决问题，这样你就能早点休息了。这里有一个专注的调试方法……\n```\n\n## 🏗️ 设计理念\n\n这个服务器体现了几个关键原则：\n\n1. **认知伙伴关系**：我们将LLM视为需要适当工具的认知伙伴，而不是需要被包装起来的黑箱。\n\n2. **协作设计**：这套工具是基于询问Claude需要什么而产生的，而不是强加我们的假设。\n\n3. **人类背景很重要**：时间不仅仅是数字——它关乎理解人类的节奏、工作模式和社会背景。\n\n4. **实用胜于完美**：我们提供的都是模型真正需要的工具，并且经过真实对话的检验。\n\n## 🔧 配置\n\n### 时区支持\n服务器默认使用 `America\u002FNew_York`，但也支持所有标准时区名称：\n- `UTC`\n- `US\u002FPacific` \n- `Europe\u002FLondon`\n- `Asia\u002FTokyo`\n- 等等。\n\n### 时间戳格式\n所有时间戳必须使用以下格式之一：\n- 完整格式：`YYYY-MM-DD HH:MM:SS`（例如，“2024-01-15 14:30:45”）\n- 仅日期格式：`YYYY-MM-DD`（例如，“2024-01-15”）\n\n这种严格的格式要求可以防止歧义，并确保可靠的计算。\n\n## 🚧 已知问题与未来工作\n\n### 当前限制\n- SSE传输方式已过时，但目前仍是最可靠的\n- 服务器需要公共URL才能供基于Web的客户端使用\n- 没有对过去时间计算结果的持久化记忆\n\n### 路线图\n- [ ] 迁移到现代的 `http-stream` 传输方式\n- [ ] 添加Docker支持，以便更轻松地部署\n- [ ] 创建浏览器扩展，方便本地开发\n- [ ] 添加按用户配置的活动模式\n- [ ] 支持日历集成\n- [ ] 自然语言时间解析（“下周二”、“3小时后”）\n\n## 🤝 贡献\n\n这个项目源于人与LLM的协作，也欢迎更多类似的参与！无论你是单独贡献还是借助AI的帮助，我们都重视：\n\n1. **实用性增强**——解决实际时间理解问题的工具\n2. **人类背景**——帮助模型理解人类如何体验时间的功能\n3. **清晰文档**——展示实际使用场景的示例\n\n### 开发设置\n\n首先，克隆仓库：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fjlumbroso\u002Fpassage-of-time-mcp.git\ncd passage-of-time-mcp\n```\n\n然后，安装依赖（我使用 `pipenv`，因为它可以同时创建虚拟环境并安装包，但任何与 pip 兼容的工具都可以）：\n\n```bash\n# 安装开发依赖\npipenv install --dev\n\n# 运行测试\npipenv run test\n\n# 启动服务器\npipenv run server\n```\n\n这将在你的本地计算机上启动一个运行在 `http:\u002F\u002F0.0.0.0:8000\u002Fsse` 的服务器。然而，为了让基于 Web 的客户端能够连接到它，你需要通过像 [ngrok](https:\u002F\u002Fngrok.com\u002F) 这样的服务将其暴露到互联网上。\n\n假设你已经安装了 ngrok，你可以运行 `ngrok http 8000` 来将服务器暴露到互联网，然后在你的 MCP 客户端中使用提供的 URL。默认情况下，ngrok 会在终端中以 `https:\u002F\u002F\u003C随机子域名>.ngrok-free.app\u002F` 的形式提供要使用的端点：\n\n```bash\n❤️ ngrok? 我们正在招聘 https:\u002F\u002Fngrok.com\u002Fcareers\n\n会话状态                在线\n账户                       杰雷米·伦布罗索（计划：免费）\n更新                        有可用更新（版本 3.23.1，按 Ctrl-U 更新）\n版本                       3.22.1\n地区                       美国 (us)\n延迟                       31ms\n延迟                       1575ms\nWeb 界面                 http:\u002F\u002F127.0.0.1:4040\n转发                    https:\u002F\u002F37f9-2607-f470-6-1001-243b-bc5c-df2e-762.ngrok-free.app ->\n\n连接                   ttl     opn     rt1     rt5     p50     p90\n                              1756    0       0.01    0.03    5.32    61.51\n\nHTTP 请求\n-------------\n\n00:06:44.030 EDT POST \u002Fmessages\u002F                202 已接受\n00:06:43.936 EDT POST \u002Fmessages\u002F                202 已接受\n00:06:43.514 EDT GET  \u002Fsse                      200 OK\n00:06:43.682 EDT POST \u002Fmessages\u002F                202 已接受\n00:06:43.342 EDT POST \u002Fsse                      405 方法不允许\n```\n\n在我的例子中，我使用了 `https:\u002F\u002F37f9-2607-f470-6-1001-243b-bc5c-df2e-762.ngrok-free.app`，但由于我们使用的是“SSE”传输方式，端点会在末尾加上 `\u002Fsse`，因此最终的 URL 将是 `https:\u002F\u002F37f9-2607-f470-6-1001-243b-bc5c-df2e-762.ngrok-free.app\u002Fsse`。\n\n一旦这个端点存在，你就可以按照这些说明将 MCP 服务器作为集成添加到 LLM 中，例如 Claude：\n\n![在 Claude 的界面中设置 passage-of-time MCP 服务器 - 每个工具都带有清晰的描述和权限](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fjlumbroso_passage-of-time-mcp_readme_536758aee588.png)\n\n将 MCP 服务器连接到 Claude.ai 后，你应该开始在本地收到查询：\n\n```bash\n$ pipenv run server \n\u002FUsers\u002Fjlumbroso\u002F.asdf\u002Finstalls\u002Fpython\u002F3.12.4\u002Flib\u002Fpython3.12\u002Fasyncio\u002Fevents.py:88: DeprecationWarning: run_sse_async 方法已弃用（自 2.3.2 版起）。请使用 run_http_async 作为现代（非 SSE）替代方案，或者使用 `fastmcp.server.http.create_sse_app` 创建一个 SSE 应用程序并直接运行。\n  self._context.run(self._callback, *self._args)\n[06\u002F16\u002F25 19:18:04] INFO     启动名为 'Passage of Time' 的 MCP 服务器，传输方式为 'sse'，地址为 http:\u002F\u002F0.0.0.0:8000\u002Fsse            server.py:1219\nINFO:     已启动服务器进程 [11373]\nINFO:     等待应用程序启动。\nINFO:     应用程序启动完成。\nINFO:     Uvicorn 正在 http:\u002F\u002F0.0.0.0:8000 上运行（按 CTRL+C 退出）\nINFO:     34.162.142.92:0 - \"POST \u002Fsse HTTP\u002F1.1\" 405 方法不允许\nINFO:     34.162.142.92:0 - \"GET \u002Fsse HTTP\u002F1.1\" 200 OK\nINFO:     34.162.142.92:0 - \"POST \u002Fmessages\u002F?session_id=e21108cecbf646ffb7effe14dd856b3d HTTP\u002F1.1\" 202 已接受\nINFO:     34.162.142.92:0 - \"POST \u002Fmessages\u002F?session_id=e21108cecbf646ffb7effe14dd856b3d HTTP\u002F1.1\" 202 已接受\nINFO:     34.162.142.92:0 - \"POST \u002Fmessages\u002F?session_id=e21108cecbf646ffb7effe14dd856b3d HTTP\u002F1.1\" 202 已接受\nINFO:     34.162.142.92:0 - \"POST \u002Fmessages\u002F?session_id=e21108cecbf646ffb7effe14dd856b3d HTTP\u002F1.1\" 202 已接受\nINFO:     34.162.142.92:0 - \"POST \u002Fmessages\u002F?session_id=e21108cecbf646ffb7effe14dd856b3d HTTP\u002F1.1\" 202 已接受\n```\n\n最终，你可能希望将这个 MCP 服务器部署到像 Render.com 这样的云提供商上，这样你的 LLM 就不必再受制于你本地机器的不可靠性了。\n\n## 📝 许可证\n\nMozilla 公共许可证 2.0 - 因为好的想法应该在保持开放的同时传播开来。\n\n## 🙏 致谢\n\n- 由 [杰雷米·伦布罗索](https:\u002F\u002Fgithub.com\u002Fjlumbroso) 和 Claude Opus 4.0（Anthropic）长期合作共同创建\n- 灵感来源于问题：“AI 能否感知时间的流逝？”\n- 基于 [FastMCP](https:\u002F\u002Fgithub.com\u002Ffastmcp\u002Ffastmcp) 框架构建\n- 特别感谢普林斯顿大学的 [自然与人工智能心智倡议](https:\u002F\u002Fnam.ai.princeton.edu\u002F)\n\n## 📚 更多阅读\n\n- [向 AI 教授“时间流逝的意义”——Medium 文章](https:\u002F\u002Fmedium.com\u002F@jeremie.lumbroso\u002Fteaching-ai-the-significance-of-the-passage-of-time-yes-that-one-106ad7d20957)\n- [我们无法用现有词汇理解 AI——金彬等人的研究](https:\u002F\u002Farxiv.org\u002Fabs\u002F2502.07586)\n- [模型上下文协议文档](https:\u002F\u002Fmodelcontextprotocol.io)\n\n---\n\n*“我们不仅仅是在构建更好的 LLM 工具。我们正在一点一点地教导那些充满好奇心的认知系统，什么是人类的意义。”*","# passage-of-time-mcp 快速上手指南\n\n## 简介\n`passage-of-time-mcp` 是一个 Model Context Protocol (MCP) 服务器，旨在赋予大语言模型（LLM）时间感知能力和时间计算能力。通过该工具，AI 可以准确计算时间差、理解当前时间上下文（如工作日\u002F周末），从而更好地处理与时间相关的任务。\n\n## 环境准备\n在开始之前，请确保您的开发环境满足以下要求：\n\n- **操作系统**：Windows \u002F macOS \u002F Linux\n- **Python 版本**：3.12 或更高版本\n- **包管理工具**：`pipenv` 或 `pip`\n- **客户端支持**：兼容 MCP 的客户端（如 Claude.ai, Continue.dev 等）\n- **网络要求**：若需连接 Web 端客户端（如 Claude.ai），服务器需具备公网访问地址（可使用 ngrok 或部署到云端）\n\n## 安装步骤\n\n### 1. 克隆仓库\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fjlumbroso\u002Fpassage-of-time-mcp.git\ncd passage-of-time-mcp\n```\n\n### 2. 安装依赖\n推荐使用国内镜像源加速下载。\n\n**方式一：使用 pipenv（推荐）**\n```bash\npipenv install\n```\n\n**方式二：使用 pip**\n```bash\npip install -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple fastmcp pytz\n```\n\n### 3. 启动服务\n```bash\npipenv run server\n# 或者直接使用 python 运行\npipenv run python passage_of_time_mcp.py\n```\n服务默认将在 `http:\u002F\u002F0.0.0.0:8000\u002Fsse` 启动。\n\n## 基本使用\n\n### 1. 暴露服务（本地开发必备）\n由于 Web 端 MCP 客户端无法直接访问本地 `localhost`，您需要使用内网穿透工具（如 ngrok）将本地服务暴露为公网 URL。\n\n```bash\nngrok http 8000\n```\n复制生成的 HTTPS 地址（例如 `https:\u002F\u002Fxxxx.ngrok-free.app`），并在末尾添加 `\u002Fsse`，完整地址形如：`https:\u002F\u002Fxxxx.ngrok-free.app\u002Fsse`。\n\n### 2. 连接客户端（以 Claude.ai 为例）\n1. 打开 Claude.ai，进入 **Settings → Integrations**。\n2. 点击 **\"Add integration\"** 并选择 **\"Custom\"**。\n3. 输入上一步获取的服务器 URL（包含 `\u002Fsse`）。\n4. 保存并启用所有时间相关工具。\n\n### 3. 交互示例\n连接成功后，您可以直接与模型进行时间相关的对话：\n\n**询问当前时间：**\n> **User**: What time is it?\n> **Model**: [调用 current_datetime] It's currently 3:45 PM EST on Monday, January 15, 2024.\n\n**分析对话节奏：**\n> **User**: Let's have a discussion about AI consciousness.\n> **Model**: [自动记录时间戳] Looking at the timestamps, I notice you're taking 30 seconds to 2 minutes between responses...\n\n**理解工作上下文：**\n> **User**: [深夜提问] Can you help me debug this code?\n> **Model**: [识别时间为深夜] I see it's late night on a weekday. Given that it's approaching midnight, let me help you efficiently so you can get some rest.\n\n---\n*注：生产环境建议将服务部署至 Render.com 等云平台以获得更稳定的连接。*","数据分析师正在整理上周的服务器运维日志，需要计算故障持续时间和响应延迟，以便生成准确的运营周报。\n\n### 没有 passage-of-time-mcp 时\n- 大模型常因数学计算缺陷，错误估算两个时间戳间的分钟差，导致关键指标失真。\n- 无法自动判断故障发生的具体情境（如深夜或节假日），难以评估对业务的影响程度。\n- 面对日志中混杂的 Unix 时间戳和 ISO 格式，需人工逐一转换，效率低下且易出错。\n- 生成的时长描述风格混乱，有时精确到秒，有时仅显示小时，影响报告专业性。\n\n### 使用 passage-of-time-mcp 后\n- passage-of-time-mcp 提供专用时间计算工具，确保故障持续时间的计算结果绝对精准。\n- 通过 timestamp_context 功能自动标记时段属性，帮助快速识别非工作时间的异常波动。\n- 内置 parse_timestamp 工具统一处理各种时间格式，实现日志数据的标准化清洗。\n- 利用 format_duration 灵活调整输出样式，使报告中的时间描述既专业又易于理解。\n\npassage-of-time-mcp 将抽象的时间概念转化为可计算的逻辑，显著提升了 AI 在数据分析任务中的可靠性与实用性。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fjlumbroso_passage-of-time-mcp_93eb55df.png","jlumbroso","Jérémie Lumbroso","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fjlumbroso_27bfc92d.jpg","Faculty at Penn CIS. Loves automation, markets, information systems, policy and thinking \"at scale.\"","Department of Computer & Information Sciences, @upenn ","Pennington, NJ","lumbroso@seas.upenn.edu",null,"https:\u002F\u002Fdirectory.seas.upenn.edu\u002Fjeremie-o-lumbroso\u002F","https:\u002F\u002Fgithub.com\u002Fjlumbroso",[86],{"name":87,"color":88,"percentage":89},"Python","#3572A5",100,714,49,"2026-04-05T14:57:48","MPL-2.0","未说明",{"notes":96,"python":97,"dependencies":98},"需 Python 3.12+ 环境；建议使用 pipenv 或 pip 安装依赖；本地开发需使用 ngrok 将 8000 端口暴露至公网以便 Web 客户端连接；当前使用 SSE 传输协议。","3.12+",[99,100],"fastmcp","pytz",[26,53,15],"2026-03-27T02:49:30.150509","2026-04-06T10:27:07.557271",[],[]]