E
edouard-claude/gryzzly-mcp
MCP server for Gryzzly time tracking. Log time in plain language, all 50 v1 API endpoints, one Rust binary.
无 SECURITY.md
在 GitHub 查看 ↗链接已于 2026-11-12 核查 · HTTP 200 · 打开的是厂商自己的官网
我们没有从该仓库取到可核对的安装命令,也没有公开的远端端点。这两样都没有时,我们不出配置——编一条出来比不给更糟。 各客户端的接法 →
- ★ 数取值
- 2 ★ · edouard-claude/gryzzly-mcp · 取自 GitHub 搜索 API · (2026-11-13 20:00:50 核对)
- 来源明细
- 收录自 punkpeye/awesome-mcp-servers 榜单(我们从中收集的条目之一) · 条目类型:MCP 服务
- 收录与活跃
- 收录于 2026-10-23 · 最近见到 2026-11-14 · 共见到 26 次 · 被 23 个来源列出
- 评分构成
- 综合分 2,300 · 2 ★ · 23 个来源 · mcp
常见问题(答案都来自我们的记录)
它适合谁 / 用来做什么?
我们把它归在这些标签下: MCP 服务。标签来自条目自身,不是我们强加的分类。
谁维护它、还在更新吗?
仓库
edouard-claude/gryzzly-mcp;我们收录于 2026-10-23;最近见到 2026-11-14。这里没有"官方认证"或"质量评级"——我们只记录来源与时间。# mcp-gryzzly
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
Your timesheet, filled by asking.
A single Rust binary that puts the whole Gryzzly time-tracking API
in front of any MCP client — and makes logging time the easy part.
Ask your assistant "log 2h30 on Alyxa yesterday", "what did I miss last week?",
"fill my timesheet from my commits" — and have it land in the same Gryzzly your
team actually reports on.
console
> log 2h30 on Alyxa yesterday, pairing on the importer
logtime 2h30 on Alyxa / Development, Thursday 2026-09-17
that day now totals 7h30
> did I miss anything last week?
timesheet 2026-W38 · 31h30 over 5 days
.INTERNE 16h40 47.6%
Alyxa 9h00 28.6%
Le14 5h50 23.8%
Friday 2026-09-18 is short: 4h of the 7h expected
No identifiers, no seconds, no date arithmetic. You name a project, say 2h30, and
the server resolves the rest.
## Why
Gryzzly's API is an RPC surface of 50 actions where time is attached to tasks by
UUID, durations are seconds, and a list that matches nothing answers 404. It is a
fine API to integrate and a miserable one to hand a language model raw. This server
is the translation layer.
The whole API, nothing hidden. All 50 documented actions, plus whoami,
logtimebulk and timesheet, which exist because the API has no /me, no
batch and no aggregate. A test fails if that count ever drops.
Names, not UUIDs. Every tool takes a project, task, user or customer by name,
code, email or id. A name that matches two objects comes back with the candidates
rather than a guess — the one thing you never want automated is which project
your afternoon went to.
Durations and dates as people say them. 2h30, 90m, 1.5h, 2:30;
today, yesterday, monday, 2026-W38, last week.
Written for a model to read. Structured output with schemas on all 53 tools,
annotations on every one, three prompts that stop and ask before writing, and
server instructions that say up front that time hangs on tasks.
Fail-closed where it matters. Deletes refuse to run without confirm: true.
GRYZZLYREADONLY=1 withholds every write tool. GRYZZLYTOOLSETS trims the
surface to what you actually use.
One binary, no state. No database, no OAuth dance, no background jobs. An API
key in the environment, stdio or HTTP, and Gryzzly's own rate limit respected from
the client side.
## Install
From source (any platform with Rust 1.88+)
bash
git clone https://github.com/edouard-claude/gryzzly-mcp
cd gryzzly-mcp
cargo build --release
# the binary is at target/release/mcp-gryzzly
With cargo install
bash
cargo install --git https://github.com/edouard-claude/gryzzly-mcp
With Docker
bash
docker build -t mcp-gryzzly .
docker run --rm -i -e GRYZZLYAPIKEY=… mcp-gryzzly
The image runs unprivileged and speaks stdio by default; add --http for the HTTP
transport. See Run it over HTTP instead.
Get an API key from Gryzzly: Administration → API keys. Then check the wiring
before pointing a client at it:
bash
GRYZZLYAPIKEY=… mcp-gryzzly --check
console
base url https://api.gryzzly.io/v1
toolsets time, projects, directory, leaves, budget, exports
read only false
tools 53
team 6 users visible
acting as Edouard CLAUDE
projects 41 (41 active)
ready.
## Configure
| Variable | Required | Default | What it is |
| GRYZZLYAPIKEY | yes | | The API key, sent as Authorization: Bearer … |
A single Rust binary that puts the whole Gryzzly time-tracking API
in front of any MCP client — and makes logging time the easy part.
Ask your assistant "log 2h30 on Alyxa yesterday", "what did I miss last week?",
"fill my timesheet from my commits" — and have it land in the same Gryzzly your
team actually reports on.
console
> log 2h30 on Alyxa yesterday, pairing on the importer
logtime 2h30 on Alyxa / Development, Thursday 2026-09-17
that day now totals 7h30
> did I miss anything last week?
timesheet 2026-W38 · 31h30 over 5 days
.INTERNE 16h40 47.6%
Alyxa 9h00 28.6%
Le14 5h50 23.8%
Friday 2026-09-18 is short: 4h of the 7h expected
No identifiers, no seconds, no date arithmetic. You name a project, say 2h30, and
the server resolves the rest.
## Why
Gryzzly's API is an RPC surface of 50 actions where time is attached to tasks by
UUID, durations are seconds, and a list that matches nothing answers 404. It is a
fine API to integrate and a miserable one to hand a language model raw. This server
is the translation layer.
The whole API, nothing hidden. All 50 documented actions, plus whoami,
logtimebulk and timesheet, which exist because the API has no /me, no
batch and no aggregate. A test fails if that count ever drops.
Names, not UUIDs. Every tool takes a project, task, user or customer by name,
code, email or id. A name that matches two objects comes back with the candidates
rather than a guess — the one thing you never want automated is which project
your afternoon went to.
Durations and dates as people say them. 2h30, 90m, 1.5h, 2:30;
today, yesterday, monday, 2026-W38, last week.
Written for a model to read. Structured output with schemas on all 53 tools,
annotations on every one, three prompts that stop and ask before writing, and
server instructions that say up front that time hangs on tasks.
Fail-closed where it matters. Deletes refuse to run without confirm: true.
GRYZZLYREADONLY=1 withholds every write tool. GRYZZLYTOOLSETS trims the
surface to what you actually use.
One binary, no state. No database, no OAuth dance, no background jobs. An API
key in the environment, stdio or HTTP, and Gryzzly's own rate limit respected from
the client side.
## Install
From source (any platform with Rust 1.88+)
bash
git clone https://github.com/edouard-claude/gryzzly-mcp
cd gryzzly-mcp
cargo build --release
# the binary is at target/release/mcp-gryzzly
With cargo install
bash
cargo install --git https://github.com/edouard-claude/gryzzly-mcp
With Docker
bash
docker build -t mcp-gryzzly .
docker run --rm -i -e GRYZZLYAPIKEY=… mcp-gryzzly
The image runs unprivileged and speaks stdio by default; add --http for the HTTP
transport. See Run it over HTTP instead.
Get an API key from Gryzzly: Administration → API keys. Then check the wiring
before pointing a client at it:
bash
GRYZZLYAPIKEY=… mcp-gryzzly --check
console
base url https://api.gryzzly.io/v1
toolsets time, projects, directory, leaves, budget, exports
read only false
tools 53
team 6 users visible
acting as Edouard CLAUDE
projects 41 (41 active)
ready.
## Configure
| Variable | Required | Default | What it is |
| GRYZZLYAPIKEY | yes | | The API key, sent as Authorization: Bearer … |
收录徽章(可选)
想把收录标记放进 README 就复制这行,可选,不影响收录。
[](https://anclum.com/zh/s/edouard-claude-gryzzly-mcp/)
- 来源
- awesome · https://github.com/edouard-claude/gryzzly-mcp
- 按领域浏览
- MCP 服务
- Traction
- 2 ★
- 收录来源
- 23 个独立来源
- 收录于
- 今天
- 安全策略
- 我们没在该仓库根目录找到
SECURITY.md(这不代表不安全)
同类推荐
所属领域与标签
每个标签都能点进去看同类的全部条目。数字是当前库里的真实条数。