Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
AUTH_MODENoAuthentication mode: 'admin_key' (no browser flow) or 'oauth' (per-user browser login).admin_key
LOG_LEVELNoStandard Python logging level.INFO
STATE_DIRNoWhere tokens, certificates, cache and offloaded responses are stored.~/.worksection-mcp
FERNET_KEYNoKey used to encrypt stored OAuth tokens (oauth mode).
MAX_RETRIESNoRetry attempts for retryable HTTP failures.3
CACHE_ENABLEDNoSet to 'true' to enable the in-process response cache.true
RATE_LIMIT_RPSNoOutbound request rate limit.3
OAUTH_CLIENT_IDNoOAuth2 application client id (oauth mode).
CACHE_TTL_SECONDSNoCache entry lifetime in seconds.60
FILE_WORKSPACE_DIRNoAbsolute path to the only directory upload_file may read from.
OAUTH_CLIENT_SECRETNoOAuth2 application client secret (oauth mode).
OAUTH_REDIRECT_PORTNoLoopback port the login listener binds to; '0' picks a free ephemeral port (oauth mode).18030
WORKSECTION_ACCOUNTNoBare account slug from https://<slug>.worksection.com (admin_key mode).
WORKSECTION_API_KEYNoAdmin API key (admin_key mode).
OFFLOAD_THRESHOLD_BYTESNoResponses larger than this are written to disk instead of returned inline.50000
REQUEST_TIMEOUT_SECONDSNoHTTP request timeout in seconds.30
ALLOW_DESTRUCTIVE_OPERATIONSNoSet to 'true' to register delete_task, delete_comment and delete_costs.false

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

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
activate_projectB

Restore an archived project to active status.

add_costsC

Log time (and optionally money) against a task.

add_task_tagsA

Add tags to a task, keeping the tags it already has.

archive_projectA

Close a project and move it to the archive. Reversible with activate_project.

auth_statusA

Report the active authentication mode and, in oauth mode, whether the server has stored login credentials. This reflects whether credentials are on file, not whether the access token happens to be fresh right now - an expired token is refreshed automatically as long as a refresh token is stored. Never returns token values.

complete_taskB

Mark a task as done, closing it in Worksection.

create_projectB

Create a project, optionally with a manager, description and dates.

create_subtaskB

Create a subtask under an existing task.

create_taskC

Create a task in a project, optionally assigned, dated and prioritised.

download_fileA

Fetch one attachment and return it inline as base64. Refuses files larger than max_bytes instead of writing anywhere on disk.

get_activity_logA

List recent account or project activity events over a date range.

get_all_tasksA

List tasks across every project the account can see. Status and assignee filters are re-applied locally because the API's own filtering is unreliable for some combinations.

get_commentsA

List the comments on a task, oldest first.

get_contactsA

List external contacts (clients) registered in the account.

get_costsB

List logged time and cost entries, optionally scoped to a project or task, a date range, or one person.

get_memberA

Find one account member by email or id.

get_member_groupsB

List the member groups (teams) configured for the account.

get_membersA

List the people in the account with their ids, emails and roles.

get_overdue_tasksA

List open tasks whose due date has passed, most overdue first.

get_projectA

Fetch a single project by id, including its status and dates.

get_project_groupsA

List the task groups (folders) configured inside a project.

get_project_membersA

List the people who have access to one project.

get_project_statsA

Count a project's tasks by status and priority bucket.

get_projectsC

List projects visible to the authenticated account.

get_running_timersA

List every timer currently running in the account.

get_subtasksC

List the subtasks of a task.

get_tagsA

List the tag groups and tags configured for the account.

get_taskB

Fetch one task, optionally with its description text, files and subtasks.

get_task_filesA

List the files attached to a task, with their ids, names and sizes.

get_task_tagsA

List the tag names currently applied to a task.

get_tasksA

List tasks inside one project, with local status and assignee filtering.

get_tasks_by_priorityC

Group tasks into high, normal and low priority buckets.

get_tasks_by_statusB

Group tasks by status, with counts and the tasks in each group.

get_team_workloadA

Group open and completed tasks by assignee across the account or one project.

get_time_reportA

Summarise logged time and money for an account, project or task over a date range, totalled per person.

health_checkB

Verify that the configured credentials can reach the Worksection API. Returns a status report instead of raising when the call fails.

list_workspace_filesB

List the files available in the configured workspace directory. Returns an empty list when FILE_WORKSPACE_DIR is not set.

post_commentA

Add a comment to a task.

read_offloaded_responseA

Read one bounded chunk of a response that was too large to return inline. Use the resource_uri and total_chunks from the offload summary.

reopen_taskC

Reopen a previously completed task.

search_tasksA

Search tasks by text, status, assignee, priority and due date, across the account or inside one project. Filtering is applied locally for reliability.

set_task_tagsA

Replace every tag on a task with the given list.

start_timerC

Start a running timer on a task.

stop_timerA

Stop the running timer on a task and store the elapsed time.

update_commentA

Replace the text of an existing comment.

update_costsB

Change the hours, comment, date or amount of an existing time entry.

update_projectC

Change a project's title, description, manager or dates.

update_subtaskB

Change the title, description, assignee, due date or priority of a subtask.

update_taskB

Change the title, description, assignee, dates or priority of a task.

upload_fileB

Attach a file to a task. Provide the content inline as base64, or name a file inside the configured workspace directory. Arbitrary filesystem paths are rejected.

validate_configurationA

Report the server's effective configuration and the result of every local startup check. Contacts no external service and never returns secret values.

worksection_loginA

Start the OAuth2 browser login. Opens the authorization page, waits for the loopback redirect, and stores the resulting tokens encrypted on disk. Has nothing to do in admin_key mode and reports that instead of failing.

worksection_logoutA

Delete the stored OAuth tokens from disk. Only local credentials are removed; nothing in Worksection itself is affected.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.1/5.0

Scored across 53 tools

Disambiguation3/5

The read surface is dense: get_tasks, get_all_tasks, get_tasks_by_status, get_tasks_by_priority, get_overdue_tasks, and search_tasks all return task lists with overlapping filters/grouping, and get_costs/get_time_report plus auth_status/health_check/validate_configuration occupy similar niches. Descriptions are detailed enough to separate them, but an agent can easily pick the wrong variant.

Naming Consistency4/5

The vast majority use a clear verb_noun pattern (get_*, create_*, update_*), with state changes as verb_noun (complete_task, reopen_task, archive_project). Minor deviations like post_comment instead of create_comment, add_costs instead of create_cost, and noun-style auth_status/health_check keep it from a perfect 5.

Tool Count1/5

53 tools is far above the 3-15 well-scoped range and even above the 25+ 'too many' threshold; it is an extreme count for an MCP server. Many variants could be consolidated (e.g., task listing/grouping/search).

Completeness4/5

The surface covers the main Worksection workflow: projects, tasks, subtasks, comments, tags, files, time/costs, timers, members, and activity. The main gap is the lack of delete operations (tasks, projects, comments, files) and no ability to move a task between projects, but these are workable rather than blocking.

Maintenance

ActivityMaintained
ResponsivenessNo issues