Skip to main content
Glama

Join Project

project_join
Idempotent

Join a project: put it in the caller's Your projects sidebar list. Membership is personal list state, not access — every workspace member can already see every project. Joining a project you are already in reports already_member and changes nothing.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
contextYesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization."
projectYesProject id, key, or name
workspaceNoWorkspace id, slug, or name

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYes
okYes
actionYes

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes beyond annotations by disclosing the idempotent behavior in concrete terms: joining a project you are already in reports already_member and changes nothing. It also clarifies the non-destructive, non-access-related nature of the operation, which is valuable context beyond readOnlyHint and idempotentHint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three purposeful sentences with no filler. The action and its primary effect are front-loaded, and each additional sentence adds a non-redundant clarification about access semantics and idempotence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple join operation, the description covers what the tool does, the domain context (sidebar list vs. access), and the edge case of joining an already-member project. The presence of an output schema removes the need to detail return values, so nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 project, context, and workspace. The description adds no further parameter-level detail, such as how workspace resolution works or how project lookup behaves. Baseline 3 applies because the schema carries the parameter-documentation burden adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Join a project') and immediately grounds it in a concrete effect: putting it in the caller's 'Your projects' sidebar list. It also distinguishes itself from access-granting operations by clarifying that membership is personal list state, not access, which separates it from sibling tools like project_add.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for when to use the tool: when the goal is to add a project to one's personal sidebar, not to grant or restrict visibility. It explicitly states that every workspace member can already see every project, so it communicates a meaningful exclusion even though it does not name sibling alternatives like project_leave.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.6/5.0
Disambiguation4/5

Tools are grouped cleanly by resource (task, checklist, comment, label, project, attachment), so most actions have an obvious owner. The main ambiguities are task_list vs. search and checklist_done vs. checklist_edit, but the descriptions call out the intended boundaries clearly enough to avoid frequent misselection.

Naming Consistency4/5

The dominant resource_verb pattern (task_add, task_edit, checklist_list, comment_remove, project_join) is consistent and predictable. A few outliers like get_context, guide, search, and task_attachment_list break the pattern, but the naming remains readable and mostly uniform.

Tool Count2/5

At 35 tools, this is a very large surface for an agent to choose from and exceeds the 25-tool threshold where count becomes a liability. The tools are well organized, but the repeated verb families across six resources make the total feel heavy even though each tool is plausibly justified.

Completeness4/5

The core task lifecycle is well covered: create, show, edit, list, complete, reopen, archive, assign, and bulk operations, plus full checklist, comment, label, and attachment workflows. Notable gaps are the lack of an explicit unarchive/restore path and no label edit/delete, but these are minor enough that agents can usually work around them.

Resources