groove-hq
Server Details
Read Groove shared-inbox conversations, contacts, agents and tags; close, assign, snooze and tag.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- m190/usefulapi-mcp
- GitHub Stars
- 0
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4/5 across 16 of 16 tools scored.
Each tool has a unique verb and noun combination, leaving no ambiguity. For example, assign, close, open, snooze, star, tag, and untag are all distinct actions. List tools target different entities (agents, channels, contacts, conversations, folders, tags, teams), and get tools for contact and conversation are clearly separate.
All tools follow the consistent pattern `groove_verb_noun` in snake_case. List tools use plural nouns (e.g., list_agents), while single-entity tools use singular (e.g., get_conversation). No mixing of camelCase or other conventions.
With 16 tools, the count is slightly above the typical 3-15 range for well-scoped servers. However, each tool serves a distinct purpose, covering listing of multiple entity types and a variety of conversation actions. The count is reasonable for a comprehensive support tool suite.
The tool set covers listing, getting, and updating conversation state (assign, close, open, snooze, star, tag), but lacks essential tools for replying to conversations or adding internal notes. This is a significant gap for a support server, as agents cannot actually communicate with customers.
Available Tools
16 toolsgroove_assign_conversationAssign conversationADestructiveInspect
ASSIGNS a conversation to an agent and/or team. Pass agent_id, team_id, or both (at least one is required). Groove GraphQL: conversationAssign.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The conversation id (opaque GraphQL ID). | |
| team_id | No | Team id to assign the conversation to. | |
| agent_id | No | Agent id to assign the conversation to. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description confirms the assignment action, which aligns with the destructiveHint annotation. It adds no additional behavioral details such as overwriting behavior or permissions beyond what annotations already 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?
Two concise sentences, no fluff. The key constraint ('at least one is required') is front-loaded. Every sentence adds value.
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 mutation with 3 params and no output schema, the description covers the core functionality and the required parameter constraint. It could mention return behavior or errors, but it is generally 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?
The description adds the constraint that at least one of agent_id or team_id is required, which is not enforced by the input schema. With 100% schema coverage, this extra semantic information is helpful.
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 'assign' with the resource 'conversation' and specifies the recipients (agent and/or team). It distinguishes this tool from siblings like groove_open_conversation or groove_close_conversation.
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 states that at least one of agent_id or team_id is required, providing a basic usage constraint. However, it does not explicitly discuss when to use this tool versus alternatives or mention prerequisites like existing agents/teams.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
groove_close_conversationClose conversationADestructiveInspect
CLOSES a conversation (marks it resolved) in the shared inbox. Groove GraphQL: conversationClose.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The conversation id (opaque GraphQL ID). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already set destructiveHint: true, so the description is not required to repeat that. It adds a technical detail (GraphQL) but no additional context about side effects, permissions, or irreversibility.
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 concise sentences front-load the main action and include a helpful technical reference. 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 no output schema, a brief note on return value or confirmation would improve completeness. However, for a single-param action, it is largely adequate.
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 coverage is 100% with a clear description of the 'id' parameter. The tool description does not add any further explanation beyond what is in 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 'CLOSES a conversation (marks it resolved)' with a specific verb and resource. It distinguishes from the sibling 'groove_open_conversation'.
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 explicit when-to-use or when-not-to-use guidance. The purpose is implied but no direct comparison with siblings like 'groove_assign_conversation' or 'groove_snooze_conversation'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
groove_get_contactGet contactARead-onlyInspect
Get a single contact by id — name, email, role, type, and conversation count. Groove GraphQL: contact(contactId: ID!).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The Groove object id (opaque GraphQL ID, passed as a string). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description's addition of GraphQL query context is useful but not critical. No behavioral traits beyond the annotation are disclosed.
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 front-loaded purpose and return fields. No unnecessary words. Every sentence adds value.
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?
With one parameter fully documented by schema, readOnly annotation, and no output schema required, the description is complete for the tool's simplicity.
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 coverage is 100% and the schema already describes the id parameter as an opaque string. The description does not add further parameter details, so baseline of 3 applies.
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 'Get a single contact by id' and lists the fields returned (name, email, role, type, conversation count), distinguishing it from sibling list_contacts tool.
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 when to use the tool (to get a single contact), but lacks explicit guidance on when not to use it or alternatives beyond the implicit contrast with list_contacts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
groove_get_conversationGet conversationARead-onlyInspect
Get a single conversation by id — subject, state, assignment, contact, channel, counts, and tags. Groove GraphQL: conversation(id: ID!).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The Groove object id (opaque GraphQL ID, passed as a string). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description aligns by saying 'Get'. No additional behavioral traits (e.g., rate limits, auth needs) are disclosed, but the description does not 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?
Two concise sentences: the first states the purpose and return fields, the second provides the underlying API call reference. Every word earns its place with no fluff.
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?
Although no output schema exists, the description lists the main fields returned (subject, state, assignment, etc.), which is helpful. Missing details like error handling or pagination are acceptable for a single-record fetch. The overall coverage is good.
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 single parameter 'id' is already described in the schema as 'opaque GraphQL ID, passed as a string.' The description adds context by mentioning 'by id' and the GraphQL query, reinforcing its purpose. With 100% schema coverage, this adds moderate value.
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 it retrieves a single conversation by ID and lists the specific fields returned (subject, state, assignment, etc.). This distinguishes it from sibling tools like groove_list_conversations (which lists multiple) and mutation tools like groove_assign_conversation.
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 does not explicitly state when to use this tool vs alternatives. It implies usage for fetching a single conversation, but lacks direct comparison to list or mutation tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
groove_list_agentsList agentsARead-onlyInspect
List agents (support staff / users) in the account, with role and state. Paginate with first/after. Groove GraphQL: agents.
| Name | Required | Description | Default |
|---|---|---|---|
| after | No | Relay pagination cursor — pass the previous page's `endCursor` to get the next page. | |
| first | No | How many records to return (Relay pagination `first`). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
ReadOnlyHint annotation is consistent; description adds that it returns role and state, which is useful. No 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?
Two sentences, front-loaded with purpose, then pagination. 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?
Lacks output schema; description states 'role and state' but does not list all fields or structure. Adequate for a simple list tool but incomplete for full 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 covers both parameters with descriptions (100% coverage). Description only mentions pagination, adding no additional meaning beyond 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?
Clearly states the verb 'List' and resource 'agents', specifies included data (role and state), and distinguishes from siblings by focusing on agents vs channels, contacts, etc.
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 on when to use this tool vs alternatives (e.g., groove_list_contacts). Pagination mentioned but no context on limits or when not to paginate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
groove_list_channelsList channelsARead-onlyInspect
List channels (mailboxes / inboxes — email, chat, etc.) configured in the account. Paginate with first/after. Groove GraphQL: channels.
| Name | Required | Description | Default |
|---|---|---|---|
| after | No | Relay pagination cursor — pass the previous page's `endCursor` to get the next page. | |
| first | No | How many records to return (Relay pagination `first`). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true. The description confirms a list/read operation and mentions 'Groove GraphQL', but adds no further behavioral context 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?
Two concise sentences with no fluff. Front-loaded with the core purpose and pagination guidance.
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 list tool with complete schema and annotations, the description is adequate. It mentions the data type (mailboxes/inboxes) and GraphQL backend, but does not describe return structure, which is acceptable given no output schema.
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 coverage is 100% and descriptions are sufficient. The description only reiterates pagination without adding new meaning beyond what the schema already provides.
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 'List channels (mailboxes / inboxes — email, chat, etc.)' with a specific verb and resource, and distinguishes from sibling tools which focus on conversations and other actions.
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?
Explains pagination with 'first/after' but does not explicitly state when to use this tool over alternatives; however, the sibling tools are clearly for different purposes, so usage is implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
groove_list_contactsList contactsARead-onlyInspect
List customer contacts (people who wrote in). Optional keyword search over name/email; paginate with first/after. Groove GraphQL: contacts(keywords: String).
| Name | Required | Description | Default |
|---|---|---|---|
| after | No | Relay pagination cursor — pass the previous page's `endCursor` to get the next page. | |
| first | No | How many records to return (Relay pagination `first`). | |
| keywords | No | Keyword search across contacts (name/email). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description is consistent with a read-only listing operation. The description adds no additional behavioral traits beyond what annotations provide, such as permissions or side effects.
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 very concise: two sentences and a GraphQL note. Every word adds value, and the most important information 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 simple read-only list tool with no output schema, the description covers the key points (resource, optional search, pagination). Missing details like default ordering or total count are minor given the tool's simplicity.
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 coverage is 100%, and the description reinforces the parameters (keyword search over name/email, pagination with first/after). It adds minimal new meaning beyond the schema descriptions.
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', the resource 'customer contacts (people who wrote in)', and the optional features (keyword search, pagination). This distinguishes it from sibling tools like groove_list_agents or groove_list_channels.
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 mentions optional keyword search and pagination but does not explicitly state when to use this tool versus alternatives or when not to use it. The guidance is implied from the resource name and sibling context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
groove_list_conversationsList conversationsARead-onlyInspect
List support conversations (tickets) in the shared inbox, with rich filters. Filter by state, channel_id, folder_id, tag_name, assigned, starred, or keywords; paginate with first/after. Groove GraphQL: conversations(filter: ConversationFilter).
| Name | Required | Description | Default |
|---|---|---|---|
| after | No | Relay pagination cursor — pass the previous page's `endCursor` to get the next page. | |
| first | No | How many records to return (Relay pagination `first`). | |
| state | No | Filter by conversation state. | |
| starred | No | If set, filter to starred (true) or unstarred (false) conversations. | |
| assigned | No | If set, filter to assigned (true) or unassigned (false) conversations. | |
| keywords | No | Full-text keyword search across conversations. | |
| tag_name | No | Filter to conversations carrying this tag name. | |
| folder_id | No | Filter to a single folder id. | |
| channel_id | No | Filter to a single channel (mailbox) id. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so description adds value by mentioning GraphQL query and Relay pagination details. Discloses non-destructive behavior and underlying implementation, though could mention response format.
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, front-loaded with primary purpose, then filter/pagination details. No wasted words; every sentence adds value.
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?
Covers purpose, filters, pagination, and underlying API. Lacks output structure description but no output schema exists. Adequate for a listing tool with high schema coverage and readOnlyHint.
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 parameters are already documented. Description summarizes filter categories but does not add new semantics beyond schemas, meeting baseline.
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?
Description clearly states 'List support conversations (tickets) in the shared inbox' with specific verb and resource. It highlights filtering capabilities, distinguishing from sibling tools that operate on single items (groove_get_conversation) or other resources.
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?
Description enumerates filter options but does not explicitly guide when to use this tool vs alternatives. It implies usage for listing/filtering conversations but lacks explicit when-not or sibling differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
groove_list_foldersList foldersARead-onlyInspect
List folders (saved views / smart folders that group conversations), with conversation counts. Paginate with first/after. Groove GraphQL: folders.
| Name | Required | Description | Default |
|---|---|---|---|
| after | No | Relay pagination cursor — pass the previous page's `endCursor` to get the next page. | |
| first | No | How many records to return (Relay pagination `first`). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true. The description adds behavioral context by mentioning 'with conversation counts' and pagination, which are safe read operations. No 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?
Two sentences plus a brief note on the API backend. Every sentence adds value: folder definition, counts, and pagination. No filler.
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 and the presence of readOnlyHint, the description covers the main aspects: what folders are, pagination, and conversation counts. Lacks details on return format but no output schema exists.
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%. The description reiterates pagination with 'first/after' but adds no new meaning beyond schema. Baseline 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 'List folders' and explains they are 'saved views / smart folders that group conversations' with conversation counts. It distinguishes from sibling tools like list_conversations by focusing on a specific resource type.
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?
Pagination instructions are provided ('Paginate with first/after'), but no explicit guidance on when to use this tool over alternatives like list_conversations or list_tags.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
groove_list_tagsList tagsARead-onlyInspect
List tags defined in the account (id, name, color) — use tag ids with the tag/untag write tools. Paginate with first/after. Groove GraphQL: tags.
| Name | Required | Description | Default |
|---|---|---|---|
| after | No | Relay pagination cursor — pass the previous page's `endCursor` to get the next page. | |
| first | No | How many records to return (Relay pagination `first`). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description does not need to state it. It adds value by disclosing the returned fields and pagination mechanism (first/after). No contradictions 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 extremely concise with two sentences, no wasted words. The core purpose is in the first sentence, making it 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?
Given the tool's simplicity (2 optional params, no output schema), the description is complete. It explains what is returned, how to paginate, and how the output is used (tag ids for write tools). No gaps.
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 coverage is 100% and both parameters are well-described in the schema. The description only summarizes pagination with 'first/after', which adds minimal value beyond the schema. Baseline 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 tool lists tags defined in the account, specifying the returned fields (id, name, color). It distinguishes from sibling tools by noting that tag ids are used with the tag/untag write tools.
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 on when to use the tool (to get tag ids for tagging/untagging) and mentions pagination. It does not explicitly state when not to use it or list alternatives, but the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
groove_list_teamsList teamsARead-onlyInspect
List teams (groups of agents that conversations can be assigned to). Paginate with first/after. Groove GraphQL: teams.
| Name | Required | Description | Default |
|---|---|---|---|
| after | No | Relay pagination cursor — pass the previous page's `endCursor` to get the next page. | |
| first | No | How many records to return (Relay pagination `first`). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds pagination behavior beyond annotations (readOnlyHint=true). No contradictions. Could include rate limits or further details, but annotations cover safety.
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?
Three concise sentences: purpose, pagination, underlying API. No wasted words, front-loaded with core 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?
No output schema, and description omits return format (e.g., team IDs, names). Mentions GraphQL but insufficient for an agent to anticipate response structure.
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 coverage is 100% with detailed descriptions for 'after' and 'first'. Description merely restates 'Paginate with first/after', adding minimal new meaning.
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?
Clear verb 'list' and resource 'teams'. Explanation that teams are groups of agents for conversation assignment distinguishes from sibling tools like groove_list_agents and groove_list_conversations.
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?
Provides pagination guidance ('first/after') but lacks explicit when-to-use versus alternatives or when-not-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
groove_open_conversationOpen conversationADestructiveInspect
RE-OPENS a closed/snoozed conversation in the shared inbox. Groove GraphQL: conversationOpen.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The conversation id (opaque GraphQL ID). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide destructiveHint=true, which is consistent with the mutation described. The description adds a note about the GraphQL endpoint but no additional behavioral context beyond the annotation.
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, efficient sentence with a supplementary note, earning its place without 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?
For a simple mutation with one parameter and no output schema, the description is adequate, though it could mention permissions 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 coverage is 100% with a clear parameter description. The tool description does not add further meaning beyond what the schema already provides.
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 specifies the verb 'RE-OPENS' and the resource 'closed/snoozed conversation', distinguishing it from sibling tools like close and snooze.
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 explicit guidance on when to use this tool versus alternatives like groove_close_conversation or groove_snooze_conversation; the description only implies context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
groove_snooze_conversationSnooze conversationADestructiveInspect
SNOOZES a conversation until the given time (ISO8601) — it drops out of the inbox until then. Groove GraphQL: conversationSnooze.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The conversation id (opaque GraphQL ID). | |
| until | Yes | When to un-snooze, as an ISO8601 timestamp (e.g. 2026-08-01T09:00:00Z). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations include destructiveHint=true, and the description adds specific behavioral context (drops out of inbox, with ISO8601 timing), going beyond the annotation alone.
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 two concise and front-loaded sentences, with 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?
For a simple action with no output schema, the description covers the essentials, though it could mention that the conversation will reappear after the snooze time.
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 description adds minimal value beyond the schema, only mentioning the ISO8601 format which is already in 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 action (snooze), the resource (conversation), and the effect (drops out of inbox), distinguishing it from siblings like close or open.
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 the use case (temporarily removing from inbox) but does not explicitly compare to alternatives or provide when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
groove_star_conversationStar conversationADestructiveInspect
STARS a conversation (flags it for attention) in the shared inbox. Groove GraphQL: conversationStar.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The conversation id (opaque GraphQL ID). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds no behavioral context beyond the destructiveHint annotation; starring is typically non-destructive, but description does not clarify.
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?
Single sentence, front-loaded with verb, 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?
Adequate for a simple parameter; no output schema needed, but could mention reversibility or 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?
Description for parameter 'id' adds 'opaque GraphQL ID' which clarifies the expected format beyond the schema's minimal 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?
Description clearly states the action 'STARS a conversation' and its purpose 'flags it for attention', distinguishing it from siblings like assign, close, snooze, etc.
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 usage guidelines provided; does not mention when to use or when not, nor compares to alternatives among 15 sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
groove_tag_conversationTag conversationADestructiveInspect
ADDS tags (by tag id) to a conversation. Use groove_list_tags to find tag ids. Groove GraphQL: conversationTag.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The conversation id (opaque GraphQL ID). | |
| tag_ids | Yes | Tag ids to add to the conversation. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description aligns with the destructiveHint annotation by stating it 'ADDS' tags, but does not provide additional behavioral details such as whether it overwrites existing tags or requires specific permissions. Some context is added via the GraphQL mention.
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 extremely concise with two sentences that front-load the key action and include a helpful pointer to another tool. No redundant 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 tagging operation with two required parameters and no output schema, the description covers the essential what and how. It lacks details on return values or error conditions, but these are not critical for this tool's 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 coverage is 100% with adequate descriptions for both parameters. The tool description adds minimal extra meaning beyond what the schema already provides, so baseline 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 action ('ADDS tags'), resource ('conversation'), and method ('by tag id'). It also references a sibling tool for prerequisite information, distinguishing it from similar tools like groove_untag_conversation.
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 guides the user to use groove_list_tags to find tag ids, which is helpful. However, it does not state when not to use this tool or mention alternatives beyond the implicit sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
groove_untag_conversationUntag conversationADestructiveInspect
REMOVES tags (by tag id) from a conversation. Use groove_list_tags to find tag ids. Groove GraphQL: conversationUntag.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The conversation id (opaque GraphQL ID). | |
| tag_ids | Yes | Tag ids to remove from the conversation. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds context beyond the destructiveHint annotation by specifying that removal is by tag id and referencing the underlying GraphQL operation, but does not disclose error handling (e.g., non-existent tags) or permission requirements.
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 extremely concise with two short sentences, front-loaded with the core action, and every sentence adds necessary information without 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 two well-described parameters, no output schema, and a destructiveHint annotation, the description covers the key aspects (action, prerequisite) but could mention partial success or idempotency.
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 coverage is 100%, so the description's hint to use groove_list_tags for tag_ids adds value beyond the schema, though it repeats the basic idea of the parameters.
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 'REMOVES' and the resource 'tags from a conversation', distinguishing it from the sibling tool groove_tag_conversation which adds tags.
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 mentions using groove_list_tags to find tag ids, which implies a prerequisite step but does not explicitly state when to use this tool versus alternatives or provide exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityBmaintenanceEnables management of customer support tickets, contacts, agents, and knowledge base articles through the Groove HQ GraphQL API.13MIT
- Alicense-qualityCmaintenanceEnables to search, view, and interact with Intercom contacts and conversations, including sending customer-visible replies and internal notes.MIT
- Alicense-qualityCmaintenanceEnables AI agents to manage Gorgias support tickets: list open tickets, read conversation history, draft internal notes, send outbound replies (gated), and look up customer history.MIT
- Flicense-qualityDmaintenanceEnables interaction with the Gorgias helpdesk API, providing tools to manage tickets, customers, and other helpdesk functionalities through natural language.4