Skip to main content
Glama
DXMHXR

Google Chat MCP Server

by DXMHXR

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

  1. Install the Cookie-Editor extension (Chrome / Firefox)

  2. Open chat.google.com and make sure you're logged in

  3. Click the Cookie-Editor icon → Export → Export as JSON

  4. 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.)

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-mcp

Verify:

claude mcp list
claude mcp get googlechat

Alternative: 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 requests

Then 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_spaces

List all DMs and spaces you're a member of

read_messages

Read messages + attachments/Drive/URLs from a DM or space

send_message

Send a new message to a DM or space

reply_message

Reply to an existing thread

list_space_files

List all files, Drive items, and URLs ever shared

create_dm

Open a DM with a user by email


Troubleshooting

Error

Solution

cookies.json not found

Set the GCHAT_COOKIES env var or place cookies.json in the server folder

401 Unauthorized

Cookies expired — re-export them from your browser

Incomplete cookies

Make sure you export from chat.google.com, not another Google domain

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 tools
add_reactionC

Add an emoji reaction to a message

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYesSpace/DM group ID (from list_spaces)
is_dmNoTrue if DM, False if room/space
message_idYesMessage ID (from read_messages)
topic_idYesThread ID (from read_messages)
emojiYesUnicode emoji, e.g. '👍' or '✅'

TDQS

C2.8/5.0
Behavior1/5

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.

Conciseness4/5

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.

Completeness1/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesGoogle email of the user

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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)

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idsYesList of user IDs to check (from list_members)

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYesSpace/DM group ID (from list_spaces)
is_dmNoTrue if DM, False if room/space
page_sizeNoMax members to return (default 50)

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYesSpace/DM group ID (from list_spaces)
is_dmNoTrue if DM, False if room/space
page_sizeNoMessages to scan (default 50)

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
page_sizeNoMax results (default 20)

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYesSpace/DM group ID (from list_spaces)
is_dmNoTrue if DM, False if room/space

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYesSpace/DM group ID (from list_spaces)
is_dmNoTrue if DM, False if room/space
page_sizeNoMax threads to return (default 20)

TDQS

B3.3/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYesSpace/DM group ID (from list_spaces)
is_dmNoTrue if DM, False if room/space
message_idYesMessage ID (from read_messages)
topic_idYesThread ID (from read_messages)
emojiYesUnicode emoji to remove

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYesSpace/DM group ID (from list_spaces)
is_dmNoTrue if DM, False if room/space
topic_idYesThread ID to reply to (from read_messages)
textYesReply text

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYesSpace/DM group ID (from list_spaces)
is_dmNoTrue if DM, False if room/space
queryYesKeyword to search for
page_sizeNoMax results (default 20)

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYesSpace/DM group ID (from list_spaces)
is_dmNoTrue if DM, False if room/space
textYesMessage text

TDQS

A3.7/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYesSpace/DM group ID (from list_spaces)
is_dmNoTrue if DM, False if room/space
topic_idNoThread ID (optional, leave empty for flat DMs)
is_typingYesTrue to start typing, False to stop

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents 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.

Purpose5/5

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.

Usage Guidelines3/5

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.

  1. 13 tool updatesv0.1.0
    • First observedadd_reaction
    • First observedcreate_dm
    • First observedget_user_status
    • First observedlist_members
    • First observedlist_space_files
    • First observedlist_spaces
    • First observedmark_as_read
    • First observedread_messages
    • First observedremove_reaction
    • First observedreply_message
    • First observedsearch_messages
    • First observedsend_message
    • First observedset_typing

TDQS

A3.6/5.0
Disambiguation5/5

Each tool targets a distinct action and resource (e.g., reactions, DM creation, presence, file listing), with no overlapping or confusing purposes.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case, making them predictable and easy to understand.

Tool Count5/5

13 tools is well-scoped for a chat server, covering core messaging, reactions, searches, file handling, and presence without being excessive.

Completeness4/5

Missing edit/delete message and space management features, but the essential chat workflows are fully covered.

Maintenance

ActivityMaintained
ResponsivenessSyncing

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Google 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.
    27
    Python
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    This 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.
    7
    25
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables 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.
    8
    MIT

Latest Blog Posts

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