blind-mcp
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation4/5
The tools generally occupy distinct layers: topic discovery, listing, keyword search, question answering, and full post reading. The only mild overlap is between company_posts and find, since both return company posts, but their input styles (curated topic vs arbitrary keyword) make the split understandable.
Naming Consistency3/5Names are readable and consistently lowercase, but the pattern is mixed: company_topics and company_posts are noun-style resources, read_post is verb_noun, and find/research are bare verbs. There is no single predictable naming convention across the set.
Tool Count5/5Five tools is a well-scoped size for a read-only Blind search and research server. Each tool serves a meaningful step in the workflow without unnecessary bloat or duplication.
Completeness5/5The toolset covers the full read-oriented workflow: discover company topics, list posts, search by keyword, ask a natural-language research question, and read a full post with comments. There are no obvious gaps for the stated domain.
Average 4.2/5 across 5 of 5 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 2 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
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It usefully describes the return payload (body, AI summary, comments with employer context) and the reasoning behind it. However, it does not disclose that max_comments limits how many comments are returned, despite the schema's default of 40, which could mislead an agent into expecting all comments.
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 compact and front-loaded: the core action comes first, then the return contents, then a concise rationale for the employer data. Every sentence contributes useful information without repetition 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?
The description covers the main purpose, the return values, and the practical use case (weighing claims). Since an output schema exists, return format details are not required here. The main gap is the lack of any mention of max_comments or URL expectations, which keeps it just short of complete.
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 for the two parameters. It implies that 'url' identifies a single post, but it never explains the expected URL format or the meaning/behavior of 'max_comments'. This leaves both parameters underspecified beyond their names.
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 opens with a specific verb and resource ('Read one Blind post in full'), which clearly distinguishes it from sibling list/search tools like company_posts and find. It also specifies what the tool returns, making its 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 Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a clear use case: retrieving a single post by URL in order to read its full content and comments. It does not explicitly contrast with sibling tools or state when not to use it, but the 'one post in full' framing provides enough context for selection.
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 burden. It clearly discloses a read-only listing behavior and adds an important constraint: `topic` must be a bare keyword from company_topics, not an arbitrary string. It does not detail pagination or ordering, but these are minor for this straightforward query and the output schema defines the result format.
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 focused sentences: the first states the primary purpose, the second clarifies the only non-obvious parameter. No filler 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 list tool, the description covers the key behavior and the topic constraint, and an output schema exists to define the response shape. It falls slightly short of full completeness because the pagination parameters are undocumented, but the defaults and names make them reasonably inferable.
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 explain parameters. It only documents `topic` (with examples), while leaving `page`, `limit`, and `company` unaddressed. `company` is required and inferable, and `page`/`limit` have defaults, but their semantics (e.g., page size, offset) are not defined anywhere in the schema or description.
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 opens with the specific verb 'List' and the resource 'posts about a company', making the core action unambiguous. It also states the optional narrowing by topic, which distinguishes it from sibling tools like company_topics (which presumably lists topics) and read_post (which reads a single post).
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 establishes the context: use this tool to list posts about a company, with an optional topic filter. It also directs the agent to source `topic` values from company_topics, giving a concrete prerequisite. However, it does not explicitly contrast with alternatives or state when not to use it.
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?
No annotations are provided, so the description carries the burden. It discloses that this is a read-only listing operation and explains the selection behavior: topics are 'Blind itself suggests' and are 'highest-signal entry points.' This adds meaningful behavioral context, although it does not mention potential edge cases such as companies with no suggested topics.
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 compact and front-loaded: the core statement appears in the first sentence, followed by a helpful purpose rationale and concrete examples. Every sentence earns its place, and the reference to company_posts adds actionable guidance without bloat.
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 one-parameter tool with an output schema, the description covers the main usage flow: retrieve suggested topics, then pass one to company_posts. The main gap is the missing company identifier format, but the overall tool behavior and integration with the sibling are sufficiently explained.
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 needed to compensate by explaining the `company` parameter, but it only says 'for a company.' It does not clarify the expected format (e.g., display name vs. slug), case sensitivity, or whether the company must match a known entity. The Roku example is about topic values, not the parameter format.
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 ('List') with a clear resource ('discussion topics Blind itself suggests for a company'). It includes concrete examples (Roku's topics: india, wlb, culture, layoffs) and explicitly connects to the sibling company_posts by explaining that one of these topics should be used as its `topic`, making the tool's purpose unmistakable.
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 clearly tells the agent when to use this tool: to get the highest-signal entry points before calling company_posts. It explicitly names the relevant sibling and how the result should be consumed. It does not enumerate exclusions or alternatives like read_post/find/research, so it stops just short of full explicit when-not 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?
No annotations are provided, so the description carries the full behavioral burden. It discloses the internal process (probing distinctive words, merging hits) and the exact output shape (best threads in full, Blind's AI summary, comments that address the question). This goes well beyond a generic 'research' label, though it does not mention error conditions 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 efficient and well-structured: a one-sentence summary, a two-sentence mechanism/outcome explanation, and example queries. Every sentence earns its place and there is no redundant fluff. The key purpose is 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?
Given the tool has an output schema and three simple parameters, the description covers the core purpose, mechanism, and return contents clearly. It is slightly incomplete for an agent because it does not explain the meaning of max_posts or explicitly differentiate from sibling tools, but it is still usable as-is.
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 0%, so the description must compensate. It effectively explains 'company' and 'question' through the purpose sentence and the example prompts, but 'max_posts' is never mentioned or contextualized. The compensation is partial: the two main parameters are clear, but the third is not addressed.
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 opens with a specific verb-resource pairing: "Answer a question about a company by pulling the most relevant threads." It clearly differentiates itself from the sibling tools (company_topics, company_posts, read_post, find) by describing a cross-thread research capability that merges hits and returns a curated answer with AI summary and relevant comments. The natural-language examples reinforce what the tool does.
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 strongly implies when to use this tool: whenever you have a natural-language question about a company, with examples showing the expected phrasing ("Ask naturally: ..."). However, it does not explicitly name alternatives or state when NOT to use this tool in favor of a sibling, so it stops short of full routing 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?
No annotations are provided, so the description carries the behavioral burden. It discloses exact-match behavior on the topic path, the no-fallback empty-result semantics, and the risk of vague keywords, which are non-obvious and useful.
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 front-loaded with the one-sentence purpose, followed by only behaviorally relevant details. Every sentence adds information (example, keyword guidance, empty-result meaning) without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-style search with three parameters and an output schema, the description covers the important invocation distinctions, result semantics, and fallback behavior. Nothing necessary for a correct call is missing.
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 has 0% property descriptions, so the description must compensate. It richly explains the keyword parameter and illustrates company/keyword with the Intuit/maternity example, though the limit parameter is left to inference from its name and default.
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 opening sentence names a specific verb and resource ('Find a company's posts about one keyword') and the examples make the exact scope unmistakable. It also contrasts with the generic 'main listing' by saying this returns keyword-specific threads.
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 clearly positions itself as the way to search Blind and gives concrete keyword-selection advice. It mentions the 'main listing' as an alternative that fails to surface old threads, but it does not name sibling tools or state explicit when-not-to-use cases.
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/dheerajjha/blind-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server