Skip to main content
Glama

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.0.0

  • Disambiguation5/5

    Each tool has a clearly distinct purpose with no overlap: checking size qualification, retrieving firm details, getting size standards, accessing statistics, searching awards, and searching firms. The descriptions specify unique resources and actions, making misselection unlikely.

    Naming Consistency4/5

    The naming is mostly consistent with a verb_noun pattern (e.g., check_size_standard, get_size_standards, search_sbir_awards), but there is a minor deviation with 'sbir_stats' which omits a verb prefix. Overall, the pattern is readable and predictable.

    Tool Count5/5

    With 6 tools, the server is well-scoped for its SBA/SBIR domain. Each tool serves a specific, necessary function related to small business standards and federal R&D funding, with no redundant or trivial additions.

    Completeness4/5

    The tool set covers core SBA and SBIR operations well, including checking standards, retrieving data, and searching for firms and awards. A minor gap exists in update or management functions (e.g., modifying data), but these are likely outside the server's read-only scope, and agents can work effectively with the provided tools.

  • Average 3.3/5 across 6 of 6 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.json to 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 states the tool 'gets' information, implying a read-only operation, but doesn't specify if it requires authentication, has rate limits, returns structured data, or handles errors. This leaves significant gaps in understanding the tool's behavior beyond its basic purpose.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, clear sentence that efficiently conveys the tool's purpose without unnecessary words. It's front-loaded with the key action and resource, making it easy to parse and understand quickly.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what 'detailed information' includes, the format of the response, or any behavioral traits like error handling. Given the lack of structured data, more descriptive context is needed to adequately guide an agent.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The input schema has 100% description coverage, with the 'name' parameter documented as 'Exact company name'. The description adds minimal value by reiterating 'by name' but doesn't provide additional context like case sensitivity, formatting requirements, or examples. Given the high schema coverage, a baseline score of 3 is appropriate.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does 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 ('Get') and resource ('detailed information about a specific SBIR firm'), making it easy to understand what the tool does. However, it doesn't explicitly distinguish this tool from its sibling 'search_sbir_firms', which might also retrieve firm information, leaving some ambiguity about when to use one versus the other.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does 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 like 'search_sbir_firms' or other siblings. It mentions retrieving information 'by name' but doesn't clarify if this is for exact matches only or how it differs from search functionality, leaving the agent with no usage context.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'gets' statistics, implying a read-only operation, but doesn't clarify if it requires authentication, has rate limits, returns paginated results, or what the output format looks like. For a tool with no annotations, this is a significant gap in behavioral transparency.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, efficient sentence that front-loads the core purpose ('Get SBIR/STTR statistics') and adds necessary detail ('count of firms or awards by criteria') without any wasted words. It's appropriately sized for the tool's complexity and structure, making it easy to parse quickly.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's moderate complexity (4 parameters, no output schema, no annotations), the description is incomplete. It doesn't explain the return values, error conditions, or behavioral traits like data freshness or limitations. Without annotations or an output schema, the description should provide more context to help an agent use the tool effectively, but it falls short.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 100%, so the schema already documents all parameters. The description adds minimal value by mentioning 'by criteria,' which loosely maps to the parameters but doesn't provide additional syntax, format details, or usage examples beyond what the schema specifies. This meets the baseline score of 3 for high schema coverage.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does 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 ('Get') and resource ('SBIR/STTR statistics'), and specifies the type of statistics ('count of firms or awards by criteria'). It distinguishes itself from siblings like 'search_sbir_awards' and 'search_sbir_firms' by focusing on aggregated statistics rather than detailed searches. However, it doesn't explicitly differentiate from all siblings (e.g., 'check_size_standard'), leaving minor 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/5

    Does 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. It mentions 'by criteria' but doesn't specify which sibling tools are better for detailed searches versus aggregated counts, nor does it indicate prerequisites or exclusions. This lack of context makes it harder for an agent to choose appropriately among the available SBIR-related tools.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations provided, the description carries full burden for behavioral disclosure. It implies a read-only search operation but doesn't mention pagination, rate limits, authentication requirements, or what the return format looks like (e.g., list of firms with basic info). For a search tool with 6 parameters and no output schema, this leaves significant gaps in understanding how results are structured and delivered.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is efficiently structured in two sentences: the first establishes purpose and scope, the second lists search criteria. Every word contributes directly to understanding the tool's function without redundancy or fluff.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given 6 parameters, no annotations, and no output schema, the description is incomplete. It adequately explains what the tool searches for but fails to address critical behavioral aspects like result format, pagination, error handling, or how filters combine. For a search tool with multiple boolean filters and a limit parameter, more context is needed to use it effectively.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 100%, so the schema fully documents all 6 parameters. The description adds minimal value beyond the schema by listing searchable fields (keyword, name, location) but doesn't clarify parameter interactions (e.g., whether 'keyword' and 'name' are combined) or provide examples beyond what's in the schema descriptions. Baseline 3 is appropriate when schema does the heavy lifting.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool searches for SBIR/STTR firms using specific criteria (keyword, name, location) and identifies the target resource as small businesses receiving federal R&D funding. It distinguishes from sibling tools like 'search_sbir_awards' by focusing on firms rather than awards, though it doesn't explicitly contrast with 'get_sbir_firm_details' which retrieves details for specific firms.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does 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 like 'get_sbir_firm_details' (for details on known firms) or 'search_sbir_awards' (for searching awards). It mentions searchable fields but offers no context about prerequisites, typical use cases, or exclusions.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations are provided, so the description carries the full burden. It mentions the tool searches awards but does not disclose behavioral traits such as pagination, rate limits, authentication needs, or what happens with no results. For a search tool with 7 parameters and no annotations, this is a significant gap in transparency.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is front-loaded with the core purpose in the first sentence and efficiently lists searchable fields in the second. Every sentence earns its place with no wasted words, making it highly concise and well-structured for quick understanding.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's complexity (7 parameters, no annotations, no output schema), the description is adequate but incomplete. It covers the purpose and some usage context but lacks details on behavioral aspects, output format, and full parameter guidance. It meets minimum viability but has clear gaps for effective agent use.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 100%, so the schema already documents all 7 parameters thoroughly. The description adds minimal value by listing some parameters (firm, agency, topic, year) but does not provide additional syntax, format details, or constraints beyond what the schema specifies. Baseline 3 is appropriate when schema does the heavy lifting.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the specific action ('Search SBIR/STTR awards') and resource ('federal R&D contracts to small businesses'), distinguishing it from sibling tools like 'search_sbir_firms' (which searches firms) and 'sbir_stats' (which provides statistics). It provides precise scope by mentioning what can be searched: 'by firm, agency, topic, or year'.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies usage context by listing searchable fields (firm, agency, topic, year), but it does not explicitly state when to use this tool versus alternatives like 'search_sbir_firms' or 'get_sbir_firm_details'. No guidance on prerequisites, exclusions, or specific scenarios is provided, leaving some ambiguity for the agent.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations provided, the description carries full burden. It discloses the return type (revenue/employee thresholds) and purpose (federal contracting definition), but doesn't mention behavioral aspects like rate limits, authentication requirements, error conditions, or whether this is a lookup vs search operation. The description adds value but lacks operational context.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two concise sentences with zero waste. First sentence states purpose and input, second sentence specifies output and context. Every word earns its place in this efficiently structured description.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a 2-parameter lookup tool with no annotations and no output schema, the description provides adequate purpose and output information but lacks behavioral context (rate limits, auth needs) and doesn't fully compensate for the missing output schema. It's minimally viable but has clear gaps in operational guidance.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema (e.g., doesn't clarify the relationship between naicsCode and industry parameters or when to use each). Baseline 3 is appropriate when schema does the heavy lifting.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the specific action ('Get SBA small business size standards'), identifies the resource ('by NAICS code'), and specifies the output ('Returns revenue/employee thresholds that define 'small business' for federal contracting'). It distinguishes from siblings by focusing on size standards rather than SBIR-related 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/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies usage context (federal contracting) but doesn't explicitly state when to use this tool versus alternatives like 'check_size_standard' or other SBIR tools. No guidance on parameter selection (NAICS code vs industry keyword) or when to use partial codes.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations provided, the description carries the full burden of behavioral disclosure. It indicates the tool performs a qualification check, which implies a read-only operation without side effects, but it doesn't specify details like response format, error handling, or data sources (e.g., SBA database). This leaves gaps in understanding how the tool behaves beyond its basic function.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, efficient sentence that front-loads the core purpose ('Check if a business qualifies as small') and includes essential context ('under SBA standards for a specific NAICS code'). There is no wasted verbiage, making it highly concise and well-structured for quick comprehension.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's moderate complexity (3 parameters, no output schema, no annotations), the description is adequate but incomplete. It explains what the tool does but lacks details on output (e.g., returns a boolean or qualification status), prerequisites, or limitations (e.g., currency or time validity of standards). This leaves the agent with gaps in fully understanding the tool's context and usage.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 100%, so the schema already documents all three parameters (naicsCode, annualRevenue, employeeCount) with clear descriptions. The description adds no additional parameter semantics beyond implying that NAICS code is central to the check, which aligns with the schema's required parameter. This meets the baseline for high schema coverage.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does 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 ('Check') and resource ('business qualifies as small under SBA standards'), and it distinguishes from siblings by specifying the NAICS code requirement, unlike tools like 'get_size_standards' which likely retrieve standards data rather than perform qualification checks.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies usage context by specifying 'for a specific NAICS code,' which helps differentiate it from siblings like 'search_sbir_firms' that may not involve SBA standards. However, it lacks explicit guidance on when not to use it or direct alternatives, such as whether 'get_size_standards' should be used for reference instead.

    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

mcp-sba MCP server

Copy to your README.md:

Score Badge

mcp-sba MCP server

Copy to your README.md:

Latest Blog Posts

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/shawndrake2/mcp-sba'

If you have feedback or need assistance with the MCP directory API, please join our Discord server