Remove project member
remove_project_memberRemove one member from a project by email.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | Member email address. | ||
| projectId | Yes | Project id (uuid). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | Yes |
remove_project_memberRemove one member from a project by email.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | Member email address. | ||
| projectId | Yes | Project id (uuid). |
| Name | Required | Description | Default |
|---|---|---|---|
| ok | Yes |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, which aligns with the description's 'Remove' verb and leaves no contradiction. The description adds some scoping context ('one member', 'by email') but does not disclose any further side effects such as access revocation, reversibility, or permissions required. With the annotation already carrying the destructive signal, this level is acceptable.
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 a single, front-loaded sentence with no filler. Every word earns its place, and the core action and target are immediately clear.
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 two-parameter, single-actor mutation tool, the description is sufficiently complete. The schema provides full parameter documentation, destructiveHint covers the safety profile, and an output schema is present, so nothing essential is missing for selecting and invoking the 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?
Schema description coverage is 100%, so the baseline is 3 even if the description provided no additional parameter meaning. The description's 'by email' slightly reinforces the email parameter's role, but it does not add substantially beyond the schema's 'Member email address.' description.
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 uses a specific verb ('remove'), a clear resource ('project member'), and the identifying method ('by email'). It is unambiguous and effectively distinguishes this tool from siblings like remove_org_member or upsert_project_member by specifying project membership.
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 clearly implies when to use this tool: when removing a single member from a project by their email address. However, it does not explicitly contrast with alternatives such as remove_org_member or upsert_project_member, nor does it mention when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Every tool targets a distinct resource/action: board retrieval is split into JSON vs image with explicit cross-references, and drawing tools are separated from the generic update_board. Look-alikes like list_documents vs list_diagrams and publish_listing vs use_template are differentiated clearly.
Most tools follow a verb_noun pattern: create_project, list_documents, update_board, upsert_org_member. A few noun-only names like my_listings, project_file_counts and template_categories break the pattern, so naming is consistent but not uniform.
40 tools is well beyond the 25+ threshold for a single server, even though the domains are clustered into org/project/document/board/template areas. The large surface will make tool selection and onboarding heavier for an agent than necessary.
Core lifecycle coverage for org/project/document/board/template is mostly present, and update_board serves as a flexible escape hatch. However, the board API reads rectangle/diamond/ellipse/free-text drawings and groups/links but only offers explicit create/erase for strokes and arrows; paid template purchase/access is also left unclear.