Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool maps to a distinct resource/action combination: accounts, Gmail messages/labels, calendar availability, and Drive files/search. There is no meaningful overlap between search, read, and list operations.

    Naming Consistency5/5

    All tool names follow a consistent snake_case resource_action pattern (accounts_list, gmail_search, calendar_list_events, drive_read_file). Verb placement and object nouns are uniform across the set.

    Tool Count5/5

    Ten tools cover four Google Workspace areas without bloat. Each tool serves a non-redundant purpose, and the count is within the ideal 3-15 range for an MCP server.

    Completeness4/5

    The read/query workflows for Gmail, Calendar, and Drive are well represented, and account lifecycle is complete. Gaps such as sending email, creating calendar events, or writing Drive files appear intentional given the read-only consent, but would limit broader workspace management.

  • Average 3.7/5 across 10 of 10 tools scored.

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

    • No community issues in the last 6 months
    • 5 commits 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?

    As annotations já indicam readOnlyHint=true, openWorldHint=true e destructiveHint=false, cobrindo a segurança da operação. A descrição acrescenta comportamento relevante sobre o intervalo padrão e calendário padrão, mas não detalha o formato exato do retorno, limites de intervalo ou tratamento de timezone.

    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?

    A descrição é curta, direta e cada frase carrega informação útil: o recurso, o formato de data, o default temporal e o default de calendário. Não há palavras desnecessárias e a informação principal vem primeiro.

    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?

    Para uma ferramenta com 4 parâmetros, 0% de cobertura no schema, sem output schema e com um parâmetro obrigatório 'profile' inexplicado, a descrição é insuficiente. Ela cobre os defaults, mas não permite que um agente entenda completamente como preencher todos os argumentos nem o que receberá de volta.

    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?

    Com schema_description_coverage de 0%, a descrição precisa compensar. Ela acrescenta significado para time_min/time_max (RFC3339, default 24h) e calendar_ids (default 'primary'), mas deixa o parâmetro obrigatório 'profile' sem explicação e não esclarece como calendar_ids deve ser estruturado.

    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?

    A descrição informa que a ferramenta retorna blocos ocupados do calendário em um intervalo RFC3339, o que é específico o suficiente para indicar o recurso e o tipo de resultado. No entanto, não usa um verbo explícito e não diferencia diretamente de siblings como calendar_list_events, embora o recurso 'busy blocks' seja distinto.

    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?

    A descrição fornece defaults úteis ('Sem datas: próximas 24h', 'Calendário padrão: primary'), mas não diz quando usar esta ferramenta em vez de alternativas, nem menciona exclusions ou pré-requisitos como a necessidade do profile.

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

  • Behavior2/5

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

    Annotations already declare readOnlyHint=true and destructiveHint=false, so the safe-read nature is covered. The description adds no behavioral detail beyond the tool name, such as whether all labels are returned, ordering, or account-scoping semantics. It does not contradict the annotations, but it contributes little extra transparency.

    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, front-loaded sentence with no filler. Every word contributes to stating the tool's purpose.

    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 read-only listing tool, the description is minimally adequate: it names the resource returned. However, with no output schema and no parameter explanation, the agent lacks detail about the profile argument and the shape of the returned label list.

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

    Parameters2/5

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

    Schema description coverage is 0%, and the description does not explain the required 'profile' parameter beyond the phrase 'da conta'. An agent must infer that profile identifies which account's labels to list; no format, allowed values, or default behavior is provided.

    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 ('Lista') and resource ('os rotulos/labels') and specifies scope ('da conta'), so an agent knows exactly what the tool does. It is clearly distinct from sibling tools such as gmail_search and gmail_get_message, which operate on messages rather than labels.

    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 states the action but gives no guidance about when to choose this tool over alternatives, nor any exclusions or prerequisites. There is no mention that this is the way to discover available labels before searching/filtering messages, which would help route the agent.

    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?

    As anotacoes ja declaram readOnlyHint=true, openWorldHint=true e destructiveHint=false, cobrindo o perfil de seguranca. A descricao acrescenta informacao util ao dizer que devolve 'cabecalhos e snippet', mas nao revela comportamento de paginacao, limite de max_results nem como o profile afeta a busca. Com anotacoes presente, nota 3 e adequada.

    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?

    Uma frase unica e objetiva com proposito, exemplo ilustrativo e formato de retorno — sem palavras de enchimento. O exemplo justifica seu espaco porque ensina a sintaxe. Nao chega a 5 por carecer de estrutura (sem franse de alternativas ou lus excludentes), mas e eficiente.

    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?

    Ferramenta de busca simples e segura (annotacoes cobrem seguranca), e a descricao informa sintaxe e formado de saida. Porem, o parametro obrigatorio 'profile' nao e explicado, o comportament de max_results nao e descrito e, sem output schema, o agente nao sabe se o retorno inclui IDs de mensagem aleem dos cabecalhos. Faltas justificam nota 3.

    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?

    A cobertura do esquema e de 0%, entao a descricao deveria compensar. Ela acrescenta significado real ao parametro query atraves da sintaxe/exemplo, mas silencia sobre 'profile' e 'max_results' — dois parametros, um obrigatorio, permanecem dependentes apenas do schema com nomes genericos. A compensacao e apenas parcial (1 de 3 parametros).

    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?

    A descricao usa verbo especifico 'Busca' com recurso claro ('mensagens' via Gmail), e o exemplo de sintaxe ('from:x@y.com newer_than:7d is:unread') delimita o escopo. Distingue-se implicitamente dos irmaos gmail_get_message e drive_search, mas nao nomeia explicitamente nenhum alternativo, o que impede nota 5.

    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?

    A descricao implica o uso para encontrar mensagens por consulta estilo Gmail, mas nao diz quando usar esta ferramenta em vez de gmail_get_message, gmail_list_labels ou drive_search. Nao ha exclusoes nem condicoes de uso; o contexto e inferivel apenas pelo nome 'search' e pelo exemplo.

    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?

    Annotations already declare readOnlyHint=true and destructiveHint=false, so the description does not need to cover safety. It adds useful behavioral detail: `query` searches both name and text, while `raw_q` uses Drive syntax. It does not disclose return format, pagination, or what happens when both parameters are supplied.

    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 well-structured: one clear main statement followed by focused parameter clarifications. Every sentence adds value and there is no redundant 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?

    The tool has four parameters and no output schema, and the description covers only two of them. The required `profile` parameter is completely undocumented, and `max_results` behavior is absent, leaving important gaps for an agent trying to call the tool correctly.

    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 schema has 0% parameter descriptions, so the description must compensate. It explains `query` and `raw_q` well, including a concrete raw syntax example, but it omits the required `profile` parameter and `max_results` entirely, leaving those meanings to be inferred.

    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 'Busca arquivos' (searches files), a specific verb and resource, and further details query vs raw_q behavior. It clearly distinguishes this tool from siblings like gmail_search and drive_read_file by indicating it searches Drive files.

    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 implies usage: use this tool to search files, and it gives guidance on choosing between `query` and `raw_q` based on search style. However, it does not explicitly state when to prefer drive_search over siblings like drive_read_file or gmail_search.

    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?

    Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, fully covering the safety profile. The description adds the output content (email and scopes) but discloses no further behavioral traits such as authentication requirements, rate limits, or response format. There is no contradiction with the annotations.

    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?

    A single sentence with zero wasted words, front-loading the verb and resource and appending the returned fields. Every word earns its place.

    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 zero-parameter read-only tool whose safety profile is carried by annotations, the description is nearly complete: it states the action, the resource, and the returned fields. It does not detail the response structure, but with no output schema and such a simple resource that is a minor gap.

    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?

    The tool has zero parameters, so the baseline is 4. The description has nothing to add beyond what an empty schema already conveys, and it does not misrepresent any argument.

    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 states a specific verb ('Lista' — lists) and a clear resource ('perfis (contas Google) configurados'), and specifies the output content (e-mail e escopos). It implicitly distinguishes itself from the sibling mutations accounts_add/accounts_remove by its read-only verb, though it does not explicitly name any sibling.

    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 implies a read-only enumeration use case — call this when you need the configured Google account profiles. It provides no explicit when/when-not guidance, exclusions, or references to alternatives like accounts_add/accounts_remove, leaving the selection logic to inference.

    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?

    As annotations já indicam readOnlyHint=true e destructiveHint=false, e a descrição acrescenta comportamento relevante: conversão por tipo de arquivo (Docs para texto, Sheets para CSV, Slides para texto) e o fallback de binários para metadados. Não contradiz as annotations.

    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?

    A descrição é curta, direta e bem estruturada: a ação principal vem na primeira frase, seguida por detalhes de conversão e comportamento de binários. Não há palavras desnecessárias.

    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?

    A descrição informa o formato de retorno para diferentes tipos de arquivo, o que é útil sem output schema. Porém, não cobre parâmetros essenciais como profile e max_chars, nem detalha o que exatamente compõe os metadados de binários, deixando lacunas para o agente invocar corretamente.

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

    Parameters2/5

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

    A cobertura do schema é 0% e a descrição não explica nenhum parâmetro. file_id e max_chars são parcialmente inferíveis pelo nome e contexto, mas 'profile' não é explicado, nem o efeito do limite de max_chars na saída. A descrição não compensa a falta de documentação dos parâmetros.

    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?

    A descrição usa verbo específico ('Le') e recurso claro ('conteudo de um arquivo'), definindo exatamente o que a ferramenta faz. A diferenciação entre Docs/Sheets/Slides/binários ajuda a distinguir a operação das ferramentas irmãs, como drive_search.

    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?

    O contexto de uso (ler conteúdo de um arquivo) está implícito, mas não há orientação explícita sobre quando usar versus alternativas, nem exclusões como 'use drive_search para localizar arquivos'. A descrição não guia ativamente a decisão entre ferramentas.

    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?

    Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds value beyond the annotations by disclosing exactly what the read returns and, crucially, what it does NOT return ('sem conteudo' — attachment content is excluded). The 'corpo em texto' disclosure (text body only) also sets expectations about format. No contradiction with annotations.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    A single Portuguese sentence packs the retrieval key, the return structure, and an explicit exclusion with zero wasted words. Every phrase earns its place: 'pelo id', 'cabecalhos, corpo em texto', 'lista de anexos (nome/tamanho, sem conteudo)'.

    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 read-only tool with safety covered by annotations, the description is largely complete: it defines inputs (id), outputs (headers, body, attachment metadata), and an exclusion. The main gaps are the unexplained max_chars truncation behavior and the meaning of profile, which an agent would need to correctly size or filter requests. No output schema exists, so the return-scope description carries the full burden and mostly succeeds.

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

    Parameters2/5

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

    Schema coverage is effectively 0% — the schema provides only bare titles ('Profile', 'Max Chars', 'Message Id') with no descriptions. The description clarifies message_id's role ('pelo id') but says nothing about max_chars (presumably a body truncation limit, default 20000) or profile (which account context to use). With zero schema descriptions, the description must compensate and only covers one of three 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 states a specific verb and resource ('Lê uma mensagem pelo id' — reads a message by id) and goes further to enumerate the exact return scope: headers, text body, and attachment list with name/size. It naturally distinguishes itself from siblings like gmail_search (finding messages) and gmail_list_labels (listing labels) by clarifying this is an id-based retrieval returning message content.

    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 usage context is implied rather than stated: the phrase 'pelo id' signals the agent must already possess a message_id, implying gmail_search is the precursor. However, there is no explicit when-to-use guidance, no mention of alternatives, and no statement of when not to use this tool (e.g., if attachment content is needed).

    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?

    Annotations already mark destructiveHint=true; the description adds concrete detail about what gets destroyed (local profile, refresh token) and what remains untouched (Google data). This is exactly the behavioral context beyond the annotations that an agent needs before invoking a destructive tool.

    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?

    Two sentences with no filler; the destructive action is front-loaded and the scope boundary is stated immediately after. Every word earns its place.

    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 simple one-parameter destructive tool, the description covers what it does and what it does not do. It only misses guidance on where to get the profile value (e.g., from accounts_list), leaving a minor gap.

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

    Parameters2/5

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

    Schema description coverage is 0% and the description does not explain the 'profile' parameter's format or source. The phrase 'Remove um perfil local' hints that the parameter identifies the local profile, but the description fails to compensate for the missing schema documentation.

    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 (remove the local profile, delete the refresh token from Credential Manager) and a resource boundary (does not change anything in Google). This distinguishes it from sibling tools like accounts_add and accounts_list.

    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 implies when to use the tool by describing its scope, but it does not explicitly contrast with alternatives or state when-not-to-use. The phrase 'does not alter anything in Google' gives some exclusion context, but no sibling names or conditions are provided.

    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?

    Annotations already declare readOnly/openWorld/non-destructive, so the safety profile is covered. The description adds useful behavioral details not in the annotations: recurring events are expanded and the default time window is the next 7 days.

    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 short, information-dense sentences with no filler. The most important behavior (date range and default) is front-loaded, and every sentence contributes meaning.

    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?

    Core invocation logic is present: event listing, date range, default window, and recurrence behavior. However, there is no output schema and no mention of return shape, pagination, max_results implications, or query filtering, so an agent might still be uncertain about result handling.

    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?

    With 0% schema description coverage, the description must compensate. It explains time_min/time_max format (RFC3339) and the default range when empty, but it does not clarify query, profile, calendar_id, or max_results semantics, leaving several parameters under-specified.

    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?

    Names the specific action (list events), the resource (calendar events), and the scope (between time_min and time_max). The default behavior and recurrence expansion further disambiguate it from siblings like calendar_free_busy.

    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?

    Clearly states the common date-range usage and what happens when no dates are provided (next 7 days). It does not explicitly discuss when to prefer calendar_free_busy or drive_search, but the core usage context is clear.

    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?

    The description discloses meaningful behavioral details beyond the annotations: it opens a browser for user consent, requests read-only access, and stores the token in Credential Manager. This aligns with annotations (readOnlyHint=false because it writes a token; openWorldHint=true because it launches an external browser flow). No contradiction found. It could additionally mention idempotency or duplicate-profile handling, but the key side effects are disclosed.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is two sentences, front-loads the core action, and adds only relevant detail about the consent flow and the profile parameter. Every sentence earns its place with no wasted words.

    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 single-parameter tool with no output schema, this description covers the purpose, the side-effectful flow, and the parameter meaning. It is reasonably complete for an agent to invoke it correctly. A short note about the interactive browser requirement or duplicate profiles could improve it, but nothing essential is missing for a basic call.

    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?

    The schema only defines 'profile' with no description, and schema description coverage is 0%. The description compensates by explaining that profile is a short alias and provides concrete examples ('pessoal', 'trabalho', 'cliente'). It adds meaning beyond the raw schema, though it could clarify uniqueness or reuse implications.

    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 and resource: 'Adiciona uma conta Google' (adds a Google account). It also describes the mechanism (browser consent, token storage), which distinguishes it from sibling tools like accounts_list and accounts_remove.

    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 implies when to use this tool: when a Google account needs to be added and a profile alias assigned. However, it provides no explicit guidance on when not to use it or how it compares to alternatives such as accounts_list or accounts_remove. Usage context is inferable but not stated.

    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

gws-mcp MCP server

Copy to your README.md:

Score Badge

gws-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/TarcioDiniz/gws-mcp'

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