Skip to main content
Glama
dipseth

google-workspace-unlimited

Server Quality Checklist

92%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v2.13.0

  • Disambiguation5/5

    Each tool has a clearly distinct role: tags for browsing categories, search for keyword discovery, get_schema for parameters, execute for running tools, semantic_search for past results, fetch_document for previewing stored content, and tool_activity for analytics. No two tools have overlapping purposes.

    Naming Consistency3/5

    Names mix verbs (execute, search), nouns (tags, tool_activity), and verb-noun compounds (get_schema, fetch_document). There is no consistent verb_noun pattern across all tools, though they are all lowercase with underscores for multi-word names, making them still readable.

    Tool Count5/5

    Seven tools is well-suited for a meta-server that wraps Google Workspace access. They cover discovery, schema lookup, execution, history search, document preview, and analytics without being excessive or sparse.

    Completeness4/5

    The set provides a complete workflow from discovering tools (search/tags) to understanding parameters (get_schema) to executing (execute) to auditing (semantic_search, fetch_document, tool_activity). The only minor gap is that actual Google Workspace tools are not exposed as first-class tool entries, but they are accessible via execute, so the surface is effectively complete.

  • Average 4.7/5 across 7 of 7 tools scored.

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

    • 1 of 1 community issues answered or closed in the last 6 months
    • 33 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under Apache 2.0.

  • 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.

  • This repository includes a glama.json configuration file.

  • This server has been verified by its author.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It explicitly states 'read-only aggregation' which reassures the agent that this is a safe, non-mutating operation. It also discloses the error condition ('Analytics failed' when the response store is unreachable) and the underlying data store (Qdrant response store), which adds meaningful context beyond the basic function.

    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 highly efficient and well-structured, using labeled sections ('Use when', 'Behavior', 'Returns', 'Errors') to front-load key information. Every sentence contributes value, with no repetition of schema details or fluff. The entire text is compact while covering purpose, usage, behavior, return format, and error handling.

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

    Completeness5/5

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

    Despite having an output schema (which lowers the burden for explaining return values), the description still describes the return format: 'a text dashboard grouped by tool_name or user_email, with sample point IDs per group.' It also covers the error case and the data source. For a low-complexity read-only analytics tool, this is complete and self-contained.

    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 covers all three parameters with descriptions (limit, group_by, user_google_email), achieving 100% coverage. The description adds no new parametric details beyond what the schema already provides, such as mentioning group_by values ('tool_name' or 'user_email') which are already in the schema. Baseline of 3 is appropriate when the schema does the heavy lifting.

    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 a specific verb and resource: 'Show usage analytics for this server's tools: call counts, error rates, last-used times.' This clearly states what the tool does and its scope. It distinguishes itself from sibling tools like fetch_document (reading a single document) and search (discovering tools) by focusing on aggregate usage analytics.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides an explicit 'Use when' clause: 'answering what has been used or failing lately.' It also names alternatives: 'To read an individual response, pass a sample point ID to fetch_document; to discover tools to call, use search instead.' This gives clear context for when to use this tool versus its siblings.

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

  • Behavior5/5

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

    With no annotations, the description fully discloses behavior: 'read-only', the exact return payload (tool name, service, timestamp, user, argument count, first 500 characters), and error behavior ('Document not found' for unknown or expired IDs). This exceeds the burden placed on the description.

    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 concise and well-structured, using labeled sections (Use when, Behavior, Returns, Errors) that make it immediately scannable. Every sentence adds value, and there is no fluff.

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

    Completeness5/5

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

    Even though an output schema exists, the description provides a complete picture: what the tool does, when to use it, what it returns, and how it errors. This is especially strong given the lack of annotations, making the tool fully understandable for an agent.

    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%, including a clear definition for point_id and the auto-injected nature of user_google_email. The description adds no additional meaning beyond the schema, so the baseline 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 action ('Preview one stored tool response by its Qdrant point ID') with a specific verb, resource, and identifier. It also distinguishes itself from siblings by noting it works on results from semantic_search and defers full content to a different tool.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly provides when to use ('inspecting a hit returned by semantic_search'), how to find point IDs ('use semantic_search'), and when to use an alternative ('for the full untruncated content, call the fetch tool inside an execute block'). This gives clear and complete usage 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 provided, the description carries the full burden. It discloses the output format options (brief/detailed/full), the default, and behavior for unknown names ('reported under 'Tools not found''). It does not explicitly state read-only safety, but this is strongly implied by the action of getting schemas.

    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?

    Three concise, front-loaded sentences. First sentence states purpose, second gives usage context, third lists output modes and edge-case behavior. Every sentence earns its place with no redundancy.

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

    Completeness5/5

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

    The tool is simple (2 params, one enum) and the description covers use case, output formats, and not-found handling. An output schema exists, so return values don't need description. It is complete and self-sufficient.

    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 coverage is 100%, so baseline is 3. The description adds meaningful behavioral detail beyond the schema, particularly that unknown names are reported under a 'Tools not found' section and that 'detailed' yields markdown parameter schemas per tool. This enriches understanding of both 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?

    The description clearly states the tool's function: 'Get parameter schemas for named tools before calling them via execute.' It uses a specific verb and resource, and distinguishes itself from siblings by explicitly saying 'Not for discovery — use search for that.'

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Provides explicit when-to-use guidance: 'when you already have tool names (from search or tags) and need exact parameters' and an explicit exclusion: 'Not for discovery — use search for that.' This fully clarifies context versus alternatives.

    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?

    No annotations exist, so the description carries the full burden. It reveals the search mechanism (BM25), return formats, and empty-result behavior with retry advice. It does not discuss potential errors or limits, but for a read-only search tool it is reasonably transparent.

    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?

    Every sentence earns its place: purpose, usage guidance, return format, and empty-result handling are each covered without repetition. Structured with a clear opening and logical flow.

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

    Completeness5/5

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

    For a search tool with four parameters and an output schema, the description covers when to use, alternatives, return formats, and failure behavior. It is complete enough for an agent to select and invoke correctly.

    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 coverage is 100% so baseline is 3. The description adds meaning by explaining the 'detail' parameter modes and suggesting the use of 'tags' for category browsing, going beyond the schema's field descriptions.

    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: 'Find this server's Google Workspace tools by keyword (BM25 over names, descriptions, and tags).' It clearly identifies the resource and method, and differentiates from siblings by explicitly naming semantic_search, get_schema, and execute.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Provides explicit usage guidance: 'Use when: you don't know the exact tool name yet' and gives alternatives: 'To browse by category use tags; once you have names, use get_schema for parameters, then execute to call them. To search past results rather than tools, use semantic_search.'

    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?

    No annotations are present, so the description carries the full burden. It discloses the default detail level and the exact output format for both 'brief' and 'full'. It doesn't explicitly state read-only behavior, but the listing nature is self-evident. Slight gap: no mention of permission or rate limits, yet not critical for a simple list.

    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?

    Three concise sentences with no filler. The first sentence states purpose, the second gives usage guidance, and the third explains return format. Every sentence earns its place.

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

    Completeness5/5

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

    For a one-parameter tool with an output schema, the description covers purpose, usage timing, alternatives, default behavior, and output format for both detail levels. It is complete and fully contextualized relative to its complexity.

    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 coverage is 100%, and the schema already documents the 'detail' parameter with enum, default, and a clear description. The tool description adds the specific output format ('- tag (N tools)' lines), which is a small but useful enhancement beyond the schema. Baseline 3, slightly above.

    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 starts with a specific verb+resource: 'List this server's tool tags' and clarifies with examples of service areas. It clearly distinguishes from siblings by mentioning 'search' for keyword lookup and 'get_schema' for parameters.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicit use case: 'Use when: browsing what capability areas exist before a targeted lookup.' It names alternatives: 'For keyword lookup use search; for parameters of known tools use get_schema.' This is clear when/when-not guidance.

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

  • Behavior5/5

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

    With no annotations provided, the description carries the full burden. It explicitly states 'read-only against the local Qdrant instance; no Google APIs are called', describes return format, and enumerates error messages and the default score_threshold with advice to lower it. This is thorough and honest.

    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 long but well-structured with clear sections (Use when, Modes, Behavior, Returns, Errors, DSL symbols). The front-loaded purpose sentence earns its place, and the extensive DSL reference is justified given the tool's complexity, though it edges toward verbosity.

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

    Completeness5/5

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

    For an 11-parameter tool with multiple DSL modes, the description is remarkably complete. It covers all modes, error cases, default behavior, and return format, while the output schema exists so return values need not be elaborated. The only minor gap is lack of explicit multi-tenant data isolation mention, but that is not required.

    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?

    While schema description coverage is 100%, the description adds substantial meaning: it explains the semantics of filter_dsl, query_dsl, prefetch_dsl, positive/negative_point_ids, and provides a full symbol legend plus syntax examples. This goes well beyond the schema's generic descriptions.

    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 a specific verb and resource: 'Search the Qdrant vector store of this server's past tool responses and card templates.' It clearly distinguishes itself from siblings by explicitly directing users to 'use search' for tool discovery and 'fetch_document' for previewing stored documents.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides explicit 'Use when' guidance with concrete examples like 'service:gmail last week' and 'tool:search recent', and names alternatives for other scenarios. This is a model of when-to-use versus alternatives.

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

  • Behavior5/5

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

    The description is highly transparent about side effects and constraints: 'each call_tool runs the real tool immediately — sends, edits, and deletes take effect; there is no dry-run.' It also details sandbox restrictions, available built-in helpers, and error conditions (NotFoundError, SandboxError). With no annotations provided, this description fully compensates.

    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?

    Although the description is long, it is well-structured with bold headers for use cases, sandbox restrictions, and helper functions. Every section earns its place given the complexity of a code execution environment. The most critical usage guidance is front-loaded, and the detailed reference lists are clearly organized.

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

    Completeness5/5

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

    Given the tool's complexity, the lack of annotations, and the absence of an output schema, this description is exceptionally complete. It covers the execution model, side effects, sandbox limitations, available helpers, and error handling. It provides all the information an agent needs to use the tool correctly without additional lookups.

    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?

    While the schema already describes the 'code' parameter, the description adds crucial semantic depth: the expected format (async Python code), the only available function in scope (call_tool), and the extensive list of built-in helpers. It also explains how to structure the code for chaining and return values. This goes well beyond the schema's basic description.

    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's purpose: 'Run sandboxed Python that calls this server's Google Workspace tools via await call_tool(tool_name, params), chaining calls in one block.' This is a specific verb+resource description that distinguishes the tool from siblings by emphasizing its role as a code-execution orchestrator.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description includes explicit usage guidance: 'Use when: you know which tools to call.' It also directs users to alternatives for different needs: 'To find tool names first use search or tags; for exact parameters use get_schema; to look up past results instead, use semantic_search.' This clearly delineates when to use this tool versus other siblings.

    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_workspace_fastmcp2 MCP server

Copy to your README.md:

Score Badge

google_workspace_fastmcp2 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/dipseth/google_workspace_fastmcp2'

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