Skip to main content
Glama

SBA (Small Business Administration) MCP Server

Access SBA small business size standards and SBIR/STTR data (federal R&D funding for small businesses).

Data Available

  • Size Standards - Revenue/employee thresholds that define "small business" by NAICS code

  • SBIR Firms - Small businesses receiving federal R&D funding

  • SBIR Awards - Federal R&D contracts awarded to small businesses

Related MCP server: EzBiz Government Contracting MCP Server

Setup

No API key required. Add to your MCP config:

{
  "sba": {
    "command": "node",
    "args": ["/path/to/sba/dist/index.js"],
    "env": {}
  }
}

Tools

get_size_standards

Look up SBA size standards by NAICS code or industry keyword.

Parameter

Required

Description

naicsCode

No

NAICS code (e.g., "541511"). Can be partial for broader search

industry

No

Industry keyword (e.g., "software", "construction")

Example: Find size standards for software companies

industry: "software"

Returns: NAICS code, industry description, size threshold (revenue or employees)

check_size_standard

Check if a business qualifies as "small" under SBA standards.

Parameter

Required

Description

naicsCode

Yes

NAICS code for the industry

annualRevenue

No

Annual revenue in millions (e.g., 15.5 for $15.5M)

employeeCount

No

Number of employees

Example: Check if a software company with $20M revenue qualifies

naicsCode: "541511"
annualRevenue: 20

search_sbir_firms

Search SBIR/STTR firms (innovative small businesses with federal R&D funding).

Parameter

Required

Description

keyword

No

Search keyword

name

No

Company name

state

No

State abbreviation (e.g., "CA")

womanOwned

No

Filter for woman-owned (true/false)

hubzone

No

Filter for HUBZone businesses (true/false)

limit

No

Max results (default 50, max 5000)

Example: Find woman-owned tech firms in California

state: "CA"
womanOwned: true
keyword: "technology"

search_sbir_awards

Search SBIR/STTR awards (federal R&D contracts).

Parameter

Required

Description

firm

No

Company name

keyword

No

Keyword in award title/abstract

agency

No

Funding agency (DOD, NASA, NIH, NSF, DOE, etc.)

year

No

Award year (e.g., "2024")

state

No

State abbreviation

phase

No

SBIR phase: "1" (feasibility), "2" (development), "3" (commercialization)

limit

No

Max results (default 50, max 5000)

Example: Find NASA awards in 2024

agency: "NASA"
year: "2024"
limit: 20

get_sbir_firm_details

Get detailed information about a specific SBIR firm including their awards.

Parameter

Required

Description

name

Yes

Exact company name

sbir_stats

Get aggregate SBIR/STTR statistics.

Parameter

Required

Description

type

Yes

"firms" or "awards"

state

No

State filter

agency

No

Agency filter (for awards)

year

No

Year filter (for awards)

Example: Get firm statistics by state

type: "firms"
state: "TX"

SBIR Funding Agencies

Agency

Focus

DOD

Defense technology

NASA

Space and aeronautics

NIH

Health and biomedical

NSF

Science and engineering

DOE

Energy technology

USDA

Agricultural innovation

Rate Limits

  • Size Standards API: No strict limit

  • SBIR API: Rate limited (has exponential backoff built in)

Note: The SBIR API has strict rate limits. If you receive rate limit errors, wait a few minutes before retrying.

Documentation

Available Tools

6 tools
check_size_standardA

Check if a business qualifies as 'small' under SBA standards for a specific NAICS code.

ParametersJSON Schema
NameRequiredDescriptionDefault
naicsCodeYesNAICS code for the industry
annualRevenueNoAnnual revenue in millions of dollars (e.g., 15.5 for $15.5M)
employeeCountNoNumber of employees

TDQS

A3.9/5.0
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.

get_sbir_firm_detailsC

Get detailed information about a specific SBIR firm by name

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesExact company name

TDQS

C2.9/5.0
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.

get_size_standardsA

Get SBA small business size standards by NAICS code. Returns revenue/employee thresholds that define 'small business' for federal contracting.

ParametersJSON Schema
NameRequiredDescriptionDefault
naicsCodeNoNAICS code to look up (e.g., '541511' for custom computer programming). Can be partial for broader search.
industryNoIndustry keyword to search (e.g., 'software', 'construction', 'restaurant')

TDQS

A3.7/5.0
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.

sbir_statsC

Get SBIR/STTR statistics - count of firms or awards by criteria

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYes'firms' or 'awards'
stateNoState abbreviation to filter
agencyNoAgency to filter (for awards)
yearNoYear to filter (for awards)

TDQS

C2.9/5.0
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.

search_sbir_awardsA

Search SBIR/STTR awards (federal R&D contracts to small businesses). Find by firm, agency, topic, or year.

ParametersJSON Schema
NameRequiredDescriptionDefault
firmNoCompany/firm name
keywordNoSearch keyword in award title/abstract
agencyNoFunding agency (e.g., 'DOD', 'NASA', 'NIH', 'NSF', 'DOE')
yearNoAward year (e.g., '2024')
stateNoState abbreviation
phaseNoSBIR phase: '1' (feasibility), '2' (development), '3' (commercialization)
limitNoMax results (default 50, max 5000)

TDQS

A3.5/5.0
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.

search_sbir_firmsC

Search SBIR/STTR firms (small businesses receiving federal R&D funding). Find innovative companies by keyword, name, or location.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordNoSearch keyword (searches company name and other fields)
nameNoCompany name to search
stateNoState abbreviation (e.g., 'CA', 'TX', 'NY')
womanOwnedNoFilter for woman-owned businesses
hubzoneNoFilter for HUBZone businesses
limitNoMax results (default 50, max 5000)

TDQS

C2.9/5.0
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.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updatesv1.0.0
    • First observedcheck_size_standard
    • First observedget_sbir_firm_details
    • First observedget_size_standards
    • First observedsbir_stats
    • First observedsearch_sbir_awards
    • First observedsearch_sbir_firms

TDQS

A3.5/5.0

Scored across 6 tools

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.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Federal procurement intelligence toolkit that searches SAM.gov contract opportunities, analyzes agency spending patterns, tracks competitor wins, and monitors small business set-aside programs (8a, HUBZone, SDVOSB, WOSB). 4 tools using SAM.gov and USASpending.gov data.
    3
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to search federal contracts, analyze agency spending, track competitor wins, and monitor small business set-aside opportunities using SAM.gov, USASpending.gov, and FPDS data.
    -
  • A
    license
    B
    quality
    A
    maintenance
    Enables searching and filtering federal contract opportunities by keyword, agency, set-aside, NAICS, and more from any MCP client. Analyzes solicitations for small-business fit and risk, and provides reference lookups for NAICS codes, set-asides, and federal thresholds.
    9
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to search and retrieve federal small business research and technology transfer award data, including keyword, company, agency, and phase queries, via a free public API without authentication.
    1 npm
    MIT