Borrowing it
Nothing to install: this file belongs to zaplitny/atimelogger-mcp. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/zaplitny/atimelogger-mcp/main/CLAUDE.mdgit clone --depth 1 https://github.com/zaplitny/atimelogger-mcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/instructions/zaplitny/atimelogger-mcp/claude-md)<a href="https://agentmods.dev/instructions/zaplitny/atimelogger-mcp/claude-md"><img src="https://agentmods.dev/badge/instructions/zaplitny/atimelogger-mcp/claude-md/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/instructions/zaplitny/atimelogger-mcp/claude-md"><img src="https://agentmods.dev/badge/instructions/zaplitny/atimelogger-mcp/claude-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.02241 | $0.02241 |
| Opus 5 | $0.01120 | $0.01120 |
| Sonnet 5 | $0.00448 | $0.00448 |
| Haiku 4.5 | $0.00224 | $0.00224 |
Grade A, and why
atimelogger-mcp CLAUDE.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 62 lines — stays where its author put it; the contents beside it link to each section on GitHub.
CLAUDE.md
This file provides guidance to Claude Code when working with code in this repository.
Project Overview
atimelogger-mcp — a standalone MCP (Model Context Protocol) server, TypeScript over stdio, that wraps the ATimeLogger REST API for use from Claude Desktop / Claude Code. It exposes 10 tools: get_current_status, list_activity_types, start_activity, stop_activity, pause_resume_activity, log_interval, update_activity, time_report, list_intervals, app_help.
The backend is a separate, private Spring Boot app; this repo never modifies it — it is a pure API client.
Commands
npm install
npm run build # tsc → dist/
npm run dev # run from source via tsx
npm run setup # paste a Personal Access Token, verify it, print the `claude mcp add` command
npm test # builds, then node --test over test/ — mock-backed, no network or token
# Manual tool testing:
ATL_BASE_URL=... ATL_TOKEN=... npx @modelcontextprotocol/inspector node dist/index.js
Node 20+, ESM, zero runtime deps beyond @modelcontextprotocol/sdk and zod.
Architecture
src/index.ts— entry: McpServer + StdioServerTransport, registers tool groups; declares server-levelinstructions(project overview + cross-tool conventions) surfaced to the LLM at initializesrc/config.ts— env (all parsing lives here).readEnvConfig()is the pure parse: throws on a botched setup, never writes to stderr, never exits — the library path needs both.loadConfig()wraps it with the executable-facing UX (warn, exit) and memoizes. Vars:ATL_BASE_URL(defaulthttps://app.atimelogger.pro, i.e. production),ATL_DOCS_URL(defaulthttps://atimelogger.pro/docs/),ATL_TOKEN(optional: absent → docs-only mode, stderr warning at startup and onlyapp_helpworks — API tools throw setup instructions from client.ts; set-but-empty or stray unrecognizedATL_*vars → fail fast, that's a botched config, not docs-only intent; warns if the token isn't anatl_pat_token)src/client.ts—createApi({token, baseUrl?, fetch?})builds a client from explicit credentials (no env access); bearer auth, error normalization (401 → regenerate-PAT guidance, transport failure →NetworkErrorwithcause). The exportedapiis a lazily-built env-driven default that, in docs-only mode, refuses every call with the setup guidance instead of sending a token-less request.src/types-cache.ts—/api/typescached 60s; fuzzy type-name resolution (exact → substring; ambiguity/no-match → helpful errors). Groups excluded as start/log targets, allowed in report filters.src/timezone.ts— default tz from/api/users/me, per-call overridesrc/periods.ts— period words (today…last_30_days) → date ranges; DST-correct wall-clock↔UTC conversion; Monday-start weeks; zero-dep (Intl)src/format.ts— duration formatting ("2h 15m"),compact()null-strippingsrc/errors.ts—withErrors()wrapper: tool handlers never throw, returnisErrorsrc/tools/{types,activities,reports}.ts— tool definitions (zod schemas) plus the transport-independent operations behind them (currentStatus,listTypes,timeReport,listIntervals,startActivity,stopActivity,pauseResumeActivity,logInterval,updateActivity), each taking an optional trailingCtx. MCP-only presentation (token-savingcompact(), LLM-oriented prose) lives in per-file*ForMcpmappers, so library and CLI consumers get stable typed shapes while tool output is unchanged.src/tools/docs.ts—app_help: fetches the official docs site (configdocsUrl, unauthenticated, separate host from the API). No args → TOC fromhelp-index.json(slug/title/summary per page plus a platformnote, hand-maintained in the atimelogger-docs repo alongside the markdown sources, which the docs deploy copies intosite/);topics→ fetches<slug>.mdpages (fuzzy slug/title match, deduped), strips<figure>blocks and . Non-JSON/shape-invalid manifest → the same "docs unavailable" guidance as network errors. Cached 1h with stale-on-error fallback. Not part of the library entry — it is account-independent and reads env at import.src/ttl-cache.ts— sharedttlCache/ttlCacheByhelpers (single-value and keyed), opt-instaleOnError. Used by docs.ts, and bycreateTypesCache/createTimezone, which build one cache instance per client so accounts stay isolated.staleOnErroris on for timezone (a failed refresh must not clobber a resolved zone) and deliberately off for types (auth/API errors must surface).src/core.ts— public library entry (createClient,clientFromEnv,createApi);src/context.ts—Ctxbundling api + per-client caches, with a lazily-built env-driven default so importing the package never reads env or exitstest/—node --testsuite over a mock backend (test/helpers.mjsbuilds aCtxfrom a route map); includes end-to-end runs of both binariesscripts/setup.ts— prompts for a pasted PAT, verifies it against/api/users/me, prints the readyclaude mcp addcommand
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 62 lines · 2,241 tokens per session scan A 9aa0ed2ab87e
atimelogger-mcp CLAUDE.md is an instructions file published in the GitHub repository zaplitny/atimelogger-mcp (13 stars, last pushed 20d ago), licensed MIT. It adds 2,241 tokens to every session, about $0.0112 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other instructions, from other repositories
next.js AGENTS.md
AGENTS.md instructions for vercel/next.js, covering next.js development guide, codebase structure, monorepo overview, core package: packages/next and other important packages.
codex AGENTS.md
AGENTS.md instructions for openai/codex, covering rust/codex-rs, the codex-core crate, code review rules, crate api surface and model visible context.
vscode buildNext.instructions.md
Working notes and architecture documentation for the new esbuild-based build system in build/next. Use when making changes to the new build pipeline (transpile/bundle commands, NLS plugin, source-map handling, resource copying, or self-hosting watch tasks).
spec-kit AGENTS.md
AGENTS.md instructions for github/spec-kit, covering agents.md, about spec kit and specify, quickstart — add a new integration in 5 steps, integration architecture and integrationmanifest — file tracking.
vscode oss-third-party-notices.instructions.md
Instructions for microsoft/vscode, covering vs code oss third-party-notices pipeline, architecture, pipeline flow in ci, applying the notice (cutover) and fallback chain (never fail the build).
langchain AGENTS.md
AGENTS.md instructions for langchain-ai/langchain, covering global development guidelines for the langchain monorepo, corridor security analysis, project architecture and context, monorepo structure and development tools & commands.