Skip to main content
Glama
bobamayer

Google Chat MCP Server

by bobamayer

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.0

  • Disambiguation4/5

    send_message, list_spaces, and search_messages are clearly distinct. list_messages and search_messages overlap somewhat in retrieving messages from a space, but their parameters and stated purposes make the intended difference reasonably clear.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun snake_case pattern: send_message, list_spaces, list_messages, and search_messages. The naming is predictable and makes the action and target resource immediately obvious.

    Tool Count5/5

    Four tools is a well-scoped size for a focused Google Chat MCP server. Each tool covers a clear use case without unnecessary redundancy or overwhelming surface area.

    Completeness3/5

    The server covers sending and reading messages plus listing spaces, but it lacks message update/delete operations and has no way to create or retrieve a single space. This leaves notable lifecycle gaps for message management, though basic chat workflows are usable.

  • Average 4/5 across 4 of 4 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 1 commit in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior3/5

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

    With no annotations, the description must carry behavioral disclosure. It does add ordering ('newest first'), page_token-based pagination, and the ability to filter, but it leaves 'recent' undefined and never states what the response contains or whether there are permission/rate limits.

    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 compact and front-loaded with the core action; the Args block is clean, each parameter has a one-line purpose, and the filter example is valuable without bloat.

    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 4-parameter read tool with no output schema, the description covers inputs and ordering but omits the return shape (what fields each message has), pagination limits, and any auth or error conditions. The 'recent' qualifier is also vague, so an agent cannot fully predict behavior.

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

    Parameters5/5

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

    Schema description coverage is 0%, so all parameter meaning comes from the description. It explains each parameter: space with a concrete example, page_size semantics, page_token usage, and filter_expr with a query example. This fully compensates for the empty 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?

    Description uses a specific verb ('List'), specifies the resource ('messages in a Google Chat space'), and adds ordering detail ('newest first'), making it clearly distinct from siblings like send_message (write), list_spaces (different resource), and search_messages (query-based).

    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 choose this over search_messages or how it relates to list_spaces. The purpose implies per-space browsing, but alternatives are never mentioned, so the agent must infer from the name.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the disclosure burden. It adds useful behavioral details—query is case-insensitive, page_size controls fetch size while scanning—but it does not state whether the operation is read-only (though implied by 'Search'), how results are returned, or whether all pages are automatically scanned. These gaps leave moderate ambiguity.

    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 compact: a one-sentence purpose followed by a short args block with no filler. It is front-loaded with the primary action and structured for easy parsing, with a clear list format.

    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?

    With no output schema and no annotations, the description should explain return behavior; it does not. The purpose and inputs are clear, but it leaves ambiguity about whether the function returns all matching messages, how pagination is aggregated, and the response shape. For a simple search tool this is a moderate gap.

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

    Parameters5/5

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

    Schema description coverage is 0%, and the description compensates well by explaining each parameter: space includes a concrete resource-name format example, query defines case-insensitive substring matching against message text, and page_size explains its role in paging. This adds significant meaning beyond the schema's bare titles.

    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 a specific verb ('Search'), resource ('messages'), and scope ('in a space containing a text substring'). This clearly distinguishes it from siblings like list_messages (which likely lists without substring filtering), send_message, and list_spaces.

    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 guidance on when to choose this tool over alternatives, such as explicitly mentioning 'use list_messages to list all messages' or 'use search_messages when you need substring filtering'. The usage context is only implied by the name and description, with no exclusions or sibling comparisons.

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

  • Behavior3/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 clearly conveys the mutating nature of the action ('send') and adds the thread_key reply behavior, but it does not disclose permissions, visibility of the sent message, error behavior, or any return value. This is adequate but not rich.

    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 compact and front-loaded with a single purpose sentence followed by a terse Args list. Every line contributes necessary parameter meaning, and there is no filler or repetition.

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

    Completeness4/5

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

    For a low-complexity tool with three simple parameters and no output schema, the description provides enough information to call it correctly: purpose, all parameter semantics, and optional thread behavior. It does not mention return values or error conditions, but the operation is straightforward enough that these are not blocking gaps.

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

    Parameters4/5

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

    Schema description coverage is 0%, so the description must compensate for the bare schema. It does so by explaining all three parameters: space gets a concrete 'spaces/...' example, text is identified as the message body, and thread_key is described as an optional way to reply in an existing thread. It lacks constraints such as length limits but is otherwise strong.

    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 opens with 'Send a text message to a Google Chat space,' which is a specific verb plus resource. It clearly distinguishes this write-oriented tool from the read-oriented siblings list_spaces, list_messages, and search_messages.

    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 intended use is implied by the verb 'send,' but the description never explicitly states when to prefer this tool over alternatives or mentions any prerequisites or exclusions. It provides enough context for a simple send operation, but stops at implied usage rather than explicit guidance.

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

  • Behavior4/5

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

    With no annotations, the description carries the behavioral burden. It discloses that results are scoped to the configured account's visibility and that pagination is supported through page_size (1-1000) and page_token from a previous call. It does not mention auth requirements or rate limits, but 'list' plus the visibility/pagination details cover the key behavior for this read operation.

    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 purpose sentence is front-loaded and the Args list is compact. Every sentence contributes distinct information, with no redundant wording or filler.

    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 purpose and both optional parameters are covered, so a basic call is fully specified. However, there is no output schema and the description does not describe the response shape or how the returned next_page_token would be surfaced, which an agent needs to confidently implement multi-page listing. Auth/rate-limit notes are also absent, though less critical for a read-only list.

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

    Parameters5/5

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

    Schema description coverage is 0%, so the description must add parameter meaning, and it does: page_size is explained as the max number of spaces to return with an explicit 1-1000 range, and page_token is explained as a token from a previous call to fetch the next page. This goes well beyond the raw integer/string/null types 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 begins with a specific verb and resource: 'List Google Chat spaces...'. It adds the scope 'the configured account can see', which separates it from siblings that operate on messages (send_message, list_messages, search_messages). Even without a title, the purpose is unambiguous.

    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 description makes clear that this is for listing spaces visible to the configured account, which gives context for when it applies. However, it does not explicitly contrast it with sibling tools or say when to prefer it over search_messages/list_messages.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

google-chat-mcp MCP server

Copy to your README.md:

Score Badge

google-chat-mcp MCP server

Copy to your README.md:

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/bobamayer/google-chat-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server