Google Chat MCP Server
Provides tools for interacting with Google Chat, including listing spaces, reading messages, sending messages, replying to threads, listing files, and creating DMs.
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., "@Google Chat MCP Serverlist my current spaces"
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.
Google Chat MCP Server
MCP server for Google Chat using the internal Dynamite API — no Google Cloud Console required.
⚠️ Disclaimer: Uses an undocumented internal API reverse-engineered by EionRobb. It may break at any time if Google updates their protocol.
Setup
1. Export cookies from your browser
Open chat.google.com and make sure you're logged in
Click the Cookie-Editor icon → Export → Export as JSON
Save the file (anywhere you like)
Cookies expire when you log out or after a long period of inactivity. Re-export them if you get a 401 error.
Related MCP server: Google Chat MCP Sever (Extendable to Teams,Slack.)
Recommended install (uvx, no clone needed)
You don't need to clone the repo or install dependencies manually. uv runs the server straight from GitHub and resolves dependencies automatically.
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"googlechat": {
"command": "uvx",
"args": [
"--from", "git+https://github.com/RHMDHDYT/googlechat-mcp",
"googlechat-mcp"
],
"env": {
"GCHAT_COOKIES": "/absolute/path/to/cookies.json"
}
}
}
}Restart Claude Desktop after editing the config.
Claude Code
claude mcp add googlechat \
--env GCHAT_COOKIES=/absolute/path/to/cookies.json \
-- uvx --from git+https://github.com/RHMDHDYT/googlechat-mcp googlechat-mcpVerify:
claude mcp list
claude mcp get googlechatAlternative: install from a local clone
If you'd rather run from source:
git clone https://github.com/RHMDHDYT/googlechat-mcp
cd googlechat-mcp
pip install mcp protobuf requestsThen point the config at server.py directly:
{
"mcpServers": {
"googlechat": {
"command": "python",
"args": ["/absolute/path/to/googlechat-mcp/server.py"],
"env": {
"GCHAT_COOKIES": "/absolute/path/to/cookies.json"
}
}
}
}If you drop cookies.json directly into the googlechat-mcp/ folder, the server reads it automatically and you can omit the GCHAT_COOKIES env var.
Tools
Tool | Description |
| List all DMs and spaces you're a member of |
| Read messages + attachments/Drive/URLs from a DM or space |
| Send a new message to a DM or space |
| Reply to an existing thread |
| List all files, Drive items, and URLs ever shared |
| Open a DM with a user by email |
Troubleshooting
Error | Solution |
| Set the |
| Cookies expired — re-export them from your browser |
| Make sure you export from |
Proto decode error | Google may have updated the API — check EionRobb's repo for the latest schema |
Credits
Protobuf schema: EionRobb/purple-googlechat
Available Tools
13 toolsadd_reactionC
Add an emoji reaction to a message
| Name | Required | Description | Default |
|---|---|---|---|
| group_id | Yes | Space/DM group ID (from list_spaces) | |
| is_dm | No | True if DM, False if room/space | |
| message_id | Yes | Message ID (from read_messages) | |
| topic_id | Yes | Thread ID (from read_messages) | |
| emoji | Yes | Unicode emoji, e.g. '👍' or '✅' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavior. It only states the action, with no information about idempotency, error handling, permission requirements, 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?
Extremely concise at 6 words, no wasted text. However, it sacrifices completeness for brevity.
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 has 5 parameters (4 required) and is a mutation without output schema or annotations, the description fails to provide necessary context like return values, duplicate handling, or rate limits.
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 parameters are already documented. The description adds no extra meaning beyond the schema, meeting the baseline but not exceeding it.
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 states a specific action: 'Add an emoji reaction to a message'. Verb 'Add' and resource 'emoji reaction' are clear, and it distinguishes from the sibling tool 'remove_reaction'.
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 versus alternatives like sending a reply or using remove_reaction. No prerequisites or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_dmA
Open or create a DM conversation with a user by their Google email
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | Google email of the user |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states the tool can either open an existing DM or create a new one, which is a key behavioral trait. However, it does not disclose potential side effects (like creating a space), required permissions, rate limits, or what the return value signifies. Since no annotations are provided, the description should cover more behavioral aspects.
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, concise sentence that clearly states the action and the required parameter. There is no extraneous 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?
The tool is simple with one parameter, but the description does not explain the return value or the next steps after creating/opening a DM. For an agent to use this tool effectively, it might need to know if the DM is immediately ready for sending messages. The output schema is missing, so the description could include what is returned.
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 input schema already provides a description for the 'email' parameter ('Google email of the user'), and the description merely restates this. With 100% schema coverage, the description adds no additional semantic value beyond what 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 uses the verbs 'Open or create' with the resource 'DM conversation', clearly distinguishing this tool from siblings like 'send_message' which sends to an existing conversation, and 'list_spaces' which lists existing 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?
The description does not provide any guidance on when to use this tool versus alternatives such as 'list_spaces' to find an existing DM or 'send_message' to directly send a message. No exclusion criteria 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.
get_user_statusB
Get presence/status of one or more users (DND state, custom status)
| Name | Required | Description | Default |
|---|---|---|---|
| user_ids | Yes | List of user IDs to check (from list_members) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden but only states what the tool does. It does not disclose behavioral traits such as authentication requirements, rate limits, or error handling for invalid user IDs.
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, consisting of a single sentence that conveys the core purpose and details. Every part is informative with no unnecessary 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 tool with no output schema and no annotations, the description is minimal. It explains the input and output concept but does not describe the response format or provide context about rate limits or read-only nature. It is adequate but has clear 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% as the single required parameter 'user_ids' has a description ('List of user IDs to check (from list_members)'). The description adds no additional meaning beyond the schema, so 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' and the resource 'presence/status of one or more users', specifying DND state and custom status. It differentiates from sibling tools, none of which directly provide presence status.
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 lacks explicit guidance on when to use this tool versus alternatives. It does not mention prerequisites like needing user IDs from list_members, nor does it explain 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.
list_membersB
List members of a Google Chat space or DM
| Name | Required | Description | Default |
|---|---|---|---|
| group_id | Yes | Space/DM group ID (from list_spaces) | |
| is_dm | No | True if DM, False if room/space | |
| page_size | No | Max members to return (default 50) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. However, it only states the basic function. It fails to mention that this is a read-only operation, any pagination behavior (though page_size parameter exists), rate limits, or error handling for invalid group_ids. The transparency is insufficient.
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 at one short sentence. While it avoids redundancy, it could benefit from a bit more context without becoming verbose. It is front-loaded but slightly under-specified for a tool with no annotations.
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 lack of annotations and output schema, the description is incomplete. It does not explain return format, pagination behavior, or any side effects. For a simple list operation, users need minimally to know about pagination and potential empty results, which are absent.
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 tool description adds no additional meaning beyond the input schema, which already has 100% coverage with descriptions for all three parameters. Per calibration guidelines, high schema coverage warrants a baseline of 3. The description does not enhance parameter 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 action ('List') and the resource ('members of a Google Chat space or DM'). It effectively distinguishes from siblings like 'list_spaces' (lists spaces) and 'list_space_files' (lists files). The verb+resource combination is specific 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 no explicit guidance on when to use this tool versus alternatives (e.g., for listing spaces vs members). It only implicitly suggests that group_id comes from list_spaces via the schema description, but no proactive direction on prerequisites or exclusion scenarios is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_space_filesB
List all files, Drive attachments, and shared URLs in a space or DM
| Name | Required | Description | Default |
|---|---|---|---|
| group_id | Yes | Space/DM group ID (from list_spaces) | |
| is_dm | No | True if DM, False if room/space | |
| page_size | No | Messages to scan (default 50) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry full weight. It claims to list 'all files', yet the page_size parameter limits scanning to a specific number of messages, creating potential confusion. It also does not disclose whether the operation is read-only, what permissions are required, or how Drive attachments and shared URLs are handled.
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 sentence that efficiently conveys the core function without unnecessary words, though it could benefit from slight structural improvements to denote limitations.
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 no output schema and no annotations, the description should provide more context about return format, default behavior, and any limits. It fails to mention that returned files may be only those in recently scanned messages, leaving the agent without crucial operational details.
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?
All three parameters (group_id, is_dm, page_size) have descriptions in the input schema, which already explains their meaning. The tool description adds no additional semantic value for these parameters beyond what the schema 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 the verb 'List' and the resource 'all files, Drive attachments, and shared URLs', and specifies the context 'in a space or DM', which distinguishes it from sibling tools that handle messages, reactions, or statuses.
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 tool's purpose is implied by its name and description, but there is no explicit guidance on when to use it versus alternatives like search_messages for finding specific file references, or why someone might choose not to use it (e.g., if only recent files are needed).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_spacesB
List all DMs and spaces the user is a member of
| Name | Required | Description | Default |
|---|---|---|---|
| page_size | No | Max results (default 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It does not disclose pagination behavior, rate limits, or what happens if the user is not a member. The mention of 'member of' is helpful but insufficient.
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 sentence of 10 words with no extraneous information. It is perfectly concise and front-loaded with the key action.
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 operation with one optional parameter and no output schema, the description is minimally adequate. However, it does not explain the return format, ordering, or any limitations, which 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% for the single parameter page_size. The description does not add any extra meaning beyond what the schema 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 verb 'list' and the resource 'DMs and spaces', specifying the scope 'the user is a member of'. It effectively distinguishes from sibling tools like list_members and list_space_files.
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 versus alternatives. There is no mention of prerequisites, exclusions, or comparison with similar listing tools such as search_messages or list_members.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mark_as_readC
Mark a space or DM as read
| Name | Required | Description | Default |
|---|---|---|---|
| group_id | Yes | Space/DM group ID (from list_spaces) | |
| is_dm | No | True if DM, False if room/space |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. 'Mark as read' implies a state change, but no details are given about side effects (e.g., updating unread counts, setting read cursor), required permissions, or reversibility. The description is too vague for a mutation tool without 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?
Extremely concise at one sentence. The information is front-loaded but may be too brief for complete understanding. However, it contains no filler and every word is necessary. A 4 is appropriate for efficient communication, though slightly lacking in 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 simplicity (two params, no nested objects, no output schema), the description is partially complete. It identifies what the tool does and the key parameter. However, it does not describe the outcome (e.g., success response, any confirmation), leaving the agent without full context. A score of 3 reflects adequate but incomplete coverage.
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. The description adds no extra meaning beyond the schema. The schema already explains group_id (from list_spaces) and is_dm (True for DM). The description merely restates the action. No added value for 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 action ('mark as read') and the target resources ('space or DM'). It distinguishes from sibling tools like 'read_messages' which likely fetches messages, but does not explicitly differentiate from other marking actions. A score of 4 is given for clear verb+resource, but lacking explicit sibling 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?
No guidance on when to use this tool versus alternatives like 'read_messages' or 'send_message'. The description does not mention prerequisites, such as needing the group_id from list_spaces, though that is implied by the parameter description. No explicit when-to-use or when-not-to-use advice is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_messagesB
Read recent messages from a space or DM, including Drive files, attachments, and URLs
| Name | Required | Description | Default |
|---|---|---|---|
| group_id | Yes | Space/DM group ID (from list_spaces) | |
| is_dm | No | True if DM, False if room/space | |
| page_size | No | Max threads to return (default 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for behavioral disclosure. It reveals that returned messages include Drive files, attachments, and URLs, but omits details on side effects (e.g., marking as read), pagination behavior, rate limits, or authentication 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?
Single sentence, 15 words, front-loaded with the core action. No fluff or 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?
Tool has 3 parameters (1 required) and no output schema. Description covers the basic purpose and return content but lacks details on ordering, pagination beyond page_size, error cases, or response structure. Adequate for simple use but not fully comprehensive.
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. The description adds no extra parameter details 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?
Description clearly identifies the verb ('read') and resource ('recent messages from a space or DM'), and specifies included content types (Drive files, attachments, URLs). This adequately distinguishes it from sibling tools like 'list_spaces' and 'search_messages', though it could be more precise about 'recent'.
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 such as 'search_messages' or 'list_space_files'. Lacks context for appropriate usage or exclusions, leaving the agent to infer from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_reactionA
Remove an emoji reaction from a message
| Name | Required | Description | Default |
|---|---|---|---|
| group_id | Yes | Space/DM group ID (from list_spaces) | |
| is_dm | No | True if DM, False if room/space | |
| message_id | Yes | Message ID (from read_messages) | |
| topic_id | Yes | Thread ID (from read_messages) | |
| emoji | Yes | Unicode emoji to remove |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only states 'Remove', implying a destructive action. Lacks details on side effects, permissions, or error cases.
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 that is concise and front-loaded with the action and object, no extraneous text.
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 5 parameters (4 required) and no output schema, the description fails to explain return behavior, error handling, or prerequisites like whether the user must have added the reaction.
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 baseline is 3. Description adds no additional meaning beyond what the schema provides for the 5 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?
Description clearly states the action (remove) and object (emoji reaction from a message), distinguishing it from sibling tools like add_reaction.
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 or when not to use this tool vs alternatives like add_reaction. The description is straightforward but lacks differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reply_messageB
Reply to an existing thread in a space or DM
| Name | Required | Description | Default |
|---|---|---|---|
| group_id | Yes | Space/DM group ID (from list_spaces) | |
| is_dm | No | True if DM, False if room/space | |
| topic_id | Yes | Thread ID to reply to (from read_messages) | |
| text | Yes | Reply text |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Only states 'Reply to an existing thread', lacking details on permission requirements, notification behavior, error conditions, or whether it's safe to call multiple times.
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 with no wasted words. Front-loaded with the core action.
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?
Despite 4 parameters and no output schema, the description gives no information about return values, limitations, or error cases. Lacks depth compared to the complexity of 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 baseline is 3. Description adds no extra parameter context 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?
Description clearly states 'Reply to an existing thread in a space or DM', using a specific verb and resource. It distinguishes from siblings like 'send_message' (new message) and 'create_dm'.
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?
Implied usage for replying to existing threads, but no explicit when-to-use or when-not-to-use compared to siblings like 'send_message' or 'read_messages'. No alternatives mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_messagesB
Search messages in a space or DM by keyword
| Name | Required | Description | Default |
|---|---|---|---|
| group_id | Yes | Space/DM group ID (from list_spaces) | |
| is_dm | No | True if DM, False if room/space | |
| query | Yes | Keyword to search for | |
| page_size | No | Max results (default 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior such as read-only vs. mutating, pagination, rate limits, or return format. It only says 'search' without clarifying whether this operation is safe or what exactly it returns.
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, no wasted words. Could be slightly improved by adding a second sentence for usage or transparency without sacrificing conciseness.
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 lack of output schema and 4 parameters (all with descriptions), the description omits crucial details like pagination, sorting, response structure, and operational behavior. Incomplete for an AI agent to confidently invoke.
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 baseline is 3. The description adds minimal value—just restating 'search by keyword'. No additional parameter semantics beyond what the schema 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 the verb (search), resource (messages), and scope (space or DM) with method (by keyword). It effectively distinguishes from siblings like 'read_messages' which likely retrieves all messages without filtering.
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 versus alternatives like 'read_messages' or 'list_spaces'. The description does not mention prerequisites, exclusions, or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_messageA
Send a new message (starts a new thread) in a space or DM
| Name | Required | Description | Default |
|---|---|---|---|
| group_id | Yes | Space/DM group ID (from list_spaces) | |
| is_dm | No | True if DM, False if room/space | |
| text | Yes | Message text |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description lacks detail on behavioral aspects such as authentication requirements, side effects, or idempotency. The only behavioral cue is 'starts a new thread,' which is insufficient for a mutation tool with no annotation coverage.
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, concise sentence that efficiently conveys the core action without extraneous words. Every part is necessary and 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?
The tool has three parameters and no output schema or annotations. The description covers the basic action but omits return values, error handling, and any behavioral context, making it incomplete for an agent to fully anticipate 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?
Schema coverage is 100%, so the input schema already documents all parameters adequately. The description adds no new semantics beyond the schema, making it baseline adequate but not enhancing 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 tool sends a new message, differentiating it from the sibling tool 'reply_message' which replies in an existing thread. It specifies the context 'in a space or DM' and notes that it starts a new thread, making the purpose 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 implicitly guides usage by contrasting with 'reply_message' (starting a new thread vs replying), but does not explicitly state when to use or avoid this tool. No prerequisites or exclusion criteria are provided, leaving room for ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_typingB
Set typing indicator in a space or DM
| Name | Required | Description | Default |
|---|---|---|---|
| group_id | Yes | Space/DM group ID (from list_spaces) | |
| is_dm | No | True if DM, False if room/space | |
| topic_id | No | Thread ID (optional, leave empty for flat DMs) | |
| is_typing | Yes | True to start typing, False to stop |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not disclose behavioral traits such as whether the indicator is persistent, rate limits, or side effects. The simple action is clear, but transparency is lacking.
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?
Description is a single concise sentence that efficiently conveys the primary action. It is front-loaded and contains no unnecessary 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 and no annotations, the description is too brief. It does not explain the return value, behavior when the indicator is already set, or how the tool fits into a larger workflow. More context is needed for an agent to use it 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%, so the schema already documents all parameters. The description adds no additional meaning beyond what the schema provides, meeting the baseline 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?
Description clearly states the verb 'set' and resource 'typing indicator', with scope 'in a space or DM'. It distinguishes itself from sibling tools like send_message or mark_as_read by focusing solely on the typing indicator.
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 alternatives are given. The usage is implied from the purpose, but there is no guidance on when to use this tool over siblings like send_message or mark_as_read.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
13 tool updates
v0.1.0- First observed
add_reaction - First observed
create_dm - First observed
get_user_status - First observed
list_members - First observed
list_space_files - First observed
list_spaces - First observed
mark_as_read - First observed
read_messages - First observed
remove_reaction - First observed
reply_message - First observed
search_messages - First observed
send_message - First observed
set_typing
TDQS
Each tool targets a distinct action and resource (e.g., reactions, DM creation, presence, file listing), with no overlapping or confusing purposes.
All tool names follow a consistent verb_noun pattern in snake_case, making them predictable and easy to understand.
13 tools is well-scoped for a chat server, covering core messaging, reactions, searches, file handling, and presence without being excessive.
Missing edit/delete message and space management features, but the essential chat workflows are fully covered.
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
Hosted MCP server with managed OAuth for 15+ toolkits: Google Workspace, Fitbit, Oura, Kalshi, etc.
MCP server for Sendbird — chat users, channels, members, and messages from your AI client.
Hosted Google Calendar MCP server for AI agents. No self-hosting or Google Cloud setup.
Read and edit GA4, Search Console and Google Tag Manager from any MCP client. 29 tools.
Related MCP Servers
- AlicenseCqualityCmaintenanceProvides MCP (Model Control Protocol) tools for accessing and interacting with Google Chat spaces and messages through OAuth2 authentication.523MIT
- AlicenseNot gradedqualityDmaintenanceGoogle Chat MCP server that lets AI assistants like Claude and Cursor participate directly in team conversations - search messages, help teammates, share files, and coordinate across chat platforms.27PythonMIT
- AlicenseAqualityAmaintenanceThis MCP server provides comprehensive Google Workspace integration (Gmail, Drive, etc.) with multi-user OAuth. Unique features include RAG-powered natural language to Chat card rendering, runtime Jinja2 macro creation, and dynamic tool management.725Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables interaction with Discord using personal user tokens instead of bot applications, allowing for seamless message management and server exploration. It provides tools for reading history, sending messages, and searching across channels and DMs directly through MCP-compatible clients.8MIT
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/DXMHXR/googlechat-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server