Skip to main content
Glama

profullstack-mcp

List Contract Opportunity Sources

contracts_sources
Read-onlyIdempotent

Official government contract-opportunity sources for federal, California, Santa Clara County and City of Santa Clara buyers. Datamart does not index opportunities yet (Phase B); this lists where to look and what is planned.

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": "contracts_sources"
  }
}

Input Schema

NameRequiredDescriptionDefault
levelNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world behavior, so the safety bar is low; the description adds genuinely new context by disclosing that this is a static 'where to look' reference and that actual indexing is deferred to Phase B, which prevents the agent from assuming it returns live opportunities. It does not describe the item format (name-only vs. URL), a minor omission.

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?

Two tight sentences with no filler, and the scope statement is front-loaded ahead of the Phase B caveat. Nothing redundant, though the tool would benefit from one more clause on return shape rather than less text.

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 one-parameter, no-output-schema reference tool this is close to sufficient, but the description never indicates what a returned item contains (source name, URL, coverage, status) nor the default for an omitted level. Those are the two facts an agent would still have to guess.

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 coverage is 0%, so the description carries the burden, and it partly does: the four enumerated jurisdictions map cleanly onto the level enum values (federal/state/county/city). It never says the parameter is optional or what happens when level is omitted, so a caller cannot tell whether the default is all levels.

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 names a specific resource — official government contract-opportunity sources — and enumerates the covered jurisdictions (federal, California, Santa Clara County, City of Santa Clara), so an agent knows this is a curated pointer/reference list rather than a searchable opportunity index. It stops short of a crisp verb+object statement like 'lists source sites and their URLs', leaving the exact payload shape implicit.

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?

It implies usage by stating Datamart does not index opportunities yet, which steers an agent away from treating this as an opportunity search. However, no alternative tool or explicit 'use this when / not when' condition is named, and the sibling set (e.g., gov_services_search, datamart_search) is never referenced.

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.

Resources