Skip to main content
Glama

get_opportunity

Read-only

Get one SAM.gov notice in full: description, response deadline, set-aside, NAICS and PSC codes, place of performance, contracting office, points of contact, award details for award notices, and the public sam.gov link. Also lists other active notices with the same solicitation number, such as earlier versions, amendments, or awards (with awardee and amount).

Pass the 32-character notice ID from search results, or a solicitation number (returns its most recently posted current notice, preferring the solicitation over award notices and justifications). Attachments are not retrieved; open the sam.gov link for them.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "get_opportunity"
  }
}

Input Schema

NameRequiredDescriptionDefault
notice_idNo32-character SAM.gov notice ID.
solicitation_numberNoSolicitation number, used when notice_id is not given.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare readOnlyHint and destructiveHint=false, yet the description still adds real behavioral context: it discloses the resolution precedence when a solicitation number matches multiple notices (most recently posted current notice, preferring solicitations over award notices and justifications) and states the attachment limitation with a workaround. That is exactly the kind of information annotations cannot convey.

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

Conciseness4/5

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

Front-loaded with the core purpose, then parameter guidance, then the attachment caveat — a sensible order with no filler. The field enumeration is slightly long, but each listed item tells the agent what to expect in the payload, so it mostly earns its place.

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

Completeness4/5

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

With no output schema, the description carries the return-value burden and does so thoroughly (fields, related notices, awardee and amount). The remaining gap is error/not-found behavior for an invalid or unknown notice ID or solicitation number, which is not addressed.

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

Parameters4/5

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

Schema coverage is 100%, so the schema already covers both params and the fallback condition. The description adds meaning beyond the schema by explaining what happens when a solicitation number maps to several notices and which one wins, which is genuine semantic value rather than restatement.

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?

States a specific verb and resource ('Get one SAM.gov notice in full') and enumerates the returned fields, making it unmistakably the detail-fetch counterpart to search_opportunities. It also names the related-notices sub-feature (earlier versions, amendments, awards), so an agent can tell what this returns that a search does not.

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?

Explicitly routes the agent: pass the 32-character notice ID from search results, or a solicitation number as fallback. That is clear usage context, but it never explicitly states when not to use it (e.g., versus summarize_opportunities or get_data_status), so it stops short of full alternative routing.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.