All projects

AI Developer · Folder IT

GovSpend MCP Server

GovSpend's public-sector procurement data as tools an AI assistant can call on its own.

Everything on this page is public information from GovSpend's own site and channels. The links throughout let you check it.

Role
Co-lead developer
Status
Live
Stack
MCP Protocol · Streamable HTTP · OAuth 2.1
23
read-only tools in production
6
AI clients, from Claude to Copilot Studio
2B+
purchase orders behind the answers
96M+
contracts an assistant can cite

How it started

GovSpend's customers had started building their own AI tools: agents that track opportunities, pipelines that pull vendor history, dashboards that need procurement data on demand. The platform's interface and its REST API were built for people and programs, not for a model deciding on its own what to fetch. I was one of the lead developers on the MCP server from the start, and owned architecture and design decisions.

The problem

An assistant with no access to the record guesses. Ask it which agencies buy what you sell and it produces something plausible with no contract behind it. The data existed, in GovSpend, but reaching it meant leaving the conversation, building a query out of filters and pasting the result back. The cost was the round trip, dozens of times a day.

The approach

A hosted MCP server, mcp.govspend.com, that exposes GovSpend as tools an assistant calls on its own: Claude, ChatGPT, Microsoft 365 Copilot and Copilot Studio, Claude Code, Codex and Gemini CLI, or an in-house agent. People sign in with their GovSpend account, the assistant picks the tool, and the answer comes back with real contracts, bids and spend behind it, scoped to what that account could already see.

One tool per use case

Each tool covers one thing a person actually asks for: search contracts, analyze spending, find the contacts behind an agency, rerun a saved search. The server exposes 23 of them in four families, search, analytics, intelligence (contacts, meetings, documents) and saved searches, with a handful of arguments each. That is what lets the assistant pick the right one from a plain question; nobody types a tool name.

AI CLIENTSMCP SERVERGOVSPEND DATAClaudeDesktop, web, Claude CodeChatGPTcustom app, OAuthMicrosoft CopilotM365 and Copilot StudioCLIs and agentsCodex, Gemini CLI, in-housemcp.govspend.com/mcpStreamable HTTP · OAuth (GovSpend login) or API keysearch_*contracts, bids, spend, federal awardsanalytics_*top vendors, rollups, trendsintelligencecontacts, meetings, documentssaved searchesrun and exportREAD-ONLY · SAME ENTITLEMENTS AS THE WEB APP · TLS · LOGGED PER USER2B+purchase orders96M+contracts10M+agency contacts2.3M+meeting transcriptsa questionrecords with citations
The assistant picks one of 23 tools from the question and calls the hosted server; the answer comes back with real contracts, bids and spend, scoped to what that GovSpend account can already see. The families and guarantees are the ones in the public docs.

The same permissions as the web app, not one more

Authentication is the GovSpend login itself, an OAuth flow the client runs on first use, or an API key for headless pipelines. Every tool is read-only, results are scoped to the account's entitlements, traffic is TLS only and each call is logged and attributable to a user. Connecting an assistant grants no access the person did not already have, which is what lets an IT team say yes.

One remote server, nothing to install

Streamable HTTP on a single hosted endpoint means there is no installer: Claude Desktop adds it as a connector, ChatGPT as a custom app, Copilot Studio with a key, the CLIs with one command. The same server serves all of them, so supporting a new client is a documentation page, not a build.

On screen · tap to enlarge

The product page: connect Claude, ChatGPT, Copilot or your own agents to GovSpend.
What an assistant runs once connected: pre-call briefings, expiring contracts, battle cards, outreach.
Netsync built custom agents on the server; Circool calls it "unbelievably productive and accurate".

Try it here

Three questions from GovSpend's public docs, and the tool each one lands on. This is the design point: a question maps to one tool with a handful of arguments, and the assistant picks it on its own.

The assistant calls
analytics_spendinganalytics_*
{
  category: "cybersecurity services"
  state: "TX"
  agency_type: "state"
  period: "last_12_months"
  group_by: "vendor"
  limit: 10
}
What comes back

Ten vendors ranked by purchase-order totals, each with its agencies and amounts, and the records behind the ranking.

Tool names are the real ones. The arguments are illustrative: the actual call is built by the model.See the tool definitions

In their words

The value wasn't simply access to data — it was integrating GovSpend intelligence directly into the workflows where decisions are actually made.
Shawn Sutton
Strategic Account Manager, Netsync · press release · Source
I've been using the MCP to work with GovSpend data, and it's unbelievably productive and accurate.
Jason Routson
Founder and CEO, Circool · product page · Source
They need GovSpend insights wired directly to their workflows, dashboards, and custom systems — not another tab to open.
Nate Haskins
CEO, GovSpend · press release · Source

What's next

Launched publicly in June 2026. Netsync, an early adopter, built a set of custom agents on it to surface procurement signals per account, and GovSpend's CEO opened his video series naming MCP servers as the first of three reasons to take a fresh look at the company. About 25,000 new procurement records land every day, and assistants on the server see them as they arrive. Today its public health endpoint reports version 1.2.0 and 23 tools.

  1. Apr 2026
    GovSpend publishes its practical guide to MCP
  2. Jun 2026
    Public launch: press release and docs for Claude, ChatGPT and Copilot
  3. Sep 2026· now
    Version 1.2.0 in production, 23 tools

Stack

  • MCP Protocol
  • Streamable HTTP
  • OAuth 2.1

Public sources