yellow-pages
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation5/5
The two tools have clearly distinct roles: discover_operations is for discovery only, while execute_operation is for execution. There is no overlap, and the dependency between them is explicit and unambiguous.
Naming Consistency5/5Both tool names follow the consistent verb_noun pattern: 'discover_operations' and 'execute_operation'. The naming is clean, predictable, and uses the same style throughout.
Tool Count4/5The server has only two tools, which is slightly below the typical 3-15 range, but it is justified by the narrow scope of the server: discovering and executing operations. Each tool is essential and the pair is sufficient for the stated purpose.
Completeness5/5For a generic API executor, the two-step lifecycle of discover then execute is fully covered. The discover tool provides enough information (operation name, method, URL, parameters) to call execute_operation without any obvious gaps.
Average 4/5 across 2 of 2 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 is passing
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?
There are no annotations, so the description bears the full burden of behavioral disclosure. It only states that the tool returns the API response body or an error string, but it does not disclose potential side effects, required permissions, idempotency, or whether the operation could be destructive. As a generic operation executor, this ambiguity is significant. The return type is mentioned, but broader behavioral traits are omitted.
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 brief and front-loaded with the main action ('Execute one API operation by name'). It consists of two sentences and every clause contributes necessary guidance—how to get the operation name, what parameters to provide, and what the tool returns. No superfluous 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 that this is a generic executor with an output schema (though not detailed in the description), the description covers the essential workflow: source the operation name, supply parameters, and receive a response or error. It references discover_operations and the operation schema, which provides context for dynamically resolving details. It does not explain error handling formats or authentication, but for a wrapper tool this is a reasonable level of completeness.
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 descriptions are completely absent (0% coverage), so the description must compensate. It mentions path_params, query_params, and body_data by name and says they are provided 'as required by the schema,' but it does not explain their formats or how they map to the operation's requirements. The term 'optionally' for body_data is useful, but overall the description adds minimal semantic value beyond what the parameter names already imply.
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 that the tool executes a single API operation by name, which is a specific verb+resource combination. It distinguishes itself from the sibling tool discover_operations by explicitly referencing operation names obtained from that tool, making the tool's role 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?
The description provides clear context by telling the agent to use operation_name from discover_operations and to supply path_params, query_params, and optionally body_data as required by the schema. It does not explicitly mention when not to use this tool, but the reference to discover_operations implies a prerequisite and differentiates the two tools. No explicit alternatives or exclusions are given, so this is not a full 5.
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 must carry the behavioral burden. It discloses the internal mechanism (RAG over the OpenAPI schema), states what is returned (operation entries with specific fields), and explicitly notes that no execution happens. While it doesn't mention potential permissions or errors, it gives sufficient transparency for a read-only discovery operation.
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, each earning its place: purpose, output details, and usage guidance. It is front-loaded with the key action and avoids unnecessary fluff, making it highly efficient.
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 (2 params) and has an output schema, so the description doesn't need to detail return values. It explains the tool's role in the overall workflow, what it returns, and the next step. The only gap is the undocumented 'k' parameter, which slightly reduces completeness.
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. The description clarifies 'query' as a natural-language query, but makes no mention of the 'k' parameter. Given 'k' has a default of 5 and is likely the number of results, the description should explain this but does not, leaving a significant semantic gap for the parameter.
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 starts with a specific action—'Discover which API operations match a natural-language query'—and clearly identifies the resource (API operations). It distinguishes itself from the sibling tool 'execute_operation' by explicitly stating 'No execution happens here' and framing this as a discovery step for finding tool IDs.
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 description tells the agent exactly when to use this tool: 'Use this to find tool IDs, then call execute_operation with the chosen operation_name and params.' It also clarifies the boundary by stating no execution occurs, which helps the agent avoid using it for execution purposes.
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/ethank64/yellow-pages'
If you have feedback or need assistance with the MCP directory API, please join our Discord server