sam_set_aside_opportunities
Pack: samgov · Endpoint: https://gateway.pipeworx.io/samgov/mcp
Find federal contract opportunities reserved for a specific class of small business — total or partial small business, 8(a), women-owned (WOSB/EDWOSB), HUBZone, service-disabled veteran-owned (SDVOSB), veteran-owned, Indian small business economic enterprise and Buy Indian. Answers “what HUBZone contracts are open”, “recent 8(a) set-asides”, “women-owned small business opportunities in NAICS 541512”. Reads SAM.gov’s public daily Contract Opportunities extract, so it costs no API key and works on the plain code (SBA, HZC, SDVOSBC, 8A, WOSB) or on the ordinary phrasing (“HUBZone”, “women-owned”, “8(a)”, “service-disabled veteran”). Returns titles, solicitation numbers, deadlines, agencies and NAICS, with a mirror field reporting how fresh the snapshot is.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
set_aside | string | yes | Set-aside type (required). Either the SAM.gov code — SBA (total small business), SBP (partial), 8A, 8AN (8(a) sole source), WOSB, EDWOSB, HZC (HUBZone), HZS (HUBZone sole source), SDVOSBC, SDVOSBS, VSA (veteran-owned), ISBEE, IEE, BICiv — or the ordinary phrasing (“small business”, “HUBZone”, “women-owned”, “8(a)”, “service-disabled veteran”), which is resolved to the code for you. |
keyword | string | no | Optional keyword to narrow results |
naics | string | no | Optional NAICS code filter |
limit | number | no | Number of results to return (1-100, default 10) |
_apiKey | string | no | Optional — omit it. This search answers keyless from the local snapshot of SAM.gov’s public Contract Opportunities extract; a key is needed only to reach postings newer than that snapshot. |
Example call
Arguments
{
"set_aside": "SDVOSB",
"keyword": "construction",
"limit": 25
}
curl
curl -X POST https://gateway.pipeworx.io/samgov/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"sam_set_aside_opportunities","arguments":{"set_aside":"SDVOSB","keyword":"construction","limit":25}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('sam_set_aside_opportunities', {
"set_aside": "SDVOSB",
"keyword": "construction",
"limit": 25
});
More examples
{
"set_aside": "HUBZone"
}
Response shape
Always returns: set_aside_type, total_records, limit, opportunities
| Field | Type | Description |
|---|---|---|
set_aside_type | string | Set-aside type being searched |
total_records | number | Total number of matching set-aside opportunities |
limit | number | Number of results returned in this request |
opportunities | array |
Full JSON Schema
{
"type": "object",
"properties": {
"set_aside_type": {
"type": "string",
"description": "Set-aside type being searched"
},
"total_records": {
"type": "number",
"description": "Total number of matching set-aside opportunities"
},
"limit": {
"type": "number",
"description": "Number of results returned in this request"
},
"opportunities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": [
"string",
"null"
],
"description": "Opportunity title"
},
"solicitation_number": {
"type": [
"string",
"null"
],
"description": "Unique solicitation identifier"
},
"department": {
"type": [
"string",
"null"
],
"description": "Procuring department/agency"
},
"sub_tier": {
"type": [
"string",
"null"
],
"description": "Sub-tier agency code"
},
"office": {
"type": [
"string",
"null"
],
"description": "Procuring office name"
},
"posted_date": {
"type": [
"string",
"null"
],
"description": "Date opportunity was posted"
},
"response_deadline": {
"type": [
"string",
"null"
],
"description": "Proposal response deadline"
},
"type": {
"type": [
"string",
"null"
],
"description": "Procurement type"
},
"set_aside": {
"type": [
"string",
"null"
],
"description": "Small business set-aside type"
},
"naics_code": {
"type": [
"string",
"null"
],
"description": "Primary NAICS code"
},
"classification_code": {
"type": [
"string",
"null"
],
"description": "Classification code"
},
"active": {
"type": [
"string",
"null"
],
"description": "Active status indicator"
},
"ui_link": {
"type": [
"string",
"null"
],
"description": "URL to opportunity details on SAM.gov"
}
}
}
}
},
"required": [
"set_aside_type",
"total_records",
"limit",
"opportunities"
]
}
Connect
Add this to your MCP client config, or use one-click install buttons:
{
"mcpServers": {
"samgov": {
"url": "https://gateway.pipeworx.io/samgov/mcp"
}
}
}
See Getting Started for client-specific install steps.