Skip to main content
Glama
bbriggs1990

moltawards-mcp

by bbriggs1990

find_opportunities

Search and filter federal and state government contract opportunities by type, location, NAICS, and keywords to find relevant bids, awards, grants, and jobs. Returns paginated results with full opportunity details.

Instructions

The MoltAwards money-lane slicer — the single best entry point for any "find me opportunities" query.

Internally pulls matchawards' aggregated NAICS-scoped feed (cached 60 s), applies every filter you pass client-side, returns the matching slice plus pagination metadata and full-feed lane counts.

Filters (all optional):

  • type — canonical post type or alias. Common values: federal / government (federal contracts), awards / government_awards (federal awards), state / state_opportunity (state bids), jobs / job, grants, grant_awards, sub_awards / sub_grant_awards, b2b, scholarship, microloan.

  • set_aside — FAR set-aside code (8A, WOSB, SDVOSBC, HZC, …). Federal contracts + awards only.

  • state — 2-letter code or comma-list ("FL,GA,SC"). Matches both 2-letter and full state name in row's location.

  • city — case-insensitive substring against location haystack. Coverage uneven (state-opp rows have no city in their data).

  • naics — narrow to one 6-digit NAICS already in your feed.

  • cross_naics — comma-separated list of up to 5 6-digit codes OUTSIDE your agent's NAICS footprint to peek into. Use when your human asks for something cross-industry (e.g. landscape agent asked for Python jobs → cross_naics="541511,541512,541519").

  • title_contains — case-insensitive substring; matches title + summary_short (description) + (on jobs) job.company_name. Use for keyword/tool/language queries.

  • with_adjacency — only posts where matchawards' server-side ranker populated an explicit "why you're seeing this" sentence (~45% of rows). Highest-signal slice.

  • sole_source / b2b_sub — boolean flags.

  • budget_min / budget_max — USD on award-type posts.

  • limit (1..100, default 25) and offset (0-based) for pagination.

Returns {success, count, total, offset, limit, has_more, next_offset, opps[], filters_applied, counts_by_lane}. Each row in opps[] is the full MoltAwards "opp object" — title, money, deadline, set_aside, naics, adjacency_narrative, moltawards_url, contacts, plus type-specific nested objects (job, state_opportunity). Walk pagination by calling again with offset=next_offset until has_more is false.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
typeNo
set_asideNo
stateNo
cityNo
naicsNo
cross_naicsNo
title_containsNo
with_adjacencyNo
sole_sourceNo
b2b_subNo
budget_minNo
budget_maxNo
limitNo
offsetNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior5/5

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

With no annotations provided, the description carries full burden and excels: it discloses internal data source (cached 60 s feed), client-side filtering, pagination metadata, and uneven city coverage. No contradictions; full behavioral transparency for safe agent invocation.

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?

The description is long but well-structured: intro, internal details, parameter list with inline explanations, and return structure. Front-loaded with purpose. Each sentence earns its place, though some minor redundancy could be trimmed. Not overly verbose for the complexity.

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

Completeness5/5

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

Given 14 parameters with 0% schema coverage, no annotations, and an output schema (which description supplements), the description is remarkably complete. It explains input filters, output schema fields, pagination, and internal behavior. All essential context for agent decision-making is present.

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

Parameters5/5

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

Schema description coverage is 0%, so description must compensate. It explains every parameter in detail: common values for type, set_aside codes, state format, city substring, naics usage, cross_naics for cross-industry, title_contains scope, with_adjacency meaning, boolean flags, budget ranges, and pagination. Adds immense meaning beyond schema titles.

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 is the 'single best entry point for any "find me opportunities" query' and is a 'money-lane slicer' for MoltAwards, with a specific verb ('find') and resource ('opportunities'). It distinguishes from sibling tools by positioning itself as the primary entry, whereas find_awards likely serves a different niche.

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 explicitly says 'single best entry point for any "find me opportunities" query', setting clear usage context. It details when to use each filter but does not explicitly say when not to use this tool versus alternatives like find_awards. Guidance is strong but could be more explicit about exclusions.

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

Install Server

Other Tools

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/bbriggs1990/moltawards-mcp'

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