Koskamo

Zovo Contract Awards MCP

Research federal contract awards, recipients, agencies and contracts expiring soon using public award records and downloadable Excel market reports. It provides live federal contract award history, recipient and agency totals, current reported end dates, side-by-side competitor awards, and multi-sheet Excel reports.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Zovo Contract Awards MCP logo, by ZovoCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-01Published by Zovo
MCP endpoint (Streamable HTTP)
https://contract-awards.zovo.one/mcp
Vendor documentation

What you can do with it

  • Research federal contract awards for specific NAICS codes and agencies
  • Identify winners of government contracts in specific regions
  • Compare contract awards between competitors like Leidos and SAIC

Source and maintenance

Community listingRegistry 1.0.0

Protocol and capabilities

Server
contract-awards 1.0.0
MCP protocol
2025-06-18
Tools
2 advertised
Resources
1 advertised
Resource templates
1 advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  },
  "resources": {
    "listChanged": true
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Research past US federal contract awards and competitor award history. Use search_contract_awards for market research and compare_competitor_awards for named competitors. Explain capped row totals, current reported ending dates and separate period obligations. Do not treat name matches as a verified corporate identity.

Tools

2 advertised

search_contract_awards — Search contract awards
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Use this when the user wants government contracts search, federal contract awards by NAICS code, contracts expiring soon or federal market research. Queries live public award records and makes a multi-sheet Excel report with recipient and agency totals. At least one search filter; up to 300 rows, dates from 2007-10-01 through today UTC, prime contracts or IDVs. Totals cover returned rows; period obligations are separate aggregates. Do not use for open solicitations, bids, subcontracts or classified awards.

search_contract_awards input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "states": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 2
      },
      "maxItems": 10,
      "description": "Up to 10 values, each up to 2 characters. Example: [\"TX\"]."
    },
    "agencies": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 150
      },
      "maxItems": 5,
      "description": "Up to 5 values, each up to 150 characters. Example: [\"VA\"]."
    },
    "end_date": {
      "type": "string",
      "maxLength": 10,
      "description": "Last action date, no later than today UTC; default today UTC. Example: 2026-10-01."
    },
    "keywords": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 50
      },
      "maxItems": 5,
      "description": "Up to 5 values, each up to 50 characters. Example: [\"janitorial\"]."
    },
    "psc_codes": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 4
      },
      "maxItems": 10,
      "description": "Up to 10 values, each up to 4 characters. Example: [\"S201\"]."
    },
    "recipients": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 80
      },
      "maxItems": 10,
      "description": "Up to 10 values, each up to 80 characters. Example: [\"Booz Allen\"]."
    },
    "start_date": {
      "type": "string",
      "maxLength": 10,
      "description": "First action date, YYYY-MM-DD, from 2007-10-01. Default end minus 365 days. Example: 2025-10-01."
    },
    "max_results": {
      "type": "integer",
      "maximum": 300,
      "minimum": 1,
      "description": "Maximum award rows, 1 to 300, default 100. Example: 200."
    },
    "naics_codes": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 6
      },
      "maxItems": 10,
      "description": "Up to 10 values, each up to 6 characters. Example: [\"541512\"]."
    },
    "award_category": {
      "enum": [
        "contracts",
        "idvs"
      ],
      "type": "string",
      "description": "Award group, default contracts. Example: idvs uses last date to order for the ending window."
    }
  }
}
search_contract_awards output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "mode",
    "summary",
    "matched",
    "returned",
    "capped",
    "total",
    "rows_without_amount",
    "awards",
    "recipients",
    "agencies",
    "ending_count",
    "ending",
    "period_recipients",
    "period_agencies",
    "competitors",
    "notes",
    "downloads",
    "source"
  ],
  "properties": {
    "mode": {
      "enum": [
        "search",
        "compare"
      ],
      "type": "string"
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "total": {
      "type": "string",
      "pattern": "^-?\\$\\d{1,3}(?:,\\d{3})*\\.\\d{2}$",
      "description": "USD with two decimal places, for example $150.03 or -$40,013.22."
    },
    "awards": {
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    },
    "capped": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "ending": {
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    },
    "source": {
      "type": "string"
    },
    "matched": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "const": "unknown"
        }
      ]
    },
    "summary": {
      "type": "string"
    },
    "agencies": {
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    },
    "returned": {
      "type": "number"
    },
    "downloads": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      }
    },
    "recipients": {
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    },
    "competitors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "competitor",
          "matched",
          "returned",
          "capped"
        ],
        "properties": {
          "note": {
            "type": "string"
          },
          "error": {
            "type": "string"
          },
          "total": {
            "type": "string",
            "pattern": "^-?\\$\\d{1,3}(?:,\\d{3})*\\.\\d{2}$",
            "description": "USD with two decimal places, for example $150.03 or -$40,013.22."
          },
          "capped": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "ending": {
            "type": "number"
          },
          "matched": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "string",
                "const": "unknown"
              }
            ]
          },
          "returned": {
            "type": "number"
          },
          "top_naics": {
            "type": "string"
          },
          "competitor": {
            "type": "string"
          },
          "largest_id": {
            "type": "string"
          },
          "top_agency": {
            "type": "string"
          },
          "largest_agency": {
            "type": "string"
          },
          "largest_amount": {
            "type": "string",
            "pattern": "^-?\\$\\d{1,3}(?:,\\d{3})*\\.\\d{2}$",
            "description": "USD with two decimal places, for example $150.03 or -$40,013.22."
          },
          "distinct_recipients": {
            "type": "number"
          }
        },
        "additionalProperties": false
      }
    },
    "ending_count": {
      "type": "number"
    },
    "period_agencies": {
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    },
    "period_recipients": {
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    },
    "rows_without_amount": {
      "type": "number"
    }
  },
  "additionalProperties": false
}
search_contract_awards annotations
{
  "title": "Search contract awards",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
compare_competitor_awards — Compare competitor awards
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Use this when the user wants competitor contract awards, government contract award history or recompete research. Looks up live public federal awards for one to ten competitor names and makes an Excel comparison. Up to 25 returned awards per competitor; names match text and may include subsidiaries; dates from 2007-10-01 to today UTC. Failed items leave successful competitors available. Do not use for corporate identity verification, open solicitations or bids.

compare_competitor_awards input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "states": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 2
      },
      "maxItems": 10,
      "description": "Up to 10 values, each up to 2 characters. Example: [\"TX\"]."
    },
    "agencies": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 150
      },
      "maxItems": 5,
      "description": "Up to 5 values, each up to 150 characters. Example: [\"VA\"]."
    },
    "end_date": {
      "type": "string",
      "maxLength": 10,
      "description": "Last action date, no later than today UTC; default today UTC. Example: 2026-10-01."
    },
    "keywords": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 50
      },
      "maxItems": 5,
      "description": "Up to 5 values, each up to 50 characters. Example: [\"janitorial\"]."
    },
    "psc_codes": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 4
      },
      "maxItems": 10,
      "description": "Up to 10 values, each up to 4 characters. Example: [\"S201\"]."
    },
    "start_date": {
      "type": "string",
      "maxLength": 10,
      "description": "First action date, YYYY-MM-DD, from 2007-10-01. Default end minus 365 days. Example: 2025-10-01."
    },
    "competitors": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 80
      },
      "maxItems": 10,
      "description": "Up to 10 values, each up to 80 characters. Example: [\"Leidos\", \"SAIC\"]."
    },
    "naics_codes": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 6
      },
      "maxItems": 10,
      "description": "Up to 10 values, each up to 6 characters. Example: [\"541512\"]."
    },
    "award_category": {
      "enum": [
        "contracts",
        "idvs"
      ],
      "type": "string",
      "description": "Award group, default contracts. Example: idvs uses last date to order for the ending window."
    }
  }
}
compare_competitor_awards output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "mode",
    "summary",
    "matched",
    "returned",
    "capped",
    "total",
    "rows_without_amount",
    "awards",
    "recipients",
    "agencies",
    "ending_count",
    "ending",
    "period_recipients",
    "period_agencies",
    "competitors",
    "notes",
    "downloads",
    "source"
  ],
  "properties": {
    "mode": {
      "enum": [
        "search",
        "compare"
      ],
      "type": "string"
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "total": {
      "type": "string",
      "pattern": "^-?\\$\\d{1,3}(?:,\\d{3})*\\.\\d{2}$",
      "description": "USD with two decimal places, for example $150.03 or -$40,013.22."
    },
    "awards": {
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    },
    "capped": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "ending": {
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    },
    "source": {
      "type": "string"
    },
    "matched": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "const": "unknown"
        }
      ]
    },
    "summary": {
      "type": "string"
    },
    "agencies": {
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    },
    "returned": {
      "type": "number"
    },
    "downloads": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      }
    },
    "recipients": {
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    },
    "competitors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "competitor",
          "matched",
          "returned",
          "capped"
        ],
        "properties": {
          "note": {
            "type": "string"
          },
          "error": {
            "type": "string"
          },
          "total": {
            "type": "string",
            "pattern": "^-?\\$\\d{1,3}(?:,\\d{3})*\\.\\d{2}$",
            "description": "USD with two decimal places, for example $150.03 or -$40,013.22."
          },
          "capped": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "ending": {
            "type": "number"
          },
          "matched": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "string",
                "const": "unknown"
              }
            ]
          },
          "returned": {
            "type": "number"
          },
          "top_naics": {
            "type": "string"
          },
          "competitor": {
            "type": "string"
          },
          "largest_id": {
            "type": "string"
          },
          "top_agency": {
            "type": "string"
          },
          "largest_agency": {
            "type": "string"
          },
          "largest_amount": {
            "type": "string",
            "pattern": "^-?\\$\\d{1,3}(?:,\\d{3})*\\.\\d{2}$",
            "description": "USD with two decimal places, for example $150.03 or -$40,013.22."
          },
          "distinct_recipients": {
            "type": "number"
          }
        },
        "additionalProperties": false
      }
    },
    "ending_count": {
      "type": "number"
    },
    "period_agencies": {
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    },
    "period_recipients": {
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    },
    "rows_without_amount": {
      "type": "number"
    }
  },
  "additionalProperties": false
}
compare_competitor_awards annotations
{
  "title": "Compare competitor awards",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

1 advertised

contract-awards-widget — Zovo Contract Awards view

Advertised by the server during the last successful anonymous check.

Interactive view for Zovo Contract Awards.

contract-awards-widget URI
ui://widget/contract-awards-v6-1.0.0-753aca3f0e68bb32501780a7236d270a5af30a094adde50a0b27fb350c9aac76.html

MIME type: text/html;profile=mcp-app

contract-awards-widget-legacy — Zovo Contract Awards view (previous versions)

Advertised by the server during the last successful anonymous check.

contract-awards-widget-legacy URI template
ui://widget/contract-awards-{version}.html

MIME type: text/html;profile=mcp-app

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
505 ms
95th percentile latency
505 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 505 ms · metadata changed · 2 tool(s), 1 resource(s), 1 resource template(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http zovo-contract-awards-mcp https://contract-awards.zovo.one/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add zovo-contract-awards-mcp --url https://contract-awards.zovo.one/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable zovo-contract-awards-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "zovo-contract-awards-mcp": {
      "url": "https://contract-awards.zovo.one/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "zovo-contract-awards-mcp": {
      "type": "streamableHttp",
      "url": "https://contract-awards.zovo.one/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start zovo-contract-awards-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "zovo-contract-awards-mcp": {
      "type": "http",
      "url": "https://contract-awards.zovo.one/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http zovo-contract-awards-mcp https://contract-awards.zovo.one/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "zovo-contract-awards-mcp": {
      "url": "https://contract-awards.zovo.one/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "zovo-contract-awards-mcp": {
      "serverUrl": "https://contract-awards.zovo.one/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Zovo Contract Awards MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.