INDUSS Research Intelligence MCP Server
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation5/5
Each tool targets a distinct aspect of the research workflow: company identification, profile facts, narrative overview, financial statements, ratio analysis, funding, competitors, industry, market size, news, adverse news, and report generation/rendering. Even the three generate_* tools are clearly differentiated by output type (structured report, Markdown, PDF), so there is no ambiguity.
Naming Consistency3/5All tool names are snake_case and readable, but they mix noun-only names (company_profile, financial_statements, industry_overview) with verb_noun names (search_company, discover_competitors, generate_report). The pattern is not fully consistent, though the naming still conveys the tool's purpose without confusion.
Tool Count5/5With 15 tools, the server sits at the upper end of the ideal range but each tool fills a distinct role in the company-research pipeline, from health check to PDF generation. No tool feels redundant or out of place, making the count well-scoped for the stated purpose.
Completeness5/5The tool set covers the entire research lifecycle: company resolution, profile extraction, financial statement parsing, ratio analysis, funding and competitor research, industry and market overviews, news and risk screening, and finally report assembly and rendering. There are no obvious dead ends or missing steps for the server's intended domain.
Average 3.8/5 across 15 of 15 tools scored. Lowest: 3/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 12 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
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the agent knows it is a safe read operation. The description adds value by specifying data sources (company site, LinkedIn) and output type (narrative overview), but it does not disclose limitations, error behavior, or data freshness details.
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 immediately states the tool's purpose and includes relevant details about content and sources. No filler or repetition.
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?
Despite being concise, the description is incomplete for a research tool with one complex parameter and many sibling tools. It lacks usage differentiation, parameter explanations, and details on output structure or failure modes.
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 a single nested 'context' object with properties like company, country, listed, sector, and companyDomain, but schema_description_coverage is 0% and the tool description does not explain these fields or their semantics. It only implies the company is the subject, leaving other parameters ambiguous.
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 ('Produces') and resource ('narrative business overview') and clarifies content (what the company does, products/services, target market) and sources (company site, LinkedIn). However, it does not explicitly distinguish this from sibling tools like 'company_profile', which may overlap.
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 guidance on when to use this tool versus alternatives such as 'company_profile', 'industry_overview', or 'search_company'. It simply states what it does, leaving the AI agent to infer appropriate usage.
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?
Annotations already declare readOnlyHint=true and openWorldHint=true, and the description adds useful source scope and sorting behavior. However, it does not disclose pagination, output format, rate limits, or how optional inputs like sector or companyDomain affect results.
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 wasted words. It efficiently delivers the core purpose and key differentiators.
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?
Given the nested schema, missing output schema, and sibling tools, the description is too sparse. It fails to explain parameter semantics, return-value structure, or when to prefer this tool over negative_news, leaving the agent under-informed.
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 carries the full burden of explaining parameters, but it does not mention context, company, daysBack, or their meanings. The word 'recent' only vaguely relates to time-bounded retrieval without connecting to the schema fields.
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 a specific action: 'Retrieves recent news coverage of a company' and lists exact sources and sort order. This distinguishes it from the sibling negative_news tool and avoids ambiguity.
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 given on when to use latest_news versus negative_news or other research tools. The appropriate usage must be inferred from the phrase 'recent news coverage', but no explicit when/when-not or alternatives are mentioned.
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?
Annotations already declare readOnlyHint=true and openWorldHint=true, covering the safety profile. The description adds context about parsing HTML or PDF and extracting specific tables, but it does not disclose potential limitations like dependency on company listing status, missing data for unlisted companies, or the exact structure of the returned tables.
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, well-structured sentence that front-loads the tool's purpose and output. Every phrase adds value with no repetition or filler.
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 lists the line items that will be extracted, which is helpful, but there is no output schema and no statement about return format or example usage. Given the moderate complexity and lack of parameter guidance, the description is adequate but has noticeable gaps.
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 0% description coverage for the 'context' parameter (the only parameter). The tool description does not explain how to fill the context object, such as the requirement to provide 'company' or the optional fields, leaving the agent to infer from property names alone.
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 specific verbs ('Locates' and 'extracts') and names the resource (annual report / financial statement filing) and the structured line-item outputs (revenue, net profit, EBITDA, assets, equity, debt). This clearly distinguishes it from sibling tools like ratio_analysis or company_profile, which address different data.
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 the tool is for retrieving raw financial line items from filings, but it does not explicitly state when to use it over alternatives such as ratio_analysis or company_overview. No exclusions or alternative tool references are provided.
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?
Annotations already declare readOnlyHint and openWorldHint, so the description is not required to repeat them. It adds context about the source list and return content, which helps set expectations. No side effects are mentioned, but the read-only nature is covered by annotations and the description is consistent.
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, information-dense sentence with no redundancy. It front-loads the action and provides useful source details without excessive verbosity.
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?
With no output schema, the description should explain the return format or additional behavior. It mentions the content areas but omits details about input semantics and edge cases. The nested parameter structure is not explained, so the definition is incomplete for an agent to use the tool confidently without additional inference.
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% for the top-level context parameter, and the description does not explain how to construct the context object or what each field means. The nested schema has partial descriptions, but the essential sector requirement is not clarified. The description fails to compensate for the low 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 clearly states the tool retrieves an industry overview, specifying its components (structure, key players, growth drivers) and top-tier sources. This distinguishes it from sibling tools like company_overview and market_size by explicitly focusing on industry-level analysis.
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 for industry analysis but does not explicitly contrast with alternatives like company_overview or market_size. It provides no 'when not to use' guidance, leaving the agent to infer the appropriate context from the tool name and description.
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?
Annotations already declare readOnlyHint=true and openWorldHint=true, covering the safety and open-ended nature of the tool. The description adds context about the types of adverse media but does not disclose additional behavioral traits such as source coverage, pagination, or result format. This 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 a single, front-loaded sentence with no redundancy. It packs the core action, scope, and purpose efficiently, making it easy for an agent to parse.
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?
There is no output schema, so the description should convey what the tool returns or any limitations (e.g., coverage by country). It does not mention return type, interpretation of results, or that the tool only supports india/global country values. This leaves significant gaps for an agent selecting this 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?
Schema description coverage is 0%, so the description must compensate, but it only mentions 'a company' without explaining the context object or its optional fields (date, country, sector, companyDomain). The schema itself has some descriptions for nested properties, but the tool description adds minimal meaning beyond that.
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: 'Screens news sources for adverse media on a company' and names specific categories (fraud, litigation, regulatory action, layoffs, defaults). This distinguishes it from sibling tools like 'latest_news' by focusing on adverse media for due-diligence/risk-screening.
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 specifies the intended use context ('for due-diligence / risk-screening purposes'), which helps an agent decide when to invoke it. However, it does not explicitly compare to alternatives or state when not to use it, so it stops 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.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds context beyond the readOnly/openWorld annotations by revealing the tool aggregates data from MCA/Tofler/Zauba/OpenCorporates and the company's own site, and notes the 'registry-grade' nature of the facts. This gives the agent a sense of data provenance and expected trustworthiness, though it does not cover failure modes 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?
One sentence of ~20 words, front-loaded with the main action and deliverables. Every word contributes; no filler.
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 supplies key return facts and sources, and the schema covers the input object, but without an output schema the description does not fully specify the return structure or behavior for missing companies. It is adequate for a simple lookup but leaves some operational gaps.
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 tool's description does not explain how to fill the 'context' object; the schema has some nested property descriptions (date, sector, companyDomain) but the top-level parameter lacks documentation. With schema description coverage at 0%, the description offers no compensation for parameter semantics.
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 specifies a concrete action ('Retrieves'), the resource ('company profile facts'), and the exact data points (CIN, incorporation date, registered office), plus named sources. This clearly distinguishes it from broader tools like company_overview or search_company.
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?
Although the description implies a use case (obtaining registry-grade facts), it does not explicitly state when to prefer this over the sibling tools (e.g., company_overview) or mention any exclusions or alternatives. The context is clear but the guidance is implicit.
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?
Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered. The description adds value by disclosing the external sources searched and the 'candidate' nature of extracted facts, signaling that results may be unverified or partial. No contradictions with annotations.
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?
A single sentence that is concise and front-loaded. It packs the essential purpose, sources, and output type without wasted words. Ideal structure.
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 tool with a nested context parameter and no output schema, the description is moderately complete. It explains what is searched and what is extracted, but doesn't detail return format, edge cases (e.g., company not found), or how to use the optional fields. Annotations help, but the absence of output schema leaves a gap.
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%, meaning the tool description does not explain the parameters. It mentions 'company' but not the required 'context' object or its fields (date, country, listed, etc.). The schema has some field descriptions, but the description fails to compensate for the low coverage, leaving the agent without guidance on optional parameters.
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 is specific: it names the exact data sources (Crunchbase, Tofler, MCA, OpenCorporates), the target (a company), and the outputs (funding rounds, investors, valuation mentions, candidate round/amount facts). This clearly distinguishes it from sibling tools like financial_statements or company_profile.
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 for researching funding history, but provides no explicit when-to-use guidance or exclusions. It doesn't mention alternatives or conditions like 'use for unlisted companies only' or 'use company_profile for overview'. The context is clear but not contrasted with 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?
Annotations already disclose read-only and open-world behavior. The description adds context about specific sources and pattern matching, which is useful, but does not mention limitations such as potential data unavailability or the format of returned estimates. With annotations covering safety, this 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 a single, dense sentence that front-loads the core purpose and includes source examples and methodology. Every word contributes information, with no fluff or redundancy.
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 explains what the tool does but not the input structure details (e.g., what 'context' contains or the role of 'sector') or the output format. Since there is no output schema, the agent would benefit from knowing the shape of returns. However, for a read-only lookup tool with clear purpose, it is minimally sufficient.
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% for the top-level parameter, and the description does not mention any parameter names or how 'context' should be populated. The required 'sector' is only indirectly referenced by the word 'industry'. The schema property names are self-explanatory but the description adds little semantic value beyond what the names 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 a specific action ('Finds market size and CAGR figures') and a specific resource ('for an industry'), and distinguishes itself from sibling tools by specifying analyst/research sources and a methodology ('pattern matching'). It is unambiguous and actionable.
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 clear usage: use when you need market size or CAGR for an industry. It mentions the types of sources and the method, giving context, but does not explicitly exclude alternatives or compare with sibling tools like 'industry_overview' or 'company_profile'.
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?
Annotations already declare readOnlyHint and openWorldHint. The description adds valuable behavioral context: results are based on text-pattern heuristics and should be treated as an unverified candidate list, which sets expectations about result quality and completeness. No contradiction with annotations.
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 concise sentences: the first states the main action and method, the second provides an important caveat. It is front-loaded and contains no unnecessary 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 has a nested context object and no output schema, so the description should compensate by explaining input usage and output format. It mentions the output is candidate competitor names, which gives a basic understanding, but it doesn't detail the expected response structure or how to use the context fields, leaving gaps for more complex usage.
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 a required nested 'context' object with multiple fields, but schema description coverage is 0% for top-level parameters. The description provides no guidance on how to set or use parameters like company, sector, country, or companyDomain, so the agent must infer entirely from the schema's sparse field comments.
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 searches industry-analyst and news sources for named competitors/rivals, using text-pattern heuristics to extract candidate names. This distinguishes it from sibling tools like company_profile or search_company by specifying the exact action and output.
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 conveys clear context for when to use the tool: to discover candidate competitors as a starting list. It also cautions that results are not verified, guiding appropriate interpretation. However, it doesn't explicitly mention alternatives or 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.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide idempotentHint=true and readOnlyHint=false. The description adds that it relies on pre-assembled ResearchSections and performs no research, which clarifies its internal behavior. However, it does not disclose what the 'standard report envelope' entails or any side effects, so 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?
Two sentences, front-loaded with the primary purpose, and no unnecessary detail. It earns every word.
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?
Combined with a detailed schema, the description provides sufficient context: it clarifies the tool's role as an assembler, not a researcher, and specifies usage timing. It could mention optional top-level fields, but the schema covers structure. The 'standard report envelope' is a bit ambiguous without an output schema, but still adequate.
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 description summarizes the core structure of the 'sections' parameter (summary, tables, citations, confidence), which helps understand the main argument. Top-level parameters like subtitle and companyName are not mentioned, but their names are self-explanatory. It partially compensates for the schema coverage gap.
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 'assembles' and resource 'structured research report' from ResearchSections. It clearly distinguishes from research-gathering tools by stating 'this tool does no research of its own,' making its 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?
Explicitly states when to use ('Use after gathering facts with other tools') and what it does not do ('does no research of its own'). It doesn't name specific alternative tools, but the sibling list and context make the intended workflow clear.
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?
The description adds 'deterministic' and 'Pure calculation — no search, no LLM tokens' beyond the annotations, which already declare read-only and idempotent behavior. It explains that the tool is side-effect-free and repeatable, but it doesn't detail error handling or output formatting. No contradictions with annotations.
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-loads the main purpose and resources, and every clause adds value. The second sentence clarifies behavioral constraints with six words. No redundancy or filler.
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 has no output schema, and the description doesn't explain what the result looks like beyond 'financial ratio analysis' and 'CAGR trend.' It also doesn't mention that statements must be chronological (though the schema does). For a moderate-complexity calculation tool, the description covers purpose and behavior but leaves the return format ambiguous, so an agent might not know how to use the output downstream.
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 descriptions for only 1 of 2 parameters (statements), leaving companyName undocumented. The description repeats the concept of 'FinancialStatement objects' but adds no new meaning beyond the schema. It does not explain the role of companyName or how the input should be structured beyond what the schema already states. With 50% schema coverage, the description should compensate more than it does.
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?
Description opens with a specific verb 'Performs' and names the exact deliverable: 'financial ratio analysis' with categories and 'multi-period CAGR trend'. It also differentiates from siblings by stating 'Pure calculation — no search, no LLM tokens,' making it clear this is a quantitative tool rather than a search or generation 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?
The phrase 'Pure calculation — no search, no LLM tokens' provides an implicit exclusion, telling the agent when not to use this tool. It also implies the input should come from a source like financial_statements, but it does not explicitly name alternative tools or describe a decision process between this and report generation tools.
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?
Annotations already declare readOnlyHint=true and openWorldHint=true, covering safety and scope. The description adds behavioral context by specifying that it uses domain-restricted Exa search and returns source URLs for website, LinkedIn, and registry, which goes beyond the annotations without contradicting them.
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 action verb 'Discover,' and every sentence adds value. The first sentence defines the tool's function, and the second gives usage guidance with no redundant or filler content.
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 has no output schema, so the description should explain return values; it partially does by indicating source URLs are produced. However, parameter semantics are under-specified (especially the nested context object), and the description does not elaborate on output format or edge cases, leaving gaps for a tool meant to be used first in a workflow.
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 a single nested 'context' object with several properties, but schema description coverage is 0% for the top-level parameter and the tool description does not explain parameters beyond mentioning 'company name.' With low schema coverage, the description fails to compensate by describing optional fields like date, listed, sector, country, and companyDomain, leaving parameter usage ambiguous.
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 discovers a company's official website, LinkedIn, and registry presence via domain-restricted Exa search, which is a specific verb+resource combination. It distinguishes itself from sibling tools by positioning itself as the first step to resolve a company name into authoritative source URLs before calling other company 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 explicitly says 'Use this first to resolve a company name to authoritative source URLs before calling other company tools,' providing clear when-to-use guidance. It does not mention exclusions (e.g., when the company domain is already known), but the directive to use it first is a clear contextual pointer.
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?
The description discloses key behaviors: it uses 'headless-browser HTML-to-PDF conversion' and 'writes it to the local reports directory,' revealing side effects beyond the annotations (readOnlyHint=false, destructiveHint=false). This adds useful context, though it doesn't mention file overwriting or return values.
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 front-loads the primary purpose, then adds technical details and output location. Every word is purposeful, and it avoids redundant restatement of the tool name or schema fields.
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 complex nested schema and no output schema, the description adequately covers the input source, rendering process, output format, and destination. It lacks explicit return-value or error-handling details, but for an agent selecting and invoking the tool, the essential context is present.
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 description does not explain the parameters directly; it only references 'generate_report's schema.' With schema description coverage at 0%, the description fails to compensate for the lack of prose parameter explanations. The inline schema is thorough, but the description adds no parameter-specific meaning beyond a cross-reference.
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: 'Renders a structured report into an institutional-layout PDF' and specifies the output destination. It distinguishes itself from sibling tools like generate_markdown by the PDF output format and mentions generate_report's schema for input, which clarifies its role.
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 this tool: when an institutional-style PDF is needed, as opposed to markdown or a raw report. It doesn't explicitly state 'use this instead of X,' but the context of the PDF layout and mention of generate_report's schema gives clear guidance without exclusions.
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?
Annotations include idempotentHint=true and readOnlyHint=false, and the description adds context by detailing the output structure (GFM, TOC, confidence/sources, citations). This goes beyond the annotations to explain what the transformation produces.
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?
A single, information-dense sentence conveys purpose, input reference, and output features with no unnecessary words. Front-loaded and easy to parse.
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 and lack of output schema, the description adequately explains what the tool returns (Markdown with TOC, confidence/sources, citations). It does not mention error behavior or return type, but for a rendering tool this is acceptable. The reference to generate_report's schema anchors the input 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?
Schema description coverage is 0%, so the description must compensate. It references generate_report's schema, which helps an agent understand the input structure, but it does not explain individual parameters (title, sections, etc.) or how they map to the output. The schema is fairly self-explanatory, but the description could do more.
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 renders a structured report into GitHub-flavored Markdown, with specific features (TOC, per-section confidence/sources, consolidated citations). It distinguishes from siblings like generate_report (input source) and generate_pdf (different output format).
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 phrase 'see generate_report's schema' strongly implies this tool consumes the output of generate_report, providing clear context for when to use it. However, it does not explicitly mention alternatives like generate_pdf or exclusions, so it misses the top score.
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?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the description's job is reduced. It adds value by specifying exactly which subsystems are checked (config validity, Redis, Postgres, capability registry), giving the agent a concrete sense of the tool's behavior beyond the safety profile. No contradiction with annotations.
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, well-constructed sentence that front-loads the main action ('Reports server health') and then lists specifics. Every word earns its place with no redundancy or padding.
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 zero-parameter, no-output-schema health check, the description is nearly complete. It covers all checked components, which implies what the report will contain. It could mention the output format (e.g., status codes/booleans), but that is not critical given the simplicity and the annotations providing safety context.
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 empty schema already provides complete coverage. The description does not need to explain any parameters. Baseline for zero-parameter tools is 4, and the description appropriately omits irrelevant param details.
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 ('Reports') and identifies the resource ('server health') along with concrete components checked: config validity, Redis cache connectivity, Postgres configuration status, and the tool capability registry. This is specific and distinguishes it from all sibling tools, which are business/data oriented.
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?
Though no explicit 'use when' statement or alternatives are mentioned, the description strongly implies usage for server health diagnostics. Given the sibling tools are unrelated and no competing health tool exists, the context is clear and no exclusions are needed. A minor gap is the lack of explicit guidance, but the tool's uniqueness makes this less critical.
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/viraj43/indus_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server