ManicTime数据访问服务器

提供对ManicTime活动数据的只读访问,包括应用程序、文档、网站、截图和使用模式。

  • by yllibed
  • C#
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 yllibed/manictime-mcp

使用说明

ManicTime MCP

A.网 主控程序 基于服务器和Repl的命令应用程序,为AI代理和本地操作员提供对本地的只读访问权限 ManicTime 活动数据:应用程序、文档、网站、屏幕截图和使用模式。

兼容性通知 --该项目是一个独立的整合项目,不隶属于ManicTime或Finkit,也不受其认可。

三种对齐模式

同一应用程序显示三个对齐的表面:

模式 目的 典型命令
MCP 向代理客户端提供stdio工具/资源/提示 dnx -y ManicTimeMcp mcp serve
CLI 直接运行一个命令并发出结构化输出 dotnet run --project src/ManicTimeMcp/ManicTimeMcp.csproj -- timeline list --output:json
REPL 通过帮助和发现以交互方式浏览命令图 dotnet run --project src/ManicTimeMcp/ManicTimeMcp.csproj

何时使用哪种模式

  • 使用 MCP 当Claude、Copilot、Codex或其他兼容MCP的客户端应通过stdio调用服务器时。
  • 使用 CLI 当您需要在本地使用一个直接命令时,特别是用于测试有效负载或排除输出故障。
  • 使用 REPL 当你想要交互式发现时, --help,或在连接MCP客户端之前探索路线。

启动应用程序

已发布的包

需要 .NET 10+SDK.直接用 dnx:

dnx -y ManicTimeMcp mcp serve

这将下载最新发布的包并启动MCP服务器 标准.

本地开发

从源启动MCP服务器:

dotnet run --project src/ManicTimeMcp/ManicTimeMcp.csproj -- mcp serve

直接运行一个CLI命令:

dotnet run --project src/ManicTimeMcp/ManicTimeMcp.csproj -- timeline list --output:json

启动交互式REPL:

dotnet run --project src/ManicTimeMcp/ManicTimeMcp.csproj

dotnet run 要求 -- 分离器,因为它会分裂 dotnet 应用程序自己的命令路径中的启动器参数。MCP客户端JSON配置 不 使用此分隔符是因为它们已经将参数作为显式数组传递。

代理配置

Visual Studio/VS代码(副本)

该包嵌入了 .mcp/server.json 显示。浏览 NuGet.org上的ManicTimeMcp,打开 MCP服务器 选项卡,并将生成的配置复制到IDE中。

或手动添加到 .vscode/mcp.json:

{
  "servers": {
    "manictime-mcp": {
      "type": "stdio",
      "command": "dnx",
      "args": ["-y", "ManicTimeMcp", "mcp", "serve"]
    }
  }
}

克劳德代码

claude mcp add manictime-mcp -- dnx -y ManicTimeMcp mcp serve

克劳德桌面版

添加到 claude_desktop_config.json (%APPDATA%\Claude\claude_desktop_config.json):

{
  "mcpServers": {
    "manictime-mcp": {
      "command": "dnx",
      "args": ["-y", "ManicTimeMcp", "mcp", "serve"]
    }
  }
}

OpenAI Codex命令行界面

codex mcp add manictime-mcp -- dnx -y ManicTimeMcp mcp serve

通用MCP JSON配置

{
  "mcpServers": {
    "manictime-mcp": {
      "command": "dnx",
      "args": ["-y", "ManicTimeMcp", "mcp", "serve"],
      "transportType": "stdio"
    }
  }
}

Repl第一表面

命令和MCP工具

Repl/CLI命令 MCP工具 说明
timeline list timeline_list 列出可用的ManicTime时间线
activity list activity_list 特定时间线上的原始活动
activity computer-usage activity_computer-usage 计算机开/关/空闲/锁定活动
usage summary usage_summary 整合应用程序、网站、文档、标签和活动时间使用
summary daily summary_daily 单日结构化摘要
summary narrative summary_narrative 结构化的“我做了什么?”叙事
summary period summary_period 多日概览,包括模式和细分
screenshot list screenshot_list 发现仅包含元数据的屏幕截图
screenshot get screenshot_get 检索屏幕截图有效载荷
screenshot crop screenshot_crop 从屏幕截图中裁剪感兴趣的区域
screenshot save screenshot_save 在MCP客户端根目录中保存屏幕截图
workspace init workspace_init 为没有本机根的客户端初始化软根

资源

资源URI Repl/CLI命令 说明
manictime://resource/config resource config 主动ManicTime配置和解析数据目录
manictime://resource/timelines resource timelines 可用时间线作为资源有效载荷
manictime://resource/health resource health 服务器运行状况和数据库状态
manictime://resource/guide resource guide AI模型和操作员的首次使用指南
manictime://resource/environment resource environment 设备和操作系统信息
manictime://resource/data-range resource data-range 可用数据日期边界

提示

Repl/CLI提示 MCP提示 说明
prompt daily-review prompt_daily-review 总结我约会的活动
prompt weekly-review prompt_weekly-review 总结一个多日的时段
prompt screenshot-investigation prompt_screenshot-investigation 调查日期时间窗口内发生的事情

工作区和屏幕截图保存工作流

screenshot save 仅在MCP客户端根目录内写入。

  • 如果MCP客户端支持本地根, screenshot save 直接使用它们。
  • 如果客户端不支持本机根,请调用 workspace init {path} 首先建立 软根 对于会话,请致电 screenshot save.
  • workspace init 是会话范围的MCP帮助程序。它主要用于代理工作流,而不是作为CLI模式下本地文件系统路径的替代品。

看 docs/modes-and-workspaces.md 以端到端为例。

支持范围

  • 支持: 带本地存储的ManicTime Windows桌面(ManicTimeReports.db).
  • 不支持(v1): ManicTime服务器部署、非Windows客户端、以服务器为中心的收集器。
  • 运输: 仅限stdio。

从源头构建

dotnet restore src/ManicTimeMcp.slnx
dotnet build src/ManicTimeMcp.slnx -warnaserror
dotnet test --solution src/ManicTimeMcp.slnx
dotnet pack src/ManicTimeMcp.slnx -c Release

看 开始.md 先决条件和本地使用,以及 代理商.md 工程规则。

贡献

  1. 阅读 spec/README.md 了解工作流规范。
  2. 选择一个工作流并仅实施该范围。
  3. 看 AGENTS.md 用于构建命令、质量规则和约束。

许可证

麻省理工学院