Skip to main content
Glama

List Clockify projects

clockify_list_projects

List projects in a Clockify workspace to map a git repo or task to the right project. Use name filters, include archived projects, or pass config_root to target a specific repository.

Instructions

Lists projects in a workspace. Use to map a git repo or task to a Clockify project. Pass config_root as that repo's git toplevel when this MCP is user-scoped.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoOptional project name filter.
archivedNoInclude archived projects when true.
config_rootNoAbsolute git toplevel of the repo that contains .clockify/config.yml. Resolve once per session with `git rev-parse --show-toplevel` from the working directory (open tabs are not required); reuse that string on later calls unless the repo or focused root changed. Do not pass a multi-root .code-workspace folder.
workspace_idNoWorkspace ID. Defaults to config.yml workspace_id, else the active workspace.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. The read-only nature is conveyed at least implicitly through the word 'lists,' and the user-scoped config nuance is useful. However, it remains silent on edge-case behavior such as what happens when no config or workspace is found, or whether the returned project list is paginated or limited.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero filler, and the core purpose is front-loaded before the config_root caveat. The remaining sentence earns its place because it changes how an agent must supply parameters. This is appropriately concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a low-complexity tool with zero required parameters and a thorough schema, the definition is sufficient to call the tool correctly. The remaining gaps are the lack of any output-schema/return-shape hint and the absence of sibling routing to clockify_ensure_project for the 'project not found' path — meaningful but not disqualifying.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of the 4 parameters with unusually rich descriptions — config_root explains the full resolution/caching strategy, and workspace_id documents its fallback order. The description barely needs to add anything, and its config_root note is consistent with the schema. This is the baseline case: schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource phrase — 'Lists projects in a workspace' — which immediately isolates the tool from sibling listers like clockify_list_tasks and clockify_list_tags. The second sentence adds an explicit use case (mapping a git repo or task to a project). No tautology; the description is accurate and differentiating.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a clear intended use: 'Use to map a git repo or task to a Clockify project,' and it gives conditional guidance about when to pass config_root (when this MCP is user-scoped). It does not explicitly name alternatives or exclusions — for instance, it never routes to clockify_ensure_project when the mapping target does not exist — so it stops short of the fullest guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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/dustinestes/clockify-agent-plugin'

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