Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
WAKAPI_URLYesThe URL of the Wakapi server
WAKAPI_API_KEYYesYour Wakapi API key
WAKAPI_API_PATHNoThe API path for Wakapi/compat/wakatime/v1

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Server capabilities have not been inspected yet.

Tools

Functions exposed to the LLM to take actions

NameDescription
get_statsC

Retrieve statistics for a given user.

operationId: get-wakatime-stats summary: Retrieve statistics for a given user description: Mimics https://wakatime.com/developers#stats tags: [wakatime] parameters:

  • name: user in: path description: User ID to fetch data for (or 'current') required: true schema: type: string

  • name: range in: path description: Range interval identifier required: true schema: type: string enum: [ "today", "yesterday", "week", "month", "year", "7_days", "last_7_days", "30_days", "last_30_days", "6_months", "last_6_months", "12_months", "last_12_months", "last_year", "any", "all_time" ]

  • name: project in: query description: Project to filter by schema: type: string

  • name: language in: query description: Language to filter by schema: type: string

  • name: editor in: query description: Editor to filter by schema: type: string

  • name: operating_system in: query description: OS to filter by schema: type: str

  • name: machine in: query description: Machine to filter by schema: type: string

  • name: label in: query description: Project label to filter by schema: type: string responses: 200: description: OK schema: v1.StatsViewModel

Requires ApiKeyAuth: Set header Authorization to your API Key encoded as Base64 and prefixed with Basic.

get_projectsB

Retrieve and filter the user's projects.

operationId: get-wakatime-projects summary: Retrieve and filter the user's projects description: Mimics https://wakatime.com/developers#projects tags: [wakatime] parameters:

  • name: user in: path description: User ID to fetch data for (or 'current') required: true schema: type: string

  • name: q in: query description: Query to filter projects by schema: type: string responses: 200: description: OK schema: v1.ProjectsViewModel

Requires ApiKeyAuth: Set header Authorization to your API Key encoded as Base64 and prefixed with Basic.

get_leadersB

List of users ranked by coding activity in descending order.

operationId: get-wakatime-leaders summary: List of users ranked by coding activity in descending order. description: Mimics https://wakatime.com/developers#leaders tags: [wakatime] responses: 200: description: OK schema: v1.LeadersViewModel

Requires ApiKeyAuth: Set header Authorization to your API Key encoded as Base64 and prefixed with Basic.

get_userB

Retrieve the given user.

operationId: get-wakatime-user summary: Retrieve the given user description: Mimics https://wakatime.com/developers#users tags: [wakatime] parameters:

  • name: user in: path description: User ID to fetch (or 'current') required: true schema: type: string responses: 200: description: OK schema: v1.UserViewModel

Requires ApiKeyAuth: Set header Authorization to your API Key encoded as Base64 and prefixed with Basic.

get_all_time_since_todayB

Retrieve summary for all time since today for the specified user.

operationId: get-all-time summary: Retrieve summary for all time description: Mimics https://wakatime.com/developers#all_time_since_today tags: [wakatime] parameters:

  • name: user in: path description: User ID to fetch data for (or 'current') required: true schema: type: string responses: 200: description: OK schema: v1.AllTimeViewModel

Requires ApiKeyAuth: Set header Authorization to your API Key encoded as Base64 and prefixed with Basic.

get_project_detailA

Retrieve a single project.

Mimics undocumented endpoint related to https://wakatime.com/developers#projects.

Requires ApiKeyAuth: Set header Authorization to your API Key encoded as Base64 and prefixed with Basic.

Args: id (str, required): Project ID to fetch. user (str, required, default="current"): User ID to fetch data for (or 'current').

Returns: v1.ProjectViewModel: - data (Project): - id (str): Project ID. - name (str): Project name. - urlencoded_name (str): URL encoded name. - created_at (str): Creation timestamp. - last_heartbeat_at (str): Last activity timestamp. - human_readable_last_heartbeat_at (str): Human readable last activity.

get_recent_logsA

Get heartbeats of user for recent days (extension of heartbeats GET).

Mimics https://wakatime.com/api/v1/users/{user}/heartbeats for multiple days.

Requires ApiKeyAuth: Set header Authorization to your API Key encoded as Base64 and prefixed with Basic.

Args: user (str, required, default="current"): Username (or current). project_name (str, optional): Filter by project. days (int, default=7): Number of days to retrieve. limit (int, default=1000): Maximum number of heartbeats.

Returns: List of HeartbeatEntry: Each with id (str), project (str), language (str), entity (str), time (number), is_write (bool), branch (str), category (str), cursorpos (int), line_additions (int), line_deletions (int), lineno (int), lines (int), type (str), user_agent_id (str), user_id (str), machine_name_id (str), created_at (str). Sorted by time descending.

test_connectionA

Test Wakapi server connection via simple API call to fetch projects.

Returns: A dictionary with the connection test result, including: - status (str): 'success' or 'error'. - message (str): Description of the result. - projects_count (int, optional): Number of projects if successful. - server_url (str): The Wakapi server URL. - api_path (str): The API path used for requests. - error (str, optional): Error message if failed.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 8 tools

Disambiguation5/5

Each tool has a distinct purpose with clear boundaries: get_all_time_since_today for overall summary, get_stats for detailed statistics, get_projects/get_project_detail for project data, get_recent_logs for heartbeat logs, get_user for user info, get_leaders for rankings, and test_connection for connectivity. No overlap or ambiguity exists between these functions.

Naming Consistency4/5

The naming follows a consistent 'verb_noun' pattern with 'get_' prefix for 7 out of 8 tools (e.g., get_stats, get_projects), which is highly predictable. The only deviation is test_connection, which breaks the pattern but remains clear in purpose.

Tool Count5/5

With 8 tools, this server is well-scoped for a Wakatime/Wakapi analytics domain. It covers essential operations like retrieving stats, projects, user data, logs, and rankings without being overwhelming or sparse, fitting the typical 3-15 tool range for focused servers.

Completeness4/5

The toolset provides comprehensive read-only coverage for Wakatime/Wakapi analytics, including user stats, projects, logs, and leaderboards. A minor gap exists in write operations (e.g., creating or updating data), but this aligns with the server's apparent purpose as a data retrieval interface, and agents can work effectively within this scope.

Maintenance

ActivityInactive
ResponsivenessNo issues