NLM Expert Research MCP — Frontier
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation4/5
Tools have mostly distinct purposes: setup_auth is for login, health for status, doctor for local diagnostics, research for single-notebook queries, compare_notebooks for two-notebook comparisons, and so on. Some potential confusion exists between list_notebooks and notebook_resolve (listing vs resolving one) and doctor vs health, but descriptions clarify the boundaries well.
Naming Consistency3/5Naming follows a mostly verb_noun pattern (list_notebooks, get_evidence, compare_notebooks) but deviates with single-word names (doctor, health, research) and reversed object_verb forms (notebook_resolve, notebook_refresh). This mixed convention is readable but not fully consistent.
Tool Count5/510 tools is well-scoped for an expert research MCP, covering authentication, diagnostics, health, notebook discovery, source listing, research, evidence retrieval, and comparison. Each tool earns its place without redundancy or bloat.
Completeness4/5The surface covers the full research lifecycle: setup auth, check health, list/resolve/refresh notebooks, list sources, run research, retrieve evidence, and compare notebooks. Minor gaps include lack of a tool to browse all evidence from a session or a single tool to search across multiple notebooks, but these are not core to the stated purpose.
Average 3.7/5 across 10 of 10 tools scored. Lowest: 2.9/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 36 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 MIT License.
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.jsonto 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 carries the full burden. It discloses two behavioral traits: provenance preservation and explicit invocation requirement. However, it does not mention side effects, cost, data scope, or whether it is read-only, leaving significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—two sentences with no filler. Every word contributes meaning, and the key points are front-loaded. It earns a top score for efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with three required parameters and no output schema, the description is too sparse. It does not explain what the comparison returns, how provenance is represented, or any constraints on inputs. The agent would have to guess at invocation expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does 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 three undocumented parameters. It does not explain what 'query', 'notebook_a', or 'notebook_b' should contain or how they interact. The parameter names are self-explanatory but lack necessary semantic detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Explicitly compare two notebooks') and adds a distinctive detail ('preserving provenance by notebook') that helps differentiate it from siblings. It is specific about the resource and operation, though it doesn't explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Never invoked implicitly' gives a weak usage hint, but there is no explicit guidance on when to use this tool versus alternatives like 'research' or 'get_evidence'. No when-not-to-use scenarios or prerequisite conditions are provided.
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?
No annotations are provided, so the description bears the full burden. It discloses that the tool 'force refreshes' and 'detects' changes, but it does not explain the operational consequences: whether it writes to the notebook, requires permissions, is destructive, or has side effects. The term 'force' implies a non-trivial behavior that is left unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that front-loads the primary action ('Force refresh') and packs the change-detection behavior into a concise clause. There is no wasted or redundant wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations, so the description should provide more context about the operation's inputs, outputs, and side effects. It does not explain terms like 'live notebooks' or 'sources', what happens when notebook_id is omitted, or what the return value looks like. This leaves a meaningful gap for a one-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter (notebook_id) with zero description coverage, and the tool description does not mention it at all. The description provides no meaning for what notebook_id should be or how it affects the refresh (e.g., filtering to a specific notebook vs. all notebooks).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Force refresh' and identifies the resources ('live notebooks and sources') plus the action's scope (detecting created, renamed, deleted, newly added items). This clearly differentiates it from sibling tools like compare_notebooks or doctor.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly suggests this tool is for refreshing live notebooks and sources, but it does not explicitly state when to choose it over alternatives, mention prerequisites, or provide exclusions. There is no reference to sibling tools or conditions for use.
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?
With no annotations, the description carries the full burden. It states the tool runs diagnostics but does not disclose whether it is read-only, any side effects, or what output is returned. 'stdio-safe MCP operation' suggests a safety property but is vague.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. It earns every word.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter diagnostic tool with no output schema or annotations, the description gives the scope of checks but does not explain the result format or how to interpret the diagnostic output. This is a moderate gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description is not required to explain them. The description does not add parameter-related details, but the 0-param baseline is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Run') and resource ('diagnostics') and lists the covered areas (runtime, adapter, registry, stdio-safe MCP operation), distinguishing it from notebook-focused sibling tools. However, 'local diagnostics' could be more explicit about what the tool actually does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided for when to use this tool versus alternatives. There is no mention of prerequisites, use cases, or exclusions.
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. 'Retrieve' indicates a read-only operation, but the description does not disclose other behavioral traits such as error handling, return format, or authorization requirements. It is average for a simple read 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that begins with the action verb and efficiently conveys the tool's purpose, resource, and key parameter. Every word earns its place, with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieval tool with one parameter, the description covers the core purpose and parameter semantics. The phrase 'from a previous research session' provides useful context for when the tool is applicable. While return value is not explicitly described, 'retrieve' implies the item is returned, making the description adequate for this low-complexity tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required parameter, evidence_id, with no description. The description mentions 'by evidence ID,' which maps the parameter's purpose but essentially restates the field name. It does not add details about formats, constraints, or how to obtain the ID, so it only partially compensates for the 0% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Retrieve' and clearly identifies the resource as 'one evidence item' with a selection criterion (evidence ID). It also places the action in the context of 'a previous research session,' which distinguishes it from sibling tools like 'research' or 'compare_notebooks.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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. It merely notes the context 'from a previous research session,' but does not explain when this tool is preferred over siblings or mention any exclusions.
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?
With no annotations, the description must convey behavioral traits. It adds context by noting the 'RPC-only metadata path' and that the data is 'authoritative remote,' which suggests a specific access mechanism and data source. However, it does not disclose potential limitations, authentication requirements, or error behavior, leaving some gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary purpose and followed by a brief usage hint. Every word earns its place; there is no redundancy or irrelevant detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one parameter, no output schema), and the description covers its core function, output content (source IDs and titles), and usage timing. However, it omits parameter format, authentication prerequisites, and error scenarios, which are relevant for a complete picture, though not critical for a simple read-only list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required string parameter 'notebook' with no description and 0% schema coverage. The description says 'for one NotebookLM notebook,' which clarifies that the parameter refers to a notebook, but it does not explain that the value should be a notebook ID or how to obtain it. This is minimal additional meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('List') and resource ('authoritative remote source IDs and titles for one NotebookLM notebook'). This is unambiguous and distinguishes it from sibling tools like list_notebooks, which list notebooks rather than sources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear usage context: 'Use before discussing corpus scope or freshness.' This tells the agent when to invoke the tool, but it does not mention alternatives or when not to use it, so it falls short of a 5.
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?
With no annotations, the description carries the full burden. It adds a key behavioral safeguard ('without exposing credentials') but does not disclose whether the operation is read-only, error behavior, or response format. This is some value beyond the name but not rich context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that immediately states the purpose and a key constraint. Every word earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a simple health-check tool with zero parameters and no output schema, the description sufficiently identifies what is checked. It lacks return-value details but is adequate for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema provides complete coverage. The description adds no parameter details, but none are needed. Baseline of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Check' and identifies three distinct resources: Frontier, persistent NotebookLM authentication, and upstream transport readiness. This clearly differentiates it from sibling tools like 'doctor' or 'setup_auth'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context on what the tool checks, implying it should be used for verifying these components. However, it does not explicitly mention alternatives or when not to use it, though sibling tools exist.
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 full burden. It discloses that results are live, include an explicit count, and that cached results are marked catalog_stale when live discovery is unavailable. This adds valuable behavioral context beyond 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded purpose, and no waste. The first sentence states what it does; the second adds usage and behavioral nuance efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one optional parameter and no output schema, the description covers purpose, usage, and a key behavioral detail. The missing parameter explanation is a gap but doesn't undermine overall completeness for the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one optional enum parameter (freshness: auto/force) with zero description coverage, and the tool description does not explain these values. The agent knows the options but not their semantics, so the description provides no value here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: listing the authenticated account's live NotebookLM notebooks. It specifies the scope (expert notebooks) and distinguishes it from siblings like list_sources by focusing on notebooks rather than sources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this when the user asks what expert notebooks are available,' providing clear usage context. It doesn't mention alternatives or exclusions, but the guidance is specific enough for a straightforward listing tool.
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 full burden and does disclose a key behavioral trait: cache misses trigger a live refresh, and the cache is never authoritative. However, it omits other behaviors such as error handling and return format, so it is not fully 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences front-load the purpose and add a valuable behavioral note. Every word earns its place, with no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the main purpose and cache behavior, but misses a clear differentiation from the sibling tool 'notebook_refresh'. It also does not describe the return value or error semantics, leaving the context slightly incomplete for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description compensates by explaining the 'notebook' parameter can be a title, alias, ID, or URL. It also hints at the 'freshness' parameter through the cache behavior discussion, adding meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to resolve a notebook by title, alias, ID, or URL. This is a specific verb+resource combination that distinguishes it from siblings like 'notebook_refresh' and 'compare_notebooks'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (when you need to resolve a notebook identifier) but provides no explicit guidance on when to use this tool versus alternatives like 'notebook_refresh'. The caching note gives some context but does not clarify the distinction further.
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 adds behavioral context beyond the schema by describing the return format (claims, citations, conflicts, gaps, quality status) and the 'source-locked' and 'exactly one notebook' constraints. It does not mention side effects or auth, but this is a read-only research tool and the description 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two sentences that are front-loaded with the action and resource. The first sentence states purpose and outcome, the second gives usage guidance. There is no redundant or fluff content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description explains the return structure well. It also scopes the tool to exactly one notebook and gives a usage hint. However, it does not explain the meaning of the three enum-constrained optional parameters, which is a notable gap given the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It only implicitly covers the required parameters 'query' and 'notebook' by stating the tool researches a question against a notebook. The optional parameters 'mode', 'freshness', and 'internet_policy' are not explained at all, leaving the agent to interpret enums without guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Research' with the resource 'question against exactly one NotebookLM notebook', and explicitly describes the output as a 'source-locked evidence capsule with claims, citations, conflicts, gaps and quality status'. It also distinguishes from sibling tools by emphasizing 'exactly one' notebook, which contrasts with compare_notebooks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear usage cue: 'Use this for substantive notebook questions.' It gives context but does not explicitly name alternatives or exclusion criteria, so it falls short of a 5 but is clearly above having no guidance.
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?
With no annotations, the description carries full burden. It discloses that a visible Chrome window is opened, implying user interaction. However, it doesn't mention what happens after login, whether the process completes automatically, or any side effects beyond opening the window. Some behavioral transparency is present, but gaps remain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences. The first states the primary purpose, the second provides conditional usage for the parameter. No unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description covers the essential purpose and parameter behavior. It doesn't specify return values or failure modes, but these may not be critical for an authentication tool. The description is sufficiently complete for the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It does so by explaining the 'force' parameter with a specific condition, giving it semantic meaning beyond the bare boolean type. The description effectively documents the parameter's purpose and appropriate usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Open a visible Chrome window') and its purpose ('secure Google login'). It distinguishes itself from sibling tools which are all research/notebook related, making it obvious this is an authentication tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance for when to set force=true: 'when cookies look valid locally but Google redirects to sign-in.' This gives clear conditional usage for the parameter. It doesn't explicitly discuss when to use this tool versus alternatives, but the sibling tools are unrelated, so the intended use is clear.
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
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/israelmamani/nlm-expert-research-mcp-frontier'
If you have feedback or need assistance with the MCP directory API, please join our Discord server