_ registry / mcp streamable-http · checked 36m ago

clockify-mcp

https://clockify.usefulapi.io

Registry code: 0cef73f30f895b45

api record

Tools for Clockify, hosted by usefulapi.io. Read-only tools never change data; ask the user before a tool that creates, changes or deletes Clockify data. Free plan: 100 tool calls per month. Run clockify_usage_status to see the calls used this month. If the user asks for something none of these tools can do, tell the user and, with their OK, run clockify_request_feature to record the request. Pro (unlimited calls, $9/month or $90/year): when the user wants more calls or reaches the limit, run clockify_upgrade; it returns a Stripe Checkout link for the user to open.…

endpoint
https://clockify.usefulapi.io/mcp
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is clockify-mcp live?
Yes — it answered the hub's last check (checked 36m ago). It answered 100% of checks over the last 30 days.
Is clockify-mcp free to use?
No — it asks for a key or a login before it will serve.
What tools does clockify-mcp have?
21 tools: clockify_create_client, clockify_get_current_user, clockify_update_time_entry, clockify_create_tag, clockify_list_clients, clockify_list_projects, clockify_list_workspaces, clockify_list_users, ….
Is clockify-mcp safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
100%

90 days 100%· all time 100%

latency
280ms

last good check

priced tools
0

of 21 tools

_ answered our checks, 90 days 1 checks · signed record
  • unknown → live
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 21 tools
21 auth-required 21 of 21 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • clockify_create_client auth-required never probed

    WRITE: add a client to a workspace. POST /v1/workspaces/{workspaceId}/clients.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "Client name (unique in the workspace)."
        },
        "note": {
          "type": "string",
          "maxLength": 3000,
          "description": "Note."
        },
        "email": {
          "type": "string",
          "format": "email",
          "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
          "maxLength": 254,
          "description": "Client email."
        },
        "address": {
          "type": "string",
          "maxLength": 3000,
          "description": "Client address."
        },
        "workspace_id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,64}$",
          "description": "Workspace id (from clockify_list_workspaces). Default: your active workspace."
        }
      }
    }
    arguments 37 lines
  • clockify_get_current_user auth-required 36m ago

    The Clockify user this API key belongs to: id, name, email, status, active and default workspace ids, and profile settings (time zone, week start, date/time format). GET /v1/user.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {}
    }
    arguments 5 lines
  • clockify_update_time_entry auth-required never probed

    WRITE: change a time entry's start, end, description, project, task, tags or billable. Only the fields you pass change: the entry is read first and every other field (custom fields included) is sent back as it was. The entry is rewritten (PUT) from a fresh read, so an edit made to the same entry in between (e.g. in the Clockify app) can be lost. A new project without task_id clears the task. GET then PUT /v1/workspaces/{workspaceId}/time-entries/{id}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "time_entry_id"
      ],
      "properties": {
        "end": {
          "type": "string",
          "description": "New end time (also stops a running timer)."
        },
        "start": {
          "type": "string",
          "description": "New start time."
        },
        "tag_ids": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{1,64}$"
          },
          "maxItems": 100,
          "description": "New tag ids (replaces the tags; [] removes them all)."
        },
        "task_id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,64}$",
          "description": "New task id (on the entry's project)."
        },
        "billable": {
          "type": "boolean",
          "description": "New billable flag."
        },
        "project_id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,64}$",
          "description": "New project id."
        },
        "description": {
          "type": "string",
          "maxLength": 3000,
          "description": "New description."
        },
        "workspace_id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,64}$",
          "description": "Workspace id (from clockify_list_workspaces). Default: your active workspace."
        },
        "time_entry_id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,64}$",
          "description": "Time entry id."
        }
      }
    }
    arguments 55 lines
  • clockify_create_tag auth-required never probed

    WRITE: add a tag to a workspace. POST /v1/workspaces/{workspaceId}/tags.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "Tag name (unique in the workspace)."
        },
        "workspace_id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,64}$",
          "description": "Workspace id (from clockify_list_workspaces). Default: your active workspace."
        }
      }
    }
    arguments 20 lines
  • clockify_list_clients auth-required 36m ago

    List the clients of a workspace (id, name, email, address, currency, archived). GET /v1/workspaces/{workspaceId}/clients.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Only clients whose name contains this text."
        },
        "page": {
          "type": "integer",
          "maximum": 100000,
          "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
          "exclusiveMinimum": 0
        },
        "archived": {
          "type": "boolean",
          "description": "true = only archived clients, false = only active ones. Default: both."
        },
        "page_size": {
          "type": "integer",
          "maximum": 200,
          "description": "Results per page, 1-200 (default 50).",
          "exclusiveMinimum": 0
        },
        "workspace_id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,64}$",
          "description": "Workspace id (from clockify_list_workspaces). Default: your active workspace."
        }
      }
    }
    arguments 33 lines
  • clockify_list_projects auth-required 36m ago

    List the projects of a workspace: id, name, client, billable, public, color, archived, duration tracked, estimate and rates. Filter by name, client, user, billable or archived. GET /v1/workspaces/{workspaceId}/projects.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Only projects whose name contains this text."
        },
        "page": {
          "type": "integer",
          "maximum": 100000,
          "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
          "exclusiveMinimum": 0
        },
        "archived": {
          "type": "boolean",
          "description": "true = only archived projects. Default: archived and active."
        },
        "billable": {
          "type": "boolean",
          "description": "true = only billable projects. Default: all."
        },
        "hydrated": {
          "type": "boolean",
          "description": "true = include more detail (custom fields, memberships, estimates)."
        },
        "user_ids": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{1,64}$"
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these users (projects these users are members of) (ids)."
        },
        "page_size": {
          "type": "integer",
          "maximum": 200,
          "description": "Results per page, 1-200 (default 50).",
          "exclusiveMinimum": 0
        },
        "client_ids": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{1,64}$"
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these clients (ids)."
        },
        "workspace_id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,64}$",
          "description": "Workspace id (from clockify_list_workspaces). Default: your active workspace."
        }
      }
    }
    arguments 61 lines
  • clockify_list_workspaces auth-required never probed

    List the Clockify workspaces you belong to: id, name, plan (featureSubscriptionType), subdomain, currencies and default hourly/cost rate. Use the id as workspace_id in other tools. GET /v1/workspaces.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "roles": {
          "type": "array",
          "items": {
            "enum": [
              "WORKSPACE_ADMIN",
              "OWNER",
              "TEAM_MANAGER",
              "PROJECT_MANAGER"
            ],
            "type": "string"
          },
          "maxItems": 4,
          "minItems": 1,
          "description": "Only workspaces where you have one of these roles."
        }
      }
    }
    arguments 21 lines
  • clockify_list_users auth-required never probed

    List the members of a workspace: id, name, email, status and settings. Filter by name, email, status or project access. GET /v1/workspaces/{workspaceId}/users.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Only users whose name contains this text."
        },
        "page": {
          "type": "integer",
          "maximum": 100000,
          "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
          "exclusiveMinimum": 0
        },
        "email": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Only users whose email contains this text."
        },
        "status": {
          "enum": [
            "PENDING",
            "ACTIVE",
            "DECLINED",
            "INACTIVE",
            "ALL"
          ],
          "type": "string",
          "description": "Membership status filter."
        },
        "page_size": {
          "type": "integer",
          "maximum": 200,
          "description": "Results per page, 1-200 (default 50).",
          "exclusiveMinimum": 0
        },
        "project_id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,64}$",
          "description": "Only users with access to this project."
        },
        "workspace_id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,64}$",
          "description": "Workspace id (from clockify_list_workspaces). Default: your active workspace."
        }
      }
    }
    arguments 51 lines
  • clockify_get_project auth-required never probed

    One project by id: name, client, billable, color, note, estimate, duration tracked, rates and memberships. GET /v1/workspaces/{workspaceId}/projects/{projectId}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "project_id"
      ],
      "properties": {
        "hydrated": {
          "type": "boolean",
          "description": "true = include more detail (custom fields, estimates)."
        },
        "project_id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,64}$",
          "description": "Project id (from clockify_list_projects)."
        },
        "workspace_id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,64}$",
          "description": "Workspace id (from clockify_list_workspaces). Default: your active workspace."
        }
      }
    }
    arguments 23 lines
  • clockify_list_tasks auth-required never probed

    List the tasks of a project (id, name, status, assignees, estimate, duration tracked). GET /v1/workspaces/{workspaceId}/projects/{projectId}/tasks.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "project_id"
      ],
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Only tasks whose name contains this text."
        },
        "page": {
          "type": "integer",
          "maximum": 100000,
          "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
          "exclusiveMinimum": 0
        },
        "is_active": {
          "type": "boolean",
          "description": "true = only active tasks, false = only done tasks. Default: both."
        },
        "page_size": {
          "type": "integer",
          "maximum": 200,
          "description": "Results per page, 1-200 (default 50).",
          "exclusiveMinimum": 0
        },
        "project_id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,64}$",
          "description": "Project id (from clockify_list_projects)."
        },
        "workspace_id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,64}$",
          "description": "Workspace id (from clockify_list_workspaces). Default: your active workspace."
        }
      }
    }
    arguments 41 lines
  • clockify_list_tags auth-required never probed

    List the tags of a workspace (id, name, archived). GET /v1/workspaces/{workspaceId}/tags.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Only tags whose name contains this text."
        },
        "page": {
          "type": "integer",
          "maximum": 100000,
          "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
          "exclusiveMinimum": 0
        },
        "archived": {
          "type": "boolean",
          "description": "true = only archived tags, false = only active ones. Default: both."
        },
        "page_size": {
          "type": "integer",
          "maximum": 200,
          "description": "Results per page, 1-200 (default 50).",
          "exclusiveMinimum": 0
        },
        "workspace_id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,64}$",
          "description": "Workspace id (from clockify_list_workspaces). Default: your active workspace."
        }
      }
    }
    arguments 33 lines
  • clockify_list_time_entries auth-required never probed

    List the time entries of one user (default: you), newest first: id, description, project, task, tags, billable and timeInterval (start, end, ISO 8601 duration). Filter by time range, project, task, tags or description. For totals across users use clockify_summary_report. GET /v1/workspaces/{workspaceId}/user/{userId}/time-entries.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "end": {
          "type": "string",
          "description": "Only entries starting before this time (ISO 8601 with a timezone)."
        },
        "page": {
          "type": "integer",
          "maximum": 100000,
          "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
          "exclusiveMinimum": 0
        },
        "start": {
          "type": "string",
          "description": "Only entries starting at or after this time (ISO 8601 with a timezone)."
        },
        "tag_ids": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{1,64}$"
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these tags (ids)."
        },
        "task_id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,64}$",
          "description": "Only entries on this task."
        },
        "user_id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,64}$",
          "description": "User id (from clockify_list_users). Default: you. Other users' entries need an admin or manager role."
        },
        "hydrated": {
          "type": "boolean",
          "description": "true = embed the project, task and tag objects instead of ids only."
        },
        "page_size": {
          "type": "integer",
          "maximum": 200,
          "description": "Results per page, 1-200 (default 50).",
          "exclusiveMinimum": 0
        },
        "project_id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,64}$",
          "description": "Only entries on this project."
        },
        "description": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Only entries whose description contains this text."
        },
        "workspace_id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,64}$",
          "description": "Workspace id (from clockify_list_workspaces). Default: your active workspace."
        }
      }
    }
    arguments 66 lines
  • clockify_get_time_entry auth-required never probed

    One time entry by id: description, project, task, tags, billable, rates, custom fields and timeInterval. GET /v1/workspaces/{workspaceId}/time-entries/{id}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "time_entry_id"
      ],
      "properties": {
        "hydrated": {
          "type": "boolean",
          "description": "true = embed the project, task and tag objects."
        },
        "workspace_id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,64}$",
          "description": "Workspace id (from clockify_list_workspaces). Default: your active workspace."
        },
        "time_entry_id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,64}$",
          "description": "Time entry id (from clockify_list_time_entries)."
        }
      }
    }
    arguments 23 lines
  • clockify_get_running_timer auth-required never probed

    The timer that is running right now for a user (default: you), or running: false. GET /v1/workspaces/{workspaceId}/user/{userId}/time-entries?in-progress=true.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "user_id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,64}$",
          "description": "User id. Default: you."
        },
        "workspace_id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,64}$",
          "description": "Workspace id (from clockify_list_workspaces). Default: your active workspace."
        }
      }
    }
    arguments 16 lines
  • clockify_summary_report auth-required never probed

    Totals of tracked time (seconds) and amounts for a date range across the workspace, grouped by up to 3 levels (default project → time entry), e.g. hours per user per project last month. Respects the filters. POST reports /v1/workspaces/{workspaceId}/reports/summary.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "from",
        "to"
      ],
      "properties": {
        "to": {
          "type": "string",
          "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
          "description": "Last day of the report, yyyy-mm-dd (inclusive)."
        },
        "from": {
          "type": "string",
          "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
          "description": "First day of the report, yyyy-mm-dd (inclusive). On Clockify's FREE plan a report spans at most 31 days."
        },
        "tag_ids": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{1,64}$"
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these tags (ids)."
        },
        "billable": {
          "type": "boolean",
          "description": "true = only billable time, false = only non-billable. Default: both."
        },
        "group_by": {
          "type": "array",
          "items": {
            "enum": [
              "PROJECT",
              "CLIENT",
              "TASK",
              "TAG",
              "USER",
              "USER_GROUP",
              "DATE",
              "WEEK",
              "MONTH",
              "TIMEENTRY"
            ],
            "type": "string"
          },
          "maxItems": 3,
          "minItems": 1,
          "description": "Grouping levels, outermost first (default [PROJECT, TIMEENTRY])."
        },
        "user_ids": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{1,64}$"
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these users (ids)."
        },
        "time_zone": {
          "type": "string",
          "pattern": "^[A-Za-z]+(?:[/_+-][A-Za-z0-9_+-]+){0,3}$",
          "maxLength": 64,
          "description": "IANA time zone the dates are read in, e.g. Europe/Berlin. Default: your Clockify profile's time zone."
        },
        "client_ids": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{1,64}$"
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these clients (ids)."
        },
        "description": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Only entries whose description contains this text."
        },
        "project_ids": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{1,64}$"
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these projects (ids)."
        },
        "workspace_id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,64}$",
          "description": "Workspace id (from clockify_list_workspaces). Default: your active workspace."
        }
      }
    }
    arguments 102 lines
  • clockify_detailed_report auth-required never probed

    Every time entry in a date range across the workspace (user, project, client, task, tags, description, start/end, duration in seconds, amount), with totals; newest first, paged. POST reports /v1/workspaces/{workspaceId}/reports/detailed.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "from",
        "to"
      ],
      "properties": {
        "to": {
          "type": "string",
          "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
          "description": "Last day of the report, yyyy-mm-dd (inclusive)."
        },
        "from": {
          "type": "string",
          "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
          "description": "First day of the report, yyyy-mm-dd (inclusive). On Clockify's FREE plan a report spans at most 31 days."
        },
        "page": {
          "type": "integer",
          "maximum": 100000,
          "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
          "exclusiveMinimum": 0
        },
        "tag_ids": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{1,64}$"
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these tags (ids)."
        },
        "billable": {
          "type": "boolean",
          "description": "true = only billable time, false = only non-billable. Default: both."
        },
        "user_ids": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{1,64}$"
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these users (ids)."
        },
        "page_size": {
          "type": "integer",
          "maximum": 200,
          "description": "Results per page, 1-200 (default 50).",
          "exclusiveMinimum": 0
        },
        "time_zone": {
          "type": "string",
          "pattern": "^[A-Za-z]+(?:[/_+-][A-Za-z0-9_+-]+){0,3}$",
          "maxLength": 64,
          "description": "IANA time zone the dates are read in, e.g. Europe/Berlin. Default: your Clockify profile's time zone."
        },
        "client_ids": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{1,64}$"
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these clients (ids)."
        },
        "description": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Only entries whose description contains this text."
        },
        "project_ids": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{1,64}$"
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these projects (ids)."
        },
        "workspace_id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,64}$",
          "description": "Workspace id (from clockify_list_workspaces). Default: your active workspace."
        }
      }
    }
    arguments 93 lines
  • clockify_create_time_entry auth-required never probed

    WRITE: add a time entry for yourself. With end = a finished entry (log time); without end = a running timer that starts at start (default now). A workspace with required custom fields may refuse it. POST /v1/workspaces/{workspaceId}/time-entries.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "end": {
          "type": "string",
          "description": "End time. Omit to start a running timer."
        },
        "type": {
          "enum": [
            "REGULAR",
            "BREAK"
          ],
          "type": "string",
          "description": "REGULAR (default) or BREAK."
        },
        "start": {
          "type": "string",
          "description": "Start time, ISO 8601 with a timezone. Default: now."
        },
        "tag_ids": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{1,64}$"
          },
          "maxItems": 100,
          "description": "Tag ids (from clockify_list_tags)."
        },
        "task_id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,64}$",
          "description": "Task id on that project (from clockify_list_tasks)."
        },
        "billable": {
          "type": "boolean",
          "description": "Billable. Default: the project's billable setting (read from the project), else not billable."
        },
        "project_id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,64}$",
          "description": "Project id (from clockify_list_projects)."
        },
        "description": {
          "type": "string",
          "maxLength": 3000,
          "description": "What the time was spent on."
        },
        "workspace_id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,64}$",
          "description": "Workspace id (from clockify_list_workspaces). Default: your active workspace."
        }
      }
    }
    arguments 55 lines
  • clockify_stop_timer auth-required never probed

    WRITE: stop the running timer of a user (default: you) at end (default now). Clockify answers 404 if no timer is running. PATCH /v1/workspaces/{workspaceId}/user/{userId}/time-entries.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "end": {
          "type": "string",
          "description": "Stop time, ISO 8601 with a timezone. Default: now."
        },
        "user_id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,64}$",
          "description": "User id. Default: you. Stopping someone else's timer needs an admin role."
        },
        "workspace_id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,64}$",
          "description": "Workspace id (from clockify_list_workspaces). Default: your active workspace."
        }
      }
    }
    arguments 20 lines
  • clockify_delete_time_entry auth-required never probed

    WRITE (destructive): permanently delete one time entry. It cannot be undone. DELETE /v1/workspaces/{workspaceId}/time-entries/{id}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "time_entry_id"
      ],
      "properties": {
        "workspace_id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,64}$",
          "description": "Workspace id (from clockify_list_workspaces). Default: your active workspace."
        },
        "time_entry_id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,64}$",
          "description": "Time entry id to delete."
        }
      }
    }
    arguments 19 lines
  • clockify_create_project auth-required never probed

    WRITE: create a project in a workspace (needs an admin or project-manager role, depending on workspace settings). POST /v1/workspaces/{workspaceId}/projects.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 250,
          "minLength": 2,
          "description": "Project name, 2-250 characters (unique per client)."
        },
        "note": {
          "type": "string",
          "maxLength": 16384,
          "description": "Project note."
        },
        "color": {
          "type": "string",
          "pattern": "^#[0-9a-fA-F]{6}$",
          "description": "Color, #RRGGBB."
        },
        "billable": {
          "type": "boolean",
          "description": "Billable by default."
        },
        "client_id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,64}$",
          "description": "Client id (from clockify_list_clients)."
        },
        "is_public": {
          "type": "boolean",
          "description": "Visible to the whole workspace. Default false: the project is private (visible to its members only)."
        },
        "workspace_id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,64}$",
          "description": "Workspace id (from clockify_list_workspaces). Default: your active workspace."
        }
      }
    }
    arguments 43 lines
  • clockify_create_task auth-required never probed

    WRITE: add a task to a project. POST /v1/workspaces/{workspaceId}/projects/{projectId}/tasks.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "project_id",
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 1000,
          "minLength": 1,
          "description": "Task name."
        },
        "estimate": {
          "type": "string",
          "pattern": "^PT(?=\\d)(?:\\d{1,5}H)?(?:\\d{1,5}M)?(?:\\d{1,5}S)?$",
          "description": "Time estimate, ISO 8601 duration such as PT1H30M."
        },
        "project_id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,64}$",
          "description": "Project id."
        },
        "assignee_ids": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{1,64}$"
          },
          "maxItems": 100,
          "description": "User ids to assign."
        },
        "workspace_id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,64}$",
          "description": "Workspace id (from clockify_list_workspaces). Default: your active workspace."
        }
      }
    }
    arguments 40 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 0cef73f30f895b45.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/0cef73f30f895b45/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/0cef73f30f895b45/badge.svg)](https://brick.blue/agent/0cef73f30f895b45?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.

_ also on usefulapi.io 72 entries

Served from the same domain, which is what was measured. Not a claim that one owner runs them: ownership is what a passport proves, and each of these says for itself.

64 more sit on this domain. All of them.