Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
TIMECARD_BASE_URLYesThe base URL of your TimeCard server, including the application path (e.g., http://your-timecard-server/app/)
TIMECARD_PASSWORDYesYour TimeCard password
TIMECARD_USERNAMEYesYour TimeCard username

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
timecard_get_projects

Get list of available projects. Returns project id and name.

Use the project id with timecard_get_activities to get activity options, and with timecard_save to set entries.

timecard_get_activities

Get list of activities for a specific project. Returns activity id, name, and value.

The 'value' field (format: "bottom$uid$pid$progress") is the activity_value needed by timecard_save's entries parameter.

timecard_get_timesheet

Get timesheet data for a specific week. Read-only, no side effects.

Returns for each entry:

  • daily_hours: Hours worked each day (monday-saturday)

  • daily_status: Approval status each day (draft/submitted/approved/rejected)

  • daily_notes: Notes for each day

Status values:

  • draft: Saved but not submitted

  • submitted: Submitted for approval

  • approved: Approved by manager

  • rejected: Rejected by manager

This retrieves SAVED data from the server. Use timecard_save to make changes.

timecard_version

Get TimeCard MCP version information.

Returns:

  • commit: Git commit hash (e.g., "801fd99" or "801fd99-dirty" if has uncommitted changes)

  • branch: Git branch name (e.g., "v2-batch-operations")

  • buildDate: ISO timestamp when the MCP was built

Use this to verify which version of TimeCard MCP is running.

timecard_get_summary

Get summary statistics for the current timesheet week

timecard_save

Atomic save: apply entries, hours, and notes to a specific week in one operation.

This tool fetches the target week's page, reconstructs the full form state, applies your changes on top, and POSTs to the server — all in a single call. No prior setup needed other than authentication (handled automatically).

Parameters:

  • date (REQUIRED): YYYY-MM-DD — any date in the target week. Determines which week to save to.

  • entries: Set project/activity for row slots. Get activity_value from timecard_get_activities.

  • hours: Set hours for specific days. Use date in YYYY-MM-DD format.

  • notes: Set notes for specific days. Use date in YYYY-MM-DD format.

All dates in hours/notes must fall within the same week as the top-level date.

⚠️ WORKFLOW:

  1. timecard_get_timesheet(date) — view current data

  2. timecard_get_activities(project_id) — get activity_value for entries

  3. timecard_save({ — atomic save date: "2026-03-02", entries: [{ entry_index: 0, project_id: "17647", activity_value: "true$9$17647$100" }], hours: [ { entry_index: 0, date: "2026-03-02", hours: 8.0 }, { entry_index: 0, date: "2026-03-03", hours: 8.0 } ], notes: [ { entry_index: 0, date: "2026-03-02", note: "Development" } ] })

NOTE: Only 'save' (draft) is supported. 'submit' (for approval) is strictly prohibited. WARNING: Notes cannot contain special characters: #$%^&*=+{}[]|?'"

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/keith-hung/timecard-mcp'

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