mcp-www
Server Quality Checklist
Latest release: v0.2.0
- Disambiguation2/5
The overlap between `browse` and `discover_browse` is significant—both perform DNS lookup and fetch server card data, with only a subtle distinction in that `browse` can also take a server URL directly. `discover` nests within `browse` as a subset, further blurring boundaries. This ambiguity makes it difficult for an agent to reliably select the correct discovery tool.
Naming Consistency3/5The naming mixes bare verbs (`discover`, `browse`, `install`) with compound verb-adjective-noun patterns (`call_remote_tool`, `read_remote_resource`, `get_remote_prompt`), and `discover_browse` is an unusual verb-verb compound. While all names are readable and mostly intuitive, the lack of a uniform verb_noun pattern prevents full consistency.
Tool Count5/5Seven tools is a well-scoped size for a server that handles discovery, inspection, remote interaction, and installation. The count covers all necessary phases without excessive bloat, and each tool has a clear role in the workflow, even if some overlap exists.
Completeness5/5The tool set covers the complete lifecycle: DNS-based discovery, metadata inspection via server cards, remote tool/resource/prompt access, and installation configuration. There are no obvious missing operations for the stated purpose, and the browse function adequately lists available capabilities.
Average 4.1/5 across 7 of 7 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 0 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
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
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It reveals the execution nature of the tool but lacks disclosure of potential risks (e.g., executing arbitrary remote tools), authentication requirements, error handling, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a concise two-sentence structure that front-loads the action and provides a clear sequential instruction. No unnecessary wording.
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?
Covers the core purpose and usage sequence but omits important context such as return format, error handling, and security considerations. Given that this is a remote execution tool, these gaps are more significant.
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?
Schema description coverage is 100%, with each parameter (url, tool, arguments) having a description. The tool description adds no additional parameter-specific meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it calls a tool on a remote MCP server. The verb 'call' and resource 'remote MCP server' are specific, and the description distinguishes from sibling discovery tools like browse and discover.
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?
Explicitly instructs to use browse first for discovery, providing a clear usage sequence. However, it does not mention when not to use this tool or alternatives for other operations like reading resources.
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 of behavioral disclosure. It discloses that the tool performs DNS-only lookups (no HTTP), returns multiple TXT records each advertising a different server, and supports parallel batch lookup. This adds useful context beyond the schema, though it omits details like error handling or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the core purpose ('DNS-only lookup'), and every sentence adds value—covering return payload, performance characteristics, and batch capability. No wasted words.
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 the tool has no output schema, the description adequately explains the return format (TXT records, potentially multiple). It covers the main use cases (single and batch), behavior, and performance. It lacks details on error scenarios or domain validation, but for a simple DNS lookup tool, the description provides sufficient context.
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 input schema already describes both parameters with 100% coverage, so the baseline is 3. The description adds only a minor clarification about single vs. batch lookup, which is already implied by the schema's parameter names and descriptions. No significant additional semantics are provided.
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 performs a DNS-only lookup of _mcp.{domain} TXT records, which is a specific verb+resource combination. It also distinguishes from sibling tools like discover_browse by emphasizing 'DNS-only' and 'no HTTP calls', setting it apart as a lightweight alternative.
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 through phrases like 'fast, cheap, no HTTP calls' and mentions support for batch lookup, but it does not explicitly name alternatives or provide when-not-to-use conditions. The context is clear but not fully explicit.
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 burden of disclosing behavior. It explains the core retrieval action and the prerequisite browse step, but it does not mention error handling, authentication, network requirements, or return format. It is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, purpose-first, and contains no redundant information. Every clause earns its place, and it is perfectly sized for the tool's simplicity.
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 the simple read operation, the description covers the essential purpose, parameter guidance (optional arguments), and a usage step. However, the lack of an output schema and annotations means the agent must infer the return value and potential errors, which prevents a perfect score.
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?
Schema description coverage is 100% – all three parameters are described in the schema. The description adds only that arguments are optional, which is already implied by the schema (arguments is not in required). It does not provide significant 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 action ('Get a prompt') and the resource ('remote MCP server'), and it distinguishes this tool from siblings like browse by positioning it as the retrieval step after browsing. It is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides explicit usage context: 'Use browse first to see available prompts, then use this to retrieve one.' This guides the agent on sequencing and purpose. However, it does not mention when not to use the tool or compare it with alternatives like call_remote_tool, so it stops short of full guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It transparently explains the sequence of operations (DNS lookup, fetching server metadata, fallback to initialize) and the lightweight nature (no MCP session unless needed). This provides meaningful context beyond the schema, though it does not address potential errors or outputs.
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 exceptionally concise at two sentences. It front-loads the core purpose ('DNS lookup + server card in one call') and every subsequent sentence adds necessary detail about behavior and comparison to alternatives. No filler or 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 composite tool with no annotations and no output schema, the description covers the workflow and fallback behavior, which is sufficient for most usage. It does not explicitly describe return values, but given the step-by-step explanation and the simplicity of the single parameter, the context provided is nearly complete.
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 already provides 100% coverage for the single parameter 'domain' with a clear description. The tool description does not add additional parameter-level information; it only references the domain implicitly. Since the schema is highly descriptive, a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'DNS lookup + server card in one call' and details the specific actions (looks up TXT records, fetches .well-known/mcp.json). It also distinguishes itself from sibling 'browse' by noting it is 'lighter' and does not create an MCP session unless needed.
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 clear usage context by comparing with 'browse' ('Lighter than browse — no MCP session unless needed') and explains the fallback condition ('Only falls back to MCP initialize if no server card is found'). However, it does not explicitly mention when not to use the tool or how it relates to 'discover' and other siblings.
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 provided, the description carries full burden but only discloses the read action and the need to browse first. It does not mention return format, error behavior, or side effects beyond the implied read-only nature. The workflow hint adds some value, but transparency is limited.
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 with the purpose stated first and usage guidance second. It contains no filler or redundant information, making it appropriately concise and front-loaded.
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 with two well-documented parameters and no output schema. The description provides sufficient workflow context (browse first) and purpose, though it omits explicit return value details and failure modes. Given the low complexity, it is reasonably complete.
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?
Both parameters have detailed descriptions in the schema (100% coverage), and the description only reinforces 'read one by its URI'. No additional parameter semantics are offered, so the baseline score of 3 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 clearly states 'Read a resource from a remote MCP server' with a specific verb and resource. It distinguishes itself from the sibling 'browse' by explicitly referencing it as the discovery step, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The instruction 'Use browse first to see available resources, then use this to read one by its URI' directly tells the agent when to use this tool versus browse, establishing a clear workflow. This is explicit guidance on usage order and differentiates from a key sibling.
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 full responsibility. It discloses the tool's behavior well: generates configuration rather than directly writing files, returns paths and JSON entries, and automatically runs discovery when a domain is provided. Missing details like conflict handling or permission requirements, but otherwise transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, each with distinct content: purpose, return value, required next steps, and parameter modes. Efficient and front-loaded, with no redundant or filler wording.
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 tool with no output schema and no annotations, the description covers purpose, output format, workflow, and parameter selection. It would benefit from explicit error handling or conflict behavior, but the core context is complete for an agent to use it correctly.
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 100%, giving a baseline of 3. The description adds value by clarifying relationships: url and domain are alternatives (domain triggers discovery), and name is auto-derived if omitted—information beyond individual schema descriptions.
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 a specific verb-resource pair: 'Generate client configuration to permanently register a discovered MCP server.' It clearly states what the tool does and returns (config file paths and JSON entries) for multiple client applications, distinguishing it from siblings like discover and browse.
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 clear usage context: accepts a server URL directly or a domain (runs discovery first), and explains the follow-up workflow (read config file, merge entry, write back). However, it does not explicitly name alternatives or state 'when not to use,' though the distinction from discover is implied.
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 transparency burden. It fully discloses the behavioral traits: the order of attempts (server card first, then MCP handshake), and for domains, the DNS lookup for _mcp TXT records. This goes beyond a generic 'inspect' and gives the agent a clear model of what happens when the tool is invoked.
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 concise and well-structured. It opens with the primary purpose, then succinctly explains the probing logic and domain-specific extra step. Every sentence earns its place, with no redundancy or filler.
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 the tool's moderate complexity, no annotations, and no output schema, the description provides a thorough explanation of the tool's behavior but does not describe the return value or structure of the inspection result. This is a minor gap, as the agent may need to know what 'inspect' returns, but the core usage is well-covered.
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 schema already provides clear descriptions for both url and domain parameters. The description adds additional value by explicitly stating that for domains, DNS lookup for _mcp TXT records is performed, which is not mentioned in the schema. This clarifies behavioral differences between the two parameters and enriches parameter semantics 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: 'Inspect a domain or server URL.' It further distinguishes itself by detailing the exact probing behavior—well-known/mcp.json first, then MCP initialize handshake, plus DNS lookup for domains—making it specific and distinguishable from sibling tools.
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 implies when to use it: for inspecting a server or domain's MCP compatibility. It clearly explains the two modes (URL vs domain) and the fallback sequence, but it does not explicitly mention alternatives or exclusions relative to sibling tools like discover or discover_browse. Still, the usage context is clear and actionable.
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/kormco/mcp-www'
If you have feedback or need assistance with the MCP directory API, please join our Discord server