Worksection MCP Server
The Worksection MCP Server lets AI assistants manage a Worksection project management account via natural language, covering projects, tasks, comments, members, and tags.
Projects: List (with status filtering), get details, create, update, archive/activate, and retrieve project folders.
Tasks: List all or project-specific tasks, get details (including subtasks and files), create tasks/subtasks, update, complete/reopen, and search by text, assignee, project, or date range.
Comments: Get comments on a task (optionally including attachments) and post new comments.
Members: List all account members (with email, name, role, and status); add members to a project.
Tags: List available tags; set tags on a task by name or ID.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Worksection MCP Serverlist all active tasks in the Website Redesign project"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Worksection MCP Server
MCP (Model Context Protocol) server for Worksection β a project management platform popular in Ukraine and Eastern Europe.
Lets AI assistants like Claude interact with your Worksection account through natural language: manage projects, tasks, comments, members, and tags.
Table of Contents
Related MCP server: OpenProject MCP Server
Quick Start
# 1. Install
git clone https://github.com/novgorodskii/worksection-mcp-server.git
cd worksection-mcp-server
npm install && npm run build
# 2. Configure env vars
export WORKSECTION_URL=https://yourcompany.worksection.com
export WORKSECTION_API_KEY=your_api_key_here
# 3. Run
node dist/index.jsGet your API key in Worksection: Account β API β Show API key (only the account owner has access).
Installation
Prerequisites
Node.js 18 or higher
A Worksection account with admin access
From source
git clone https://github.com/novgorodskii/worksection-mcp-server.git
cd worksection-mcp-server
npm install
npm run buildEnvironment variables
Set these in your shell or create a .env file (see .env.example):
Variable | Description |
| Your Worksection URL (e.g. |
| Admin API key from Worksection settings |
Configuration
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"worksection": {
"command": "node",
"args": ["/path/to/worksection-mcp-server/dist/index.js"],
"env": {
"WORKSECTION_URL": "https://yourcompany.worksection.com",
"WORKSECTION_API_KEY": "your_api_key_here"
}
}
}
}Claude Code
claude mcp add worksection -- node /path/to/worksection-mcp-server/dist/index.jsMake sure WORKSECTION_URL and WORKSECTION_API_KEY are set in your shell environment.
Direct execution
WORKSECTION_URL=https://yourcompany.worksection.com \
WORKSECTION_API_KEY=your_key \
node dist/index.jsAvailable Tools
The server exposes 21 tools across 5 categories.
Tool | Description |
| List all projects with optional status filter |
| Get detailed project info |
| Create a new project |
| Update project details |
| Archive a project |
| Activate an archived project |
| List project folders |
Tool | Description |
| List all tasks across projects |
| List tasks in a specific project |
| Get detailed task info |
| Create a task (or subtask) |
| Update task details |
| Mark task as done |
| Reopen a completed task |
| Search tasks by text, assignee, dates, etc. |
Tool | Description |
| Get all comments on a task |
| Post a comment to a task |
Tool | Description |
| List all account members |
| Add members to a project |
Tool | Description |
| List available tags/labels |
| Set tags on a task |
Authentication
This server uses the Admin Token authentication method:
Generates an MD5 hash from query parameters + API key
Provides full access to all account data
Only the account owner can generate the API key
For per-user access, see the Worksection OAuth 2.0 docs.
Rate Limits
Worksection enforces a 1 request per second rate limit. This server handles it automatically β requests are queued with a minimum 1.1s interval, so you don't have to worry about hitting the limit.
Security
π API key is read from environment variables only β never hardcoded
β All inputs validated with Zod schemas
π₯οΈ Runs locally via stdio transport β no network exposure
π‘οΈ Worksection API itself doesn't allow deletion of projects, tasks, comments, or members (safety by design)
Development
npm run dev # Watch mode (auto-recompile)
npm run build # One-time build
npm start # Run the serverProject Structure
worksection-mcp-server/
βββ src/
β βββ index.ts # Server entry point
β βββ types.ts # TypeScript type definitions
β βββ constants.ts # Shared constants
β βββ services/
β β βββ client.ts # Worksection API client (auth + rate limit)
β β βββ formatters.ts # Markdown formatting helpers
β βββ tools/
β βββ projects.ts # Project management tools
β βββ tasks.ts # Task management tools
β βββ comments.ts # Comment tools
β βββ members.ts # Member/team tools
β βββ tags.ts # Tag/label tools
βββ package.json
βββ tsconfig.json
βββ README.mdLicense
Available Tools
21 toolsworksection_activate_projectActivate Worksection ProjectAIdempotent
Activate (unarchive) a previously archived Worksection project.
Args:
id_project (string, required): Project ID to activate
Returns: Confirmation of activation.
| Name | Required | Description | Default |
|---|---|---|---|
| id_project | Yes | Project ID to activate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds valuable context beyond annotations: it clarifies that activation applies to archived projects (a prerequisite state) and mentions the return value ('Confirmation of activation'). Annotations already indicate this is a non-destructive, idempotent, open-world mutation (readOnlyHint=false, destructiveHint=false, idempotentHint=true, openWorldHint=true), but the description provides useful operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly structured and concise: one clear purpose sentence, followed by a brief Args section with only the essential parameter, and a Returns statement. Every sentence earns its place with no wasted words, and the most important information (what the tool does) is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter mutation tool with comprehensive annotations but no output schema, the description is nearly complete. It covers the purpose, parameter, and return value. The main gap is lack of detail about what 'Confirmation of activation' contains, but given the annotations provide safety context and the tool is relatively simple, this is a minor omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description's Args section repeats the parameter information already fully covered in the input schema (100% schema description coverage). It adds no additional meaning beyond what the schema provides about 'id_project'. With complete schema coverage, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Activate (unarchive)') and resource ('a previously archived Worksection project'), distinguishing it from siblings like 'worksection_archive_project' (which performs the opposite action) and 'worksection_create_project' (which creates new projects). The parenthetical '(unarchive)' provides helpful clarification of the operation's effect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states this is for 'previously archived' projects, providing clear context about when to use it. However, it doesn't explicitly mention when NOT to use it or name specific alternatives (though the sibling list includes related tools like 'worksection_archive_project' and 'worksection_update_project').
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
worksection_add_project_membersAdd Members to ProjectBIdempotent
Add one or more members to a Worksection project team.
Args:
id_project (string, required): Project ID
members (string, required): Comma-separated list of member email addresses
Returns: Confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| id_project | Yes | Project ID | |
| members | Yes | Comma-separated email addresses of members to add |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide key behavioral hints: readOnlyHint=false (write operation), destructiveHint=false (non-destructive), idempotentHint=true (safe to retry), and openWorldHint=true (handles new data). The description adds minimal context beyond thisβit specifies the action is 'Add' and mentions a confirmation return, but does not detail error cases, rate limits, or permission requirements. With annotations covering core traits, the description adds some value but lacks rich behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded, with the core purpose in the first sentence. The Args and Returns sections are structured but slightly redundant with the schema. Every sentence contributes, though the parameter details could be trimmed since they're covered in the schema, keeping it efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (a write operation with 2 parameters), annotations provide good coverage of behavioral traits, and the schema fully describes inputs. However, there is no output schema, and the description only vaguely mentions 'Confirmation' without detailing response format or error handling. For a mutation tool, this leaves gaps in understanding outcomes, making it adequate but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters (id_project and members) fully documented in the schema. The description repeats the parameter names and adds that members are 'comma-separated email addresses,' which is already stated in the schema. It provides no additional meaning, syntax examples, or constraints beyond what the schema offers, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Add one or more members') and resource ('to a Worksection project team'), using a precise verb. It distinguishes this tool from sibling tools like worksection_get_members (which retrieves members) and worksection_create_project (which creates projects), establishing a unique purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., project must exist, members must be valid users), exclusions, or comparisons to sibling tools like worksection_update_project (which might handle member updates differently). Usage is implied but not explicitly defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
worksection_archive_projectArchive Worksection ProjectBIdempotent
Archive (close) a Worksection project.
Args:
id_project (string, required): Project ID to archive
Returns: Confirmation of archival.
| Name | Required | Description | Default |
|---|---|---|---|
| id_project | Yes | Project ID to archive |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide key behavioral traits (readOnlyHint=false, destructiveHint=false, idempotentHint=true, openWorldHint=true), so the description's burden is lower. It adds context by clarifying that archiving means 'closing' a project, which is useful beyond annotations. However, it doesn't disclose additional aspects like permissions needed, rate limits, or what 'confirmation' entails, leaving some gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core action and resource, followed by structured Args and Returns sections. It's efficient with minimal waste, though the Args section redundantly repeats schema info. Every sentence serves a purpose, but slight verbosity in parameter documentation reduces perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given one parameter with full schema coverage and annotations covering safety and idempotency, the description is adequate but incomplete. It lacks output details (no schema), doesn't explain archival effects (e.g., if reversible), and misses usage context. For a mutation tool, more behavioral context would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the parameter 'id_project' fully documented in the schema as 'Project ID to archive'. The description repeats this exactly in the Args section, adding no extra meaning beyond the schema. Baseline score of 3 applies since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Archive (close)') and resource ('a Worksection project'), making the purpose unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'worksection_update_project' or 'worksection_complete_task' which might also affect project status, missing full sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. For example, it doesn't mention when to archive versus update, complete, or activate a project, or if there are prerequisites like project status. The description only states what it does, not when to choose it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
worksection_complete_taskComplete Worksection TaskBIdempotent
Mark a task as completed (done).
Args:
id_task (string, required): Task ID to complete
Returns: Confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| id_task | Yes | Task ID to complete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover key traits (readOnlyHint=false, destructiveHint=false, idempotentHint=true, openWorldHint=true), so the description's burden is lower. It adds minimal context by implying a state change to 'done', but doesn't detail behavioral aspects like error conditions (e.g., invalid ID), side effects (e.g., notifications), or confirmation specifics. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the core action ('Mark a task as completed'), followed by minimal parameter and return info. It avoids unnecessary elaboration, though the 'Args' and 'Returns' sections are somewhat redundant given the schema and could be integrated more seamlessly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (mutation with one parameter), annotations provide safety and idempotency info, but no output schema exists. The description covers the basic action and parameter, but lacks details on return values (beyond 'Confirmation'), error handling, or integration with sibling tools, leaving gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the parameter 'id_task' fully documented in the schema as 'Task ID to complete'. The description repeats this without adding extra meaning (e.g., format examples, sourcing instructions). With high schema coverage, the baseline is 3, and the description doesn't enhance beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Mark a task as completed') and resource ('Worksection Task'), making the purpose immediately understandable. It distinguishes from siblings like 'worksection_reopen_task' by specifying completion, though it doesn't explicitly contrast with all related tools like 'worksection_update_task'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., task must exist, user must have permissions), exclusions (e.g., cannot complete already completed tasks), or compare with siblings like 'worksection_update_task' which might also handle status changes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
worksection_create_projectCreate Worksection ProjectB
Create a new project in Worksection.
Args:
title (string, required): Project name
email_manager (string, optional): Email of the project manager
email_user_from (string, optional): Email of the project creator
text (string, optional): Project description
date_start (string, optional): Start date in YYYY-MM-DD format
date_end (string, optional): Due date in YYYY-MM-DD format
max_time (string, optional): Time estimate in hours
max_money (string, optional): Financial budget estimate
Returns: Created project data with ID.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Project name | |
| email_manager | No | Project manager email | |
| email_user_from | No | Creator email | |
| text | No | Project description | |
| date_start | No | Start date YYYY-MM-DD | |
| date_end | No | Due date YYYY-MM-DD | |
| max_time | No | Time estimate in hours | |
| max_money | No | Budget estimate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is a non-readonly, non-destructive, non-idempotent operation with open-world semantics. The description adds minimal behavioral context beyond thisβit mentions the return format ('Created project data with ID') but doesn't cover error conditions, rate limits, authentication requirements, or side effects. With annotations providing the safety profile, this earns a baseline score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose in the first sentence. The parameter list is organized but could be more conciseβsome details (like date formats) are redundant with the schema. Overall, it's efficient with minimal waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (8 parameters, creation operation) and lack of output schema, the description is adequate but not complete. It covers the basic purpose and parameters but lacks usage context, error handling, or detailed return value explanation. Annotations help, but more behavioral detail would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all parameters. The description lists parameters but adds no additional meaning beyond what's in the schema (e.g., format details like 'YYYY-MM-DD' are already in schema patterns). It meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the verb ('Create') and resource ('new project in Worksection'), making the purpose immediately clear. It distinguishes this tool from sibling tools like 'worksection_update_project' or 'worksection_get_projects' by specifying it's for creation rather than modification or retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., required permissions), when not to use it (e.g., for updating existing projects), or refer to sibling tools like 'worksection_update_project' for modifications.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
worksection_create_taskCreate Worksection TaskA
Create a new task in a Worksection project.
Args:
id_project (string, required): Project ID where the task will be created
title (string, required): Task name
id_parent (string, optional): Parent task ID to create as a subtask
email_user_to (string, optional): Assignee email
email_user_from (string, optional): Creator email
text (string, optional): Task description
priority (string, optional): Priority 0-10 (0=lowest, 10=highest)
date_start (string, optional): Start date YYYY-MM-DD
date_end (string, optional): Due date YYYY-MM-DD
todo (string, optional): Checklist items, one per line
max_time (string, optional): Time estimate in hours
max_money (string, optional): Budget estimate
Returns: Created task data with ID.
| Name | Required | Description | Default |
|---|---|---|---|
| id_project | Yes | Project ID | |
| title | Yes | Task name | |
| id_parent | No | Parent task ID (for subtasks) | |
| email_user_to | No | Assignee email | |
| email_user_from | No | Creator email | |
| text | No | Task description | |
| priority | No | Priority 0-10 | |
| date_start | No | Start date YYYY-MM-DD | |
| date_end | No | Due date YYYY-MM-DD | |
| todo | No | Checklist items, one per line | |
| max_time | No | Time estimate (hours) | |
| max_money | No | Budget estimate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is a non-destructive, non-idempotent, open-world write operation (readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: true). The description adds minimal behavioral context beyond this, mentioning the return format ('Created task data with ID') but not addressing permissions, rate limits, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear purpose statement followed by a parameter list and return note. It's appropriately sized for a tool with 12 parameters, though the parameter list is somewhat redundant given the schema coverage, making it slightly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (12 parameters, write operation) and lack of output schema, the description provides adequate context by listing parameters and specifying the return format. However, it could be more complete by addressing authentication needs or error handling, though annotations cover basic behavioral traits.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents all parameters thoroughly. The description repeats parameter details in a structured list but adds little semantic value beyond what's in the schema, such as clarifying priority scale (0=lowest, 10=highest) or date formats, which are already covered.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Create a new task') and resource ('in a Worksection project'), distinguishing it from sibling tools like worksection_update_task or worksection_complete_task. It precisely defines the tool's purpose without being tautological.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for creating tasks but doesn't explicitly state when to use this tool versus alternatives like worksection_update_task or worksection_create_project. It provides no guidance on prerequisites, exclusions, or specific scenarios where this tool is preferred over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
worksection_get_all_tasksList All Worksection TasksARead-onlyIdempotent
Get all tasks across all projects in the Worksection account.
Args:
filter (string, optional): Set to "active" to get only incomplete tasks
extra (string, optional): Comma-separated extras: "text", "html", "files", "comments", "relations", "subtasks", "archive"
Returns: List of tasks with id, name, status, priority, author, assignee, project, dates, estimates, tags.
Note: This may return a large dataset. Use filter="active" or get tasks per project for better performance.
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | Set to "active" to get only incomplete tasks | |
| extra | No | Comma-separated: "text", "html", "files", "comments", "relations", "subtasks", "archive" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds valuable behavioral context beyond what annotations provide. While annotations already declare this as a safe, read-only operation (readOnlyHint=true, destructiveHint=false, idempotentHint=true), the description warns about performance implications ('This may return a large dataset') and provides practical guidance on managing data volume. This enhances the agent's understanding of real-world usage considerations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly structured and concise. It begins with the core purpose, provides parameter details in a clear Args section, specifies return values, and ends with important performance notes. Every sentence earns its place, with zero wasted words, and critical information is front-loaded appropriately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list operation with comprehensive annotations and full schema coverage, this description is complete. It covers purpose, parameters, returns, and important behavioral considerations (performance). The absence of an output schema is compensated by the clear return value description. No additional context is needed for this tool's complexity level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the schema already fully documents both parameters. The description's Args section essentially repeats what's in the schema without adding significant semantic context. The baseline score of 3 is appropriate since the schema does the heavy lifting, though the description doesn't add meaningful value beyond the structured data.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verb ('Get') and resource ('all tasks across all projects'), distinguishing it from sibling tools like worksection_get_tasks (likely project-specific) and worksection_search_tasks (search-focused). It explicitly mentions the scope 'across all projects' which differentiates it from more targeted alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use alternatives: 'Use filter="active" or get tasks per project for better performance.' It directly addresses performance concerns and suggests specific sibling tools (implied by 'get tasks per project') as better alternatives for certain use cases, making the when/when-not guidance clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
worksection_get_commentsGet Task CommentsARead-onlyIdempotent
Get all comments for a specific Worksection task.
Args:
id_task (string, required): Task ID
extra (string, optional): Set to "files" to include attached files info
Returns: List of comments with author, text, date, and optionally file attachments.
| Name | Required | Description | Default |
|---|---|---|---|
| id_task | Yes | Task ID | |
| extra | No | Set to "files" to include file attachments |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, non-destructive, idempotent, and open-world hints. The description adds valuable context by specifying the return format ('List of comments with author, text, date, and optionally file attachments'), which is not captured in annotations. It doesn't contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, followed by structured Args and Returns sections. Every sentence adds value: the first states the action, and the subsequent lines clarify parameters and output. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity, rich annotations (covering safety and behavior), and 100% schema coverage, the description is mostly complete. It lacks an output schema but describes the return format. Minor gaps include no pagination details or error handling, but overall it's sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents both parameters. The description repeats the parameter information without adding meaning beyond the schema, such as example values or edge cases. Baseline 3 is appropriate given high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Get all comments') and resource ('for a specific Worksection task'), distinguishing it from sibling tools like worksection_get_task or worksection_post_comment. It precisely defines the scope of retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when comments for a task are needed, but provides no explicit guidance on when to use this tool versus alternatives like worksection_get_task (which might include comments) or worksection_search_tasks. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
worksection_get_membersList Worksection MembersARead-onlyIdempotent
Get all members (users) of the Worksection account.
Returns: List of members with id, email, name, online status, and role.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, non-destructive, idempotent, and open-world behavior. The description adds value by specifying the return format (list with id, email, name, online status, role), which isn't covered by annotations. No contradictions exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero waste: the first states the purpose, the second details the return format. It's front-loaded and efficiently structured, with every sentence adding essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with no parameters and comprehensive annotations, the description is nearly complete. It covers purpose and output format, though it could slightly improve by mentioning any limitations (e.g., pagination, sorting) to reach a perfect score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0 parameters and 100% schema description coverage, the baseline is 4. The description appropriately omits parameter details since none exist, focusing instead on the tool's purpose and output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Get all members') and resource ('Worksection account'), distinguishing it from sibling tools that focus on projects, tasks, comments, or tags. It provides a complete picture of what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving member information, but lacks explicit guidance on when to use this versus alternatives (e.g., for user lookup vs. project-specific member tools like worksection_add_project_members). No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
worksection_get_projectGet Worksection Project DetailsARead-onlyIdempotent
Get detailed information about a specific Worksection project by its ID.
Args:
id_project (string, required): The project ID
extra (string, optional): Additional data β comma-separated: "text", "html", "options", "users"
Returns: Project details including name, status, dates, team members, settings.
| Name | Required | Description | Default |
|---|---|---|---|
| id_project | Yes | Project ID | |
| extra | No | Comma-separated extras: "text", "html", "options", "users" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true, covering safety and idempotency. The description adds minimal behavioral context beyond this, such as specifying that it returns 'detailed information' and listing example data types (name, status, dates, etc.), but does not disclose rate limits, authentication needs, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded with the core purpose in the first sentence. The 'Args' and 'Returns' sections are clear but slightly verbose; every sentence earns its place by providing necessary details without redundancy, though it could be more concise by integrating the parameter explanations more seamlessly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (2 parameters, no nested objects), rich annotations (covering safety and idempotency), and 100% schema coverage, the description is mostly complete. It lacks an output schema, but the 'Returns' section adequately summarizes the response. It could improve by mentioning error cases or authentication requirements, but it suffices for this simple read operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters (id_project and extra) fully described in the schema. The description adds slight value by clarifying that 'extra' provides 'additional data' and listing the comma-separated options, but this mostly repeats schema information. With high schema coverage, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get detailed information') and resource ('about a specific Worksection project'), making the purpose explicit. It distinguishes from sibling tools like 'worksection_get_projects' (plural) by specifying retrieval of a single project by ID, and from 'worksection_get_project_folders' by focusing on project details rather than folders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by stating 'by its ID', suggesting this tool is for retrieving details of a known project. However, it does not explicitly state when to use this vs. alternatives like 'worksection_get_projects' (for listing projects) or 'worksection_get_task' (for task details), nor does it mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
worksection_get_project_foldersList Worksection Project FoldersARead-onlyIdempotent
Get all project folders (groups) in the Worksection account.
Returns: List of folders with id and name.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover key behaviors (read-only, non-destructive, idempotent, open-world), so the description adds minimal value by specifying the return format ('List of folders with id and name'). It doesn't disclose additional traits like pagination, error handling, or authentication needs, but doesn't contradict annotations either.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core action and resource, followed by a concise note on returns. Both sentences earn their place by providing essential information without redundancy, making it efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema) and rich annotations, the description is mostly complete. It covers purpose and return format, but could improve by clarifying scope relative to siblings or adding usage context, though not critical for this low-complexity tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0 parameters and 100% schema description coverage, the baseline is high. The description doesn't need to explain parameters, and it correctly notes there are no inputs, so it adequately compensates by focusing on the output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('all project folders (groups) in the Worksection account'), making the purpose specific. However, it doesn't explicitly differentiate from sibling tools like 'worksection_get_projects' or 'worksection_get_tasks', which could cause confusion about scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. With siblings like 'worksection_get_projects' and 'worksection_get_tasks', the description lacks context about whether this is for high-level folder navigation or specific project details, leaving usage ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
worksection_get_projectsList Worksection ProjectsARead-onlyIdempotent
List all projects in the Worksection account with optional filtering by status.
Args:
filter (string, optional): Filter by status β "active", "pending", or "archived"
extra (string, optional): Additional data to include β comma-separated: "text", "html", "options", "users"
Returns: List of projects with id, name, status, folder, author, manager, dates, estimates, tags.
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | Filter by project status: "active", "pending", or "archived" | |
| extra | No | Comma-separated extras: "text", "html", "options", "users" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true, covering safety and idempotency. The description adds context about optional filtering and extra data inclusion, which is useful behavioral detail beyond annotations. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, followed by Args and Returns sections. It's appropriately sized with no wasted sentences, though the Args section slightly repeats schema info.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (list operation), rich annotations, and 100% schema coverage, the description is mostly complete. It lacks output schema but describes return values. Could improve by mentioning pagination or limits, but adequate for context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters well-documented in the schema. The description's Args section repeats schema info but adds minimal extra meaning (e.g., listing specific extra options). Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and resource 'all projects in the Worksection account' with optional filtering. It distinguishes from sibling tools like worksection_get_project (singular) and worksection_get_project_folders by specifying it returns all projects, not just one or folders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing projects with optional status filtering, but doesn't explicitly state when to use this vs. alternatives like worksection_get_project (for a single project) or worksection_search_tasks (for task-specific queries). No explicit exclusions or prerequisites are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
worksection_get_tagsGet Worksection TagsARead-onlyIdempotent
Get all available tags (labels/statuses) for projects or tasks.
Args:
type (string, optional): "project" for project tags, "task" for task tags. Defaults to both.
Returns: List of tags with id and name.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Tag type: "project" or "task" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, non-destructive, idempotent, and open-world behavior, so the description does not need to repeat these. It adds valuable context by specifying that it returns 'List of tags with id and name', which clarifies the output format beyond annotations. No contradictions with annotations are present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose in the first sentence, followed by concise 'Args' and 'Returns' sections that add necessary details without waste. Every sentence earns its place by clarifying usage and output, making it efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (one optional parameter), rich annotations (covering safety and behavior), and no output schema, the description is mostly complete. It explains the purpose, parameter usage, and return format. However, it could improve by mentioning pagination or rate limits, though annotations hint at open-world behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with the parameter 'type' fully documented in the schema as an enum for 'project' or 'task'. The description adds minimal value by restating this as 'project' for project tags, 'task' for task tags, and noting it defaults to both, but does not provide additional semantics beyond the schema. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'all available tags (labels/statuses) for projects or tasks', making the purpose specific and actionable. It distinguishes itself from siblings like worksection_set_task_tags (which sets tags) and worksection_get_projects/tasks (which retrieve projects/tasks, not tags), avoiding redundancy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context by specifying that it retrieves tags for 'projects or tasks', and the optional 'type' parameter allows filtering. However, it does not explicitly state when to use this tool versus alternatives (e.g., no mention of using worksection_get_project or worksection_get_task for tag info within those resources), so it lacks explicit exclusions or named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
worksection_get_taskGet Worksection Task DetailsARead-onlyIdempotent
Get detailed information about a specific task.
Args:
id_task (string, required): Task ID
extra (string, optional): Comma-separated: "text", "html", "files", "comments", "relations", "subtasks"
Returns: Full task details including description, subtasks, files, relations.
| Name | Required | Description | Default |
|---|---|---|---|
| id_task | Yes | Task ID | |
| extra | No | Comma-separated extras |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true, covering safety and idempotency. The description adds context about what details are returned (description, subtasks, files, relations) and mentions the 'extra' parameter for additional data, which provides useful behavioral information beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured with a clear purpose statement, parameter explanations, and return value summary in just three sentences. Every sentence adds value without redundancy, and it's appropriately front-loaded with the core functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only tool with comprehensive annotations and good schema coverage, the description provides adequate context. It explains what details are returned and parameter usage. The main gap is no output schema, but the description partially compensates by listing return elements. Slightly more detail on response structure would make it complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the schema already documents both parameters. The description adds marginal value by listing examples of what 'extra' can include ('text', 'html', 'files', etc.) and clarifying that id_task is for a 'specific task', but doesn't provide format details or constraints beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and resource 'detailed information about a specific task', distinguishing it from siblings like worksection_get_all_tasks (list) and worksection_get_tasks (likely filtered list). It specifies retrieving details for a specific task rather than multiple tasks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when detailed information about a specific task is needed, but doesn't explicitly state when to use this vs. alternatives like worksection_get_tasks or worksection_search_tasks. It provides clear context (specific task details) but lacks explicit exclusions or named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
worksection_get_tasksList Project TasksARead-onlyIdempotent
Get all tasks for a specific Worksection project.
Args:
id_project (string, required): Project ID
filter (string, optional): Set to "active" for incomplete tasks only
extra (string, optional): Comma-separated: "text", "html", "files", "comments", "relations", "subtasks", "subscribers"
Returns: List of tasks in the project with full details.
| Name | Required | Description | Default |
|---|---|---|---|
| id_project | Yes | Project ID | |
| filter | No | Set to "active" for incomplete tasks only | |
| extra | No | Comma-separated extras: "text", "files", "comments", "relations", "subtasks", "subscribers" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true, covering safety and idempotency. The description adds valuable context about what 'full details' means through the 'extra' parameter explanation, which clarifies behavioral aspects of data retrieval beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear purpose statement followed by parameter details and return information. It's appropriately sized for a 3-parameter tool, though the parameter explanations could be more integrated rather than listed separately. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity, rich annotations covering safety and behavior, and no output schema, the description is mostly complete. It explains the purpose, parameters, and return format adequately. However, it lacks explicit guidance on error handling or pagination, which could be relevant for a list operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the input schema already documents all parameters thoroughly. The description repeats the parameter explanations verbatim without adding new semantic context, such as format examples for 'id_project' or practical use cases for 'extra' options. It meets the baseline but doesn't enhance understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Get all tasks') and resource ('for a specific Worksection project'), distinguishing it from siblings like worksection_get_all_tasks (no project filter) and worksection_get_task (single task). The verb+resource combination is precise and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by specifying 'for a specific Worksection project,' but doesn't explicitly state when to use this tool versus alternatives like worksection_search_tasks or worksection_get_all_tasks. No guidance on prerequisites or exclusions is provided, leaving the agent to infer appropriate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
worksection_post_commentPost Comment to TaskA
Add a comment to a Worksection task.
Args:
id_task (string, required): Task ID to comment on
text (string, required): Comment text content
todo (string, optional): Checklist items, one per line (creates checkboxes in the comment)
email_user_from (string, optional): Email of the comment author (defaults to API key owner)
Returns: Created comment data.
| Name | Required | Description | Default |
|---|---|---|---|
| id_task | Yes | Task ID to comment on | |
| text | Yes | Comment text | |
| todo | No | Checklist items, one per line | |
| email_user_from | No | Comment author email |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is a non-readOnly, non-destructive, non-idempotent, open-world operation. The description adds useful context about the optional 'todo' parameter creating checkboxes and the default email behavior, which aren't covered by annotations. However, it doesn't disclose rate limits, authentication needs, or error conditions beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose in the first sentence, followed by a structured Args/Returns section that efficiently covers key details without redundancy. Every sentence adds value, and there's no wasted verbiage or unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema, the description adequately covers the action, parameters, and return mention ('Created comment data'), but lacks details on response format, error handling, or side effects. Given the annotations provide safety context and schema covers parameters well, it's mostly complete but could benefit from more behavioral disclosure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds minimal value by briefly explaining the 'todo' parameter's effect (creates checkboxes) and the default for 'email_user_from', but doesn't provide additional syntax, format details, or constraints beyond the schema. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Add a comment') and target resource ('to a Worksection task'), distinguishing it from sibling tools like worksection_get_comments (which retrieves comments) and worksection_complete_task (which modifies task status). The verb+resource combination is precise and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (when you need to add a comment to a task) but provides no explicit guidance on when to use this tool versus alternatives like worksection_update_task (which might also allow commenting) or prerequisites. It mentions the default behavior for email_user_from but doesn't specify when to override it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
worksection_reopen_taskReopen Worksection TaskAIdempotent
Reopen a previously completed task.
Args:
id_task (string, required): Task ID to reopen
Returns: Confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| id_task | Yes | Task ID to reopen |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds minimal behavioral context beyond annotations. Annotations already indicate this is a mutation (readOnlyHint: false), non-destructive (destructiveHint: false), idempotent (idempotentHint: true), and open-world (openWorldHint: true). The description only states it reopens tasks and returns confirmation, without adding details about permissions needed, rate limits, or what 'confirmation' entails.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with two sentences: one stating the purpose and one documenting parameters/return. However, the parameter documentation is redundant with the schema, and the structure could be more front-loaded by integrating parameter information more efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (state-changing operation), rich annotations, and complete schema coverage, the description is minimally adequate. However, with no output schema, the description should provide more detail about what 'Confirmation' contains (e.g., success status, updated task object, error details). The current description leaves return values underspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the input schema already fully documents the single parameter (id_task). The description repeats the parameter documentation verbatim ('Task ID to reopen'), adding no additional semantic meaning beyond what's in the schema. This meets the baseline expectation when schema coverage is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Reopen') and target resource ('a previously completed task'), distinguishing it from sibling tools like worksection_complete_task (which does the opposite) and worksection_update_task (which modifies task properties). The verb+resource combination is precise and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool ('previously completed task'), but doesn't explicitly mention when NOT to use it or name specific alternatives. It implies usage for reversing task completion status, but lacks explicit exclusions like using it on already-open tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
worksection_search_tasksSearch Worksection TasksARead-onlyIdempotent
Search for tasks across the account using various criteria.
Args:
filter (string, optional): "active" for incomplete only
id_project (string, optional): Limit to specific project
text (string, optional): Search in task title and description
email_user_to (string, optional): Filter by assignee email
date_start (string, optional): Tasks starting from YYYY-MM-DD
date_end (string, optional): Tasks due before YYYY-MM-DD
extra (string, optional): Additional data to include
Returns: List of matching tasks.
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | Set to "active" for incomplete tasks | |
| id_project | No | Filter by project ID | |
| text | No | Search text in title and description | |
| email_user_to | No | Filter by assignee email | |
| date_start | No | Tasks from date YYYY-MM-DD | |
| date_end | No | Tasks until date YYYY-MM-DD | |
| extra | No | Additional data to include |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true, covering safety and behavior aspects. The description adds value by specifying it returns a list of matching tasks and mentions optional filtering, but doesn't disclose additional behavioral traits like rate limits, authentication needs, or pagination. With annotations present, the bar is lower, and the description adds some useful context without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with a clear opening sentence followed by a structured Args section. It avoids unnecessary verbosity, and each sentence serves a purpose, such as explaining the tool's function and detailing parameters. However, the Args section could be more integrated into the flow rather than listed separately, slightly affecting structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 optional parameters, no output schema), the description is reasonably complete. It covers the purpose, parameters, and return type. With annotations providing safety and behavioral hints, and schema coverage at 100%, the description adequately supports agent usage. It could improve by addressing sibling differentiation or output details, but it meets most contextual needs effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all parameters well-documented in the input schema. The description's Args section repeats much of this information (e.g., filter for 'active', date formats as YYYY-MM-DD), adding minimal extra meaning. It does clarify that 'text' searches in both title and description, which slightly enhances understanding, but overall, the schema carries the heavy lifting, justifying a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches for tasks across the account using various criteria, which is a specific verb+resource combination. It distinguishes from siblings like worksection_get_all_tasks by mentioning filtering capabilities, though not explicitly naming alternatives. The purpose is well-defined but could be more precise about differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through the mention of 'various criteria' and parameter explanations, suggesting when to apply filters. However, it lacks explicit guidance on when to choose this tool over siblings like worksection_get_all_tasks or worksection_get_tasks, and provides no exclusions or prerequisites. Usage is contextually implied but not clearly articulated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
worksection_set_task_tagsSet Task TagsBIdempotent
Set tags (labels/statuses) on a Worksection task.
Args:
id_task (string, required): Task ID
tags (string, required): Comma-separated tag names or IDs
Returns: Confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| id_task | Yes | Task ID | |
| tags | Yes | Comma-separated tag names or IDs |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover key behavioral traits (non-readOnly, non-destructive, idempotent, openWorld), so the description's burden is lower. It adds minimal context by specifying the return ('Confirmation') but doesn't elaborate on side effects, error conditions, or how tags interact with existing ones. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded with the core purpose, followed by a structured 'Args' and 'Returns' section. However, the 'Args' section is redundant with the schema, slightly reducing efficiency, but overall it remains clear and well-organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (mutation with two parameters), rich annotations, and 100% schema coverage, the description is minimally adequate. It lacks output schema, so the 'Confirmation' return is vague, and it doesn't address potential conflicts or prerequisites, leaving some contextual gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with clear documentation of both parameters in the input schema. The description repeats this information in the 'Args' section without adding meaningful semantics beyond what's already structured, such as tag format examples or validation rules.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Set tags') and resource ('on a Worksection task'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'worksection_update_task' which might also handle tags, though the specificity of 'tags (labels/statuses)' helps somewhat.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. With sibling tools like 'worksection_update_task' that might overlap in functionality, the description doesn't specify if this is the exclusive or preferred method for tag management, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
worksection_update_projectUpdate Worksection ProjectAIdempotent
Update an existing Worksection project. Only provided fields will be updated.
Args:
id_project (string, required): Project ID
title (string, optional): New project name
email_manager (string, optional): New project manager email
text (string, optional): New description
date_start (string, optional): New start date YYYY-MM-DD
date_end (string, optional): New due date YYYY-MM-DD
Returns: Updated project data.
| Name | Required | Description | Default |
|---|---|---|---|
| id_project | Yes | Project ID to update | |
| title | No | New project name | |
| email_manager | No | New manager email | |
| text | No | New description | |
| date_start | No | New start date YYYY-MM-DD | |
| date_end | No | New due date YYYY-MM-DD |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds valuable behavioral context beyond annotations: 'Only provided fields will be updated' clarifies partial update behavior, which isn't covered by annotations. Annotations already indicate this is a non-destructive, idempotent mutation (readOnlyHint=false, destructiveHint=false, idempotentHint=true), so the description doesn't need to repeat safety aspects. It provides useful operational detail without contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear purpose statement followed by parameter details and return information. It's appropriately sized for a 6-parameter update tool. However, the Args section is somewhat redundant with the schema, slightly reducing efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an update tool with good annotations (covering safety and idempotency) and full parameter documentation in the schema, the description provides adequate context. It explains the partial update behavior and return value. The main gap is lack of output schema, but the description mentions 'Returns: Updated project data,' which helps somewhat.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents all parameters. The description's Args section repeats parameter information but doesn't add meaningful semantics beyond what's in the schema (e.g., explaining relationships between parameters or edge cases). This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Update an existing Worksection project') and resource ('Worksection project'), distinguishing it from sibling tools like worksection_create_project (creation) and worksection_get_project (retrieval). The verb 'update' is precise and differentiates this mutation operation from other project-related operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context through 'Only provided fields will be updated,' suggesting partial updates are allowed. However, it doesn't explicitly state when to use this tool versus alternatives like worksection_archive_project or worksection_activate_project, nor does it mention prerequisites (e.g., needing an existing project ID). The guidance is present but incomplete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
worksection_update_taskUpdate Worksection TaskBIdempotent
Update an existing task. Only provided fields will be changed.
Args:
id_task (string, required): Task ID to update
title (string, optional): New task name
email_user_to (string, optional): New assignee email
text (string, optional): New description
priority (string, optional): New priority 0-10
date_start (string, optional): New start date YYYY-MM-DD
date_end (string, optional): New due date YYYY-MM-DD
max_time (string, optional): New time estimate
max_money (string, optional): New budget
Returns: Updated task data.
| Name | Required | Description | Default |
|---|---|---|---|
| id_task | Yes | Task ID to update | |
| title | No | New task name | |
| email_user_to | No | New assignee email | |
| text | No | New description | |
| priority | No | New priority 0-10 | |
| date_start | No | New start date YYYY-MM-DD | |
| date_end | No | New due date YYYY-MM-DD | |
| max_time | No | New time estimate | |
| max_money | No | New budget |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover key traits (readOnlyHint=false, destructiveHint=false, idempotentHint=true, openWorldHint=true), but the description adds valuable context: 'Only provided fields will be changed' clarifies partial update behavior, which isn't captured in annotations. It doesn't disclose rate limits, authentication needs, or error handling, but the added behavioral detail is helpful beyond the structured data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose ('Update an existing task. Only provided fields will be changed.'), but the 'Args' section is redundant with the schema, adding bulk without new value. It could be more concise by omitting the parameter list or integrating it more efficiently. The structure is clear but includes unnecessary repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (9 parameters, mutation operation) and rich annotations, the description is adequate but has gaps. It explains partial update behavior and lists parameters, but lacks output details (no schema provided), error scenarios, or permissions. With annotations covering safety and idempotency, it's minimally viable but could better address mutation-specific concerns like validation or side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters thoroughly (e.g., 'id_task' as 'Task ID to update', 'priority' as 'New priority 0-10'). The description repeats this information in the 'Args' section without adding new meaning, such as format examples beyond YYYY-MM-DD for dates or units for 'max_time'/'max_money'. Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Update') and resource ('existing task'), making the purpose unambiguous. It distinguishes from sibling tools like 'worksection_create_task' (creation vs. update) and 'worksection_complete_task' (completion vs. update), though it doesn't explicitly contrast with 'worksection_update_project' (task vs. project). The description is specific but could be slightly more differentiated from other update operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., task must exist), contrast with sibling tools like 'worksection_set_task_tags' for tag-specific updates, or specify scenarios where this is appropriate (e.g., partial updates vs. full replacements). Usage is implied by the tool name but not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Every tool has a clearly distinct purpose with no ambiguity. Each tool name specifies a unique action on a specific resource (e.g., worksection_create_project vs worksection_update_project, worksection_get_task vs worksection_get_tasks), and the descriptions reinforce this separation. There are no overlapping or redundant tools.
All tool names follow a consistent verb_noun pattern with the 'worksection_' prefix, using snake_case throughout. The verbs are clear and appropriate (e.g., create, get, update, add, archive), and the nouns consistently refer to resources like project, task, members, comments, or tags. There are no deviations in naming conventions.
With 21 tools, the count is slightly high but reasonable for a project management domain like Worksection, which requires comprehensive operations for projects, tasks, members, comments, and tags. It covers many workflows without being excessive, though it might feel heavy compared to simpler servers. The tools are well-scoped, with each serving a distinct function.
The tool set provides complete CRUD/lifecycle coverage for the Worksection domain. It includes creation, retrieval, updating, and deletion (via archive/complete actions) for projects and tasks, along with operations for members, comments, tags, and search. There are no obvious gaps; agents can manage the full lifecycle of resources without dead ends.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Manage tasks, projects, roadmaps, files, meetings, and team workflows with AI tools.
Create and manage MeisterTask projects, tasks, and notes from your AI assistant.
Manage Avaza projects, tasks, timesheets, expenses, invoices, and scheduling from AI assistants.
AI-native project management for tasks, docs, collaboration, and agents.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceConnects AI assistants to Motion for comprehensive task and project management, including creating/updating tasks, managing projects, handling workspaces, comments, and recurring tasks with smart rate limiting.2MIT
- AlicenseBqualityDmaintenanceEnables AI assistants to manage OpenProject work packages, projects, and time tracking. It provides comprehensive tools for creating, updating, and querying tasks and project metadata through the OpenProject API.11421MIT
- AlicenseBqualityCmaintenanceEnables AI assistants to interact with ProjectHub for comprehensive project management through natural language. It provides 25 tools to manage tasks, workspaces, time tracking, notes, and discussions via the ProjectHub API.47271MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to manage Todocko application data, including tasks, projects, worklogs, and attachments. It supports comprehensive project management operations such as tracking activity, managing Kanban boards, and handling shared project synchronization.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/novgorodskii/worksection-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server