Token导航 LogoToken导航TokenDH.com
personal MCP agent logo
AI代理stdio官方级别未说明来源级核验

personal MCP agent

MCP Server

一个模块化的Python个人生产力系统,支持模式感知的任务、项目和笔记创建服务,以及邮件处理和工作流程管理。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
Python任务管理AI代理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

DrMichaelLarsen

提供方

DrMichaelLarsen

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -e .[dev]

详细介绍

个人生产力MCP

一个模块化的Python初学者,用于模式感知的个人生产力系统,该系统公开了固执己见的MCP工具,并仅将LangGraph用于多步骤工作流。

包含在v1中

  • 模式感知任务、项目和注释创建服务
  • 保守项目与置信度元数据匹配
  • 预览第一个标记的电子邮件处理工作流
  • 预览第一天计划工作流程
  • FastAPI健康/功能端点
  • MCP工具/资源注册支架
  • 核心业务逻辑的假适配器和测试
  • 电子邮件工作流启动器,将未读/未处理的电子邮件结构化为任务就绪页面内容,包括摘要、操作项和原始电子邮件正文

电子邮件到任务工作流方向

内部工作流引擎现在为您的Gmail收件箱工作流提供了第一遍电子邮件处理设计:

  • 获取未读/未处理的候选人电子邮件
  • 对它们进行分类
  • 通过AI分析服务边界分析每封电子邮件
  • 使用以下命令生成结构化任务页面内容:

- 摘要 - 行动项目清单 - 原始电子邮件内容

  • 映射尽可能多的任务属性
  • 创建或预览任务结果

现在,“AI”分析步骤被实现为具有确定性启发式的可替换服务边界,因此在连接实时LLM之前,架构已经准备就绪。

运行API

首先安装运行时依赖项:

pip install -e .[dev]

然后运行API:

uvicorn app.main:app --host 0.0.0.0 --port 8000

在Unraid上托管

在Unraid上运行它的最简单方法是作为Docker容器。

1.将项目放在缓存/appdata共享的某个位置

例子:

/mnt/user/appdata/personal-productivity-mcp/

把这些文件放在那里:

  • 项目来源
  • .env
  • 可选的 docker-compose.yml

2.创建您的 .env

复制 .env.example.env 并填写你的价值观。

重要的Unraid样式路径:

PPMCP_GMAIL__CREDENTIALS_PATH=/config/secrets/google-oauth-client.json
PPMCP_CALENDAR__CREDENTIALS_PATH=/config/secrets/google-oauth-client.json

这意味着您的Google凭据JSON应该存在于主机上:

/mnt/user/appdata/personal-productivity-mcp/secrets/google-oauth-client.json

因为compose文件挂载:

/mnt/user/appdata/personal-productivity-mcp/secrets -> /config/secrets

3.构建和运行

从Unraid上的应用程序文件夹中:

docker compose up -d --build

然后打开:

  • http://UNRAID-IP:8000/health
  • http://UNRAID-IP:8000/capabilities

4.n8n集成

从n8n向以下地址发送请求:

http://UNRAID-IP:8000/workflows/process-email-preview

http://UNRAID-IP:8000/workflows/process-email

5.如果你更喜欢Unraid Docker UI而不是compose

使用这些设置:

  • 存储库/构建:从该文件夹构建或预构建映像
  • 端口映射: 8000 -> 8000
  • 体积映射:

- 主机: /mnt/user/appdata/personal-productivity-mcp/secrets - 集装箱: /config/secrets - 模式:只读

  • Env文件:指向您的 .env 如果您的工作流支持它,或者手动输入相同的变量

备注

  • 该应用程序现在可以在Docker中运行了。
  • 你仍然需要容器内的有效Python依赖项 Dockerfile 手柄。
  • 如果你愿意,下一个最好的步骤是我添加一个Unraid友好的预构建图像工作流或更明确的 /docs n8n有效载荷的示例集。

有用的端点:

  • GET /health
  • GET /capabilities
  • POST /workflows/process-email-preview
  • POST /workflows/process-email
  • POST /workflows/process-inbox

从n8n发送一封电子邮件

是的,现在您可以将n8n中的规范化电子邮件有效负载直接POST到此应用程序中。

预览单个电子邮件的请求示例:

POST /workflows/process-email-preview
{
  "email": {
    "id": "gmail-message-id-123",
    "thread_id": "gmail-thread-id-123",
    "subject": "Project Alpha: please review this",
    "sender": "person@example.com",
    "body": "Please review this proposal and send feedback by tomorrow.",
    "received_at": "2026-03-24T17:30:00Z",
    "labels": ["INBOX", "UNREAD"]
  },
  "preview_only": true,
  "confidence_threshold": 0.8
}

示例n8n流程:

  1. Gmail触发器或Gmail节点收到电子邮件
  2. 设置/转换节点将其映射到上面的JSON形状
  3. HTTP请求节点将其发送到:

- POST http://YOUR-HOST:8000/workflows/process-email-preview - 或 POST http://YOUR-HOST:8000/workflows/process-email

建议的n8n HTTP请求正文:

{
  "email": {
    "id": "{{$json.id}}",
    "thread_id": "{{$json.threadId}}",
    "subject": "{{$json.subject}}",
    "sender": "{{$json.from}}",
    "body": "{{$json.textPlain || $json.snippet}}",
    "received_at": "{{$json.internalDate}}",
    "labels": "{{$json.labelIds}}"
  },
  "preview_only": true,
  "confidence_threshold": 0.8
}

首先使用预览,然后在信任提取后切换到提交模式。

收件箱处理的Gmail令牌要求

/workflows/process-inbox 直接使用Gmail API适配器,并且需要可刷新的OAuth令牌文件。

产生 .env:

PPMCP_GMAIL__CREDENTIALS_PATH=/config/secrets/google-oauth-client.json
PPMCP_GMAIL__TOKEN_PATH=/config/secrets/gmail-token.json

这两个文件都应该存在于Unraid主机上的以下位置:

/mnt/user/appdata/personal-productivity-mcp/secrets/

因为该文件夹已装载到容器中 /config/secrets.

如果令牌丢失/过期并且无法刷新,收件箱处理将失败,并出现明显的运行时错误。

快速开始

python -m venv .venv
.venv\Scripts\activate
pip install -e .[dev]
uvicorn app.main:app --reload
pytest

使用.env进行配置

该应用程序从以下位置加载设置 .env 项目根目录中的文件,这更适合Unraid、Docker和其他自托管设置。

  1. 复制 .env.example.env
  2. 填写您的Notion凭据、Google凭据文件路径和数据库ID
  3. 正常启动应用程序

例子:

cp .env.example .env
uvicorn app.main:app --reload

重要提示:

  • PPMCP_NOTION_API_KEY 是您的Notion集成秘密吗
  • Gmail和日历使用凭证文件路径,而不是单个API密钥
  • 在Unraid上,将凭据JSON文件挂载到容器中,并指向 .env 已装载文件的路径
  • 现在,任务模式已设置为映射您的实际任务字段,如 Contexts, Importance, Scheduled, Deadline, Assigned, Goal, dependency_of, parent,以及 Time Required
  • 项目架构已设置为 Status, Area, Parent Project, Target Deadline, Importance, Priority (复选框), Budget,以及 Score 排序
  • 如果您的项目数据库同时具有 Notes 关系和单独的文本摘要字段,设置:

- PPMCP_PROJECTS_DB__NOTES_PROPERTY=Notes (关系) - PPMCP_PROJECTS_DB__DESCRIPTION_PROPERTY=Description (用于匹配的文本/AI摘要)

  • 可靠地保存任务上下文(当 Tasks.Contexts 是一个关系),您必须设置:

- PPMCP_CONTEXTS_DB__DATABASE_ID= - PPMCP_CONTEXTS_DB__TITLE_PROPERTY=Name - PPMCP_CONTEXTS_DB__STATUS_PROPERTY=Status - 并保持 PPMCP_TASKS_DB__CONTEXTS_PROPERTY=Contexts

Unraid/Docker风格路径示例:

PPMCP_GMAIL__CREDENTIALS_PATH=/config/secrets/google-oauth-client.json
PPMCP_CALENDAR__CREDENTIALS_PATH=/config/secrets/google-oauth-client.json

设置模型使用:

  • 前缀: PPMCP_
  • 嵌套分隔符: __

所以 PPMCP_TASKS_DB__DATABASE_ID 映射到 settings.tasks_db.database_id.

项目路由(发件人/域+项目简介)

电子邮件工作流现在支持具有发件人/域偏见的模式感知项目路由。

添加 .env

PPMCP_PROJECT_ROUTING__LEXICAL_WEIGHT=0.65
PPMCP_PROJECT_ROUTING__PROFILE_WEIGHT=0.25
PPMCP_PROJECT_ROUTING__SENDER_BIAS_WEIGHT=1.0
PPMCP_PROJECT_ROUTING__MAX_SENDER_BONUS=0.35

PPMCP_PROJECT_ROUTING={"domain_rules":[{"domain":"hsc.utah.edu","area_contains":["Residency"],"project_contains":["Residency"],"score_bonus":0.3},{"domain":"aah.org","area_contains":["Advocate"],"project_contains":["Advocate"],"score_bonus":0.25}],"sender_rules":[{"sender":"michael.e.larsen@hsc.utah.edu","area_contains":["Residency"],"project_contains":["Rotation"],"score_bonus":0.35}]}

重要行为说明

  • project_contains 检查组合项目配置文件文本,其中包括:

- 标题 - 说明/注释 - 区域路径 - 完整项目路径 - 标签

  • 域匹配按发件人域精确。

- utah.edu 匹配 hsc.utah.edu - 如果需要,添加这两个域。

  • 主题/正文中存在的确切项目标题提高了确定性匹配。

最佳实践电子邮件格式

在主题/正文中使用以下选项之一进行高置信度路由:

  • Project Alpha: follow up on ...
  • [Project: Residency Rotation Tracking] submit duty hours
  • Project: Residency Rotation Tracking 在身体的第一行

Docker/Unraid快速环境代码片段

PPMCP_NOTION_API_KEY=secret_xxx
PPMCP_GMAIL__CREDENTIALS_PATH=/config/secrets/google-oauth-client.json
PPMCP_GMAIL__TOKEN_PATH=/config/secrets/gmail-token.json
PPMCP_CALENDAR__CREDENTIALS_PATH=/config/secrets/google-oauth-client.json
PPMCP_CALENDAR__CALENDAR_ID=primary

PPMCP_TASKS_DB__DATABASE_ID=...
PPMCP_PROJECTS_DB__DATABASE_ID=...
PPMCP_NOTES_DB__DATABASE_ID=...
PPMCP_AREAS_DB__DATABASE_ID=...
PPMCP_CONTEXTS_DB__DATABASE_ID=...

PPMCP_PROJECT_ROUTING__LEXICAL_WEIGHT=0.65
PPMCP_PROJECT_ROUTING__PROFILE_WEIGHT=0.25
PPMCP_PROJECT_ROUTING__SENDER_BIAS_WEIGHT=1.0
PPMCP_PROJECT_ROUTING__MAX_SENDER_BONUS=0.35
PPMCP_PROJECT_ROUTING={"domain_rules":[{"domain":"hsc.utah.edu","area_contains":["Residency"],"project_contains":["Residency"],"score_bonus":0.3}]}

目录标签

目录标签

Python任务管理AI代理个人生产力本地部署邮件处理工作流程自动化Python工具

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP