Universal Adapter
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation5/5
The three tools serve completely distinct purposes: interactive chat, listing marketplace tools, and health checking. There is no overlap or ambiguity between them.
Naming Consistency3/5Naming is a mix of a bare verb (chat), a noun (health), and a verb_noun phrase (list_marketplace_tools). This is not a consistent pattern, though all names are lowercase with underscores and are readable.
Tool Count5/5Three tools is an appropriate scope for an adapter server whose primary interface is a chat agent. Each tool has a clear role and none feels superfluous.
Completeness4/5The chat tool exposes broad marketplace capabilities, and list_marketplace_tools provides discovery. A minor gap is the lack of a direct get-tool-details endpoint, but this is not critical since chat can retrieve such information.
Average 3.9/5 across 3 of 3 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
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.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?
With no annotations provided, the description carries the full burden of behavioral disclosure. It merely restates the tool's name ('health' -> 'check if healthy') without revealing side effects, return format, or what 'healthy' means. It implies read-only but does not explicitly state it, and gives no information about the response structure.
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, succinct sentence that exactly captures the tool's purpose. It is front-loaded and contains no filler words.
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 tool is extremely simple, but it has no output schema and no annotations, so the description must compensate. It tells the agent the action but not what to expect in the response (e.g., status codes, JSON structure, or error behavior). For a health check, this is a moderate gap that keeps the score at a minimally viable 3.
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 no parameter description is necessary. The baseline of 4 applies because there are no parameters to document and the description adds no semantic confusion.
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: 'Check if the MCP server is healthy.' The verb 'check' and the resource 'MCP server' make the action and scope explicit, and it is easily distinguishable from the sibling tools 'chat' and 'list_marketplace_tools'.
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 usage is implied by the description: one would call this tool to verify server health. However, there is no explicit guidance on when to use it versus any alternative, no exclusions, and no context about prerequisites or typical invocation scenarios.
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 behavioral burden. It implies a read-only operation via 'List' and specifies the return type, but it does not mention permissions, potential side effects, or limitations beyond the 'limit' parameter. The return description adds some transparency, but lacks depth.
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: a one-line purpose statement followed by explicitly labeled Args and Returns. Every sentence contributes meaning, and the purpose is front-loaded for quick comprehension.
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 provides adequate context: it explains the return format (dict with names/descriptions) and the meaning of the limit. No additional complexity requires further explanation, though it could mention any default behavior or pagination if applicable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds clear semantic meaning to the 'limit' parameter ('Maximum number of tools to return'), which is absent from the input schema. This fully compensates for the 0% schema description coverage, making the parameter's intent unmistakable.
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 ('available tools in the marketplace'), distinguishing it from sibling tools like 'chat' and 'health' which serve completely different functions.
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 on when to use this tool versus alternatives, or any prerequisites or conditions. The description simply states what the tool does without contextual cues about appropriate usage scenarios.
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?
There are no annotations, so the description carries full burden. It does disclose the agent's capabilities (including write operations and web scraping), which hints at side effects, and it specifies the return dict. However, it does not explicitly warn that chat interactions can trigger file modifications or external scrapes, nor does it mention authentication, rate limits, or cancellation behavior. This partial disclosure leaves 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a purpose sentence, a bulleted capability list, an Args block, and a Returns line. All sections serve to inform the agent. The capability list is somewhat extensive but relevant given the tool's broad scope; it could be trimmed slightly to focus only on the most consequential behaviors.
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 complexity (a chat agent with access to all marketplace tools) and the absence of an output schema, the description provides a solid overview: what it does, what capabilities the agent has, parameter semantics, and return shape. It lacks operational details like typical response latency, error patterns, or side-effect warnings, but it is sufficient for basic selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description compensates fully with an Args section explaining each parameter: message ('Your question or command'), conversation_id ('Optional conversation ID for multi-turn chat'), model ('LLM model to use'), and max_iterations ('Maximum agent iterations'). This adds meaning beyond the schema's bare titles and defaults.
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 'Chat with the Universal Adapter agent' with a specific verb and resource, and follows with a detailed list of the agent's capabilities (file ops, web scraping, tool generation, tool search). This differentiates it from sibling tools like list_marketplace_tools and health, which serve distinct purposes.
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 usage by explaining the agent's broad access to marketplace tools, suggesting it's the general-purpose interface for leveraging those tools. However, it does not explicitly state when to choose chat over directly invoking tools, nor does it provide exclusions or alternatives. The context of being 'chat with the agent' is clear, but no explicit guidance on alternatives is given.
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/shnkreddy98/ychackathon-autonomous-mcphub'
If you have feedback or need assistance with the MCP directory API, please join our Discord server