Skip to main content
Glama

Work Journal MCP Server

一个托管的 MCP 服务器,让团队中的任何成员都可以通过 Claude 阅读他们的 Simplified HR Work Journal——始终是他们自己的条目,并在其现有 Work Journal 权限允许的情况下阅读同事的条目。

只读。这里的任何工具都不能创建、更改或删除条目。

从任何 Claude 客户端连接

无论使用哪个客户端,流程都一样:通过 URL 添加服务器,然后在打开的浏览器窗口中登录。

Claude Desktop 或 claude.ai — 设置 → 连接器 → 添加自定义连接器 →

https://wj-mcp.dev.besimplified.net/mcp

Claude Code

claude mcp add work-journal --transport http https://wj-mcp.dev.besimplified.net/mcp

无论哪种方式,都会打开一个浏览器窗口。使用你的 Simplified HR 邮箱和密码登录。在开发环境中,你还需要输入工作区,例如 development-hr.dev.besimplified.net

如果这是账户服务之前未见过的新设备,你会通过电子邮件或短信收到验证码。输入一次即可;同一客户端不会再要求你输入。

你的密码绝不会到达 Claude,此服务器也绝不会存储它。

工具

work_journal_get_entries

包含某个日期或最多 31 天范围内条目的完整任务详情。

参数

说明

date

单日,YYYY-MM-DD

start_date, end_date

包含起始和结束日期的范围,替代 date 使用

type

可选,见下面的别名表;省略则返回所有类型

member

可选,来自 work_journal_find_member 的另一成员 id

include_tasks

可选,默认 truefalse 时在单次请求中仅返回状态

示例:“显示我上周的 EOD 条目”

work_journal_get_day

完整的一天:每个任务及其备注和附件、被通知的接收人、ETA 和提交时间。

参数

说明

date

必填,YYYY-MM-DD

type

可选,将范围缩小到一种条目类型

member

可选,另一成员 id

示例:“我在 8 月 4 日记录了些什么?”

work_journal_get_summary

按类型和状态对任意时间段进行计数,不包含每日详情。用于超过 31 天的时间段。

参数

说明

start_date, end_date

包含起始和结束日期的范围

year

整个日历年,在未给出明确范围时使用

type

可选

member

可选,另一成员 id

示例:“我今年错过了多少份 EOW 报告?”

work_journal_find_member

通过姓名或电子邮件的一部分查找同事,并返回其成员 id,供上述工具中的 member 参数使用。

参数

说明

query

姓名或电子邮件的一部分,至少两个字符

示例:“查找 Rahul 的成员 id”

work_journal_get_team_report

每个成员一行,包含某时间段内的已提交、待提交和遗漏计数。

参数

说明

start_date, end_date

必填,包含起始和结束日期的范围

type

可选,默认为 EOD

team

可选团队 id,或字面量 unassigned

status

可选:submittedpendingmissed

member

可选,将范围缩小到一个成员

limit, page

可选;默认 15 行,最多 50 行

示例:“上周谁错过了他们的 EOD?”

类型别名

你可以说

解析为

显示为

eod, daily, end of day

daily

EOD

eow, weekly, end of week

weekly

EOW

group eow, group weekly

group_weekly

Group EOW

eom, monthly, end of month

monthly

EOM

匹配不区分大小写,并将空格、连字符和下划线视为等效。

谁能查看谁的日志

此服务器本身不强制执行任何权限。每个请求都携带你自己的 Simplified HR 会话,Work Journal API 会应用与 Web UI 中完全相同的权限:

  • 实例权限 — 你可以阅读你公司的任何成员

  • 组权限 — 你可以阅读你汇报子树中的成员

  • 两者皆无 — 你只能阅读自己的日志,任何尝试阅读其他成员日志的请求都会被拒绝

阅读同事条目时需要注意两点:请求可能被直接拒绝,并且管理员视图不包含草稿、定时和私有条目。因此,某条目缺失并不能证明没有记录任何内容。

限制

  • work_journal_get_entries 会拒绝超过 31 天的范围,并引导你使用 work_journal_get_summary

  • 每次工具调用最多并发运行 4 个请求,因此大范围查询对 API 保持温和

  • “上周”等相对日期由 Claude 在调用前解析;工具只接受 YYYY-MM-DD

在本地运行

npm install
cp .env.example .env      # then fill in the two secrets
WJ_ENV=dev \
WJ_PUBLIC_BASE_URL=http://localhost:8080 \
WJ_TOKEN_KEY=$(openssl rand -hex 32) \
WJ_FINGERPRINT_SECRET=$(openssl rand -hex 32) \
npm start

GET /healthz 应返回 {"status":"ok"}。在没有环境变量的情况下运行 node src/index.js 必须立即退出,并列出所有缺失的变量。

环境变量

变量

必填

用途

WJ_ENV

选择主机预设:devprod。没有默认值,因此空值不能悄然将生产指向开发主机

WJ_PUBLIC_BASE_URL

外部可访问的源,发布在 OAuth 发现文档中

WJ_TOKEN_KEY

64 个十六进制字符;加密会话信封

WJ_FINGERPRINT_SECRET

至少 32 个字符;派生每个成员的设备指纹

WJ_API_BASE_URL

插件 API 主机,当它与 WJ_ENV 的预设不同时

WJ_AUTH_BASE_URL

账户服务源,当它与预设不同时

WJ_PORT

否,默认为 8080

监听端口

WJ_REQUEST_TIMEOUT_MS

否,默认为 15000

每个请求的超时时间

WJ_FINGERPRINT_SECRET 必须在每个任务中保持一致,并且不能随意轮换。 它派生每个成员的稳定设备指纹;更改它会重新要求整个团队输入验证码。

部署说明

  • 仅在 /authorize 上需要 Cookie 粘性。OTP 提交必须到达开始登录的任务,因为进行中的登录会在该进程的内存中保留五分钟。/mcp/token 是无状态的,不能有粘性。

  • 两个密钥都应作为 SecureString 放在 SSM Parameter Store 中,从任务定义的 secrets 块引用——绝不能作为环境字面量。在首次部署之前,为每个环境创建一次;平台中没有其他内容使用 /hr/work-journal-mcp/ 前缀,因此它们不会已存在: GXP4

    ecsTaskExecutionRole 需要对两者具有 ssm:GetParameterskms:Decrypt 权限,否则任务会在任何代码运行之前以 ResourceInitializationError 启动失败。

  • 生产环境拒绝 dev 环境所需的 workspace 登录字段,因此登录页面在 dev 之外隐藏该字段。

安全性

  • 密码永远不会被存储、记录或以任何形式返回浏览器。它们仅在登录进行的几秒钟内存在于内存中。

  • 会话状态封装在只有此服务器才能打开的 AES-256-GCM 加密信封中。Simplified HR JWT 永远不会到达 Claude 或模型。

  • 访问、刷新和授权码信封在密码学上与其类型绑定,因此不能将一种当作另一种使用。

  • 登录尝试按电子邮件地址进行速率限制。

  • 每次工具调用都会记录调用者、工具和日志被读取的成员,因此跨成员读取是可审计的。令牌和条目内容永远不会被记录。

测试

npm test
-
license - not tested
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Read-only MCP server for ClassQuill, a tutoring-business-management platform.

  • Hosted Amazon Seller Central and Amazon Ads MCP server for Claude, ChatGPT, Cursor, and agents.

  • Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sukanya005chakraborty-tech/Work-Journal-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server