MCP.so
Sign In

GovQL MCP Server

@govql

Basic information

Category

Other

Transports

stdio

Author

govql

Submitted by

Alex Stout

About GovQL MCP Server

Government data, made accessible in GraphQL

GovQL MCP Server config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "govql": {
      "command": "uvx",
      "args": [
        "govql-mcp-server"
      ]
    }
  }
}

GovQL MCP Server tools

3

Run any GraphQL query against the GovQL endpoint. Returns the result plus an `last_ingest` timestamp so the agent can reason about data freshness.

Returns the names and kinds of every type in the GovQL schema. Optional `kind` filter (`"OBJECT"`, `"INPUT_OBJECT"`, `"ENUM"`, etc.) to narrow further. Start here when you don't know what's queryable.

Returns one type's full details — fields, arg signatures, input fields, enum values. Call after `list_types` to learn the shape of a specific type before writing a query.

Overview

What is GovQL?

GovQL is an MCP (Model Context Protocol) server that provides AI clients such as Claude Desktop, Claude Code, and Cursor with direct access to the US Congressional GraphQL API at api.govql.us/graphql, eliminating the need for manual HTTP wiring. It is designed for users who want to query congressional data through AI agents.

How to use GovQL?

To use GovQL, add the server configuration to your client's settings file (e.g., claude_desktop_config.json for Claude Desktop, .mcp.json for Claude Code, or Cursor's MCP settings) using the command uvx govql-mcp-server with no required arguments. The server runs as a per-client subprocess over stdio.

Key features of GovQL

  • Execute arbitrary GraphQL queries against the GovQL API.
  • List all types in the GovQL schema with optional kind filter.
  • Describe a type's full details including fields and arguments.
  • Returns last_ingest timestamp for data freshness awareness.
  • Zero-configuration for end users; optional environment variables.

Use cases of GovQL

  • Ask an agent "How did Vermont's two senators vote on the most recent nomination?".
  • Ask an agent "Which legislators in the 118th Congress switched parties during their service?".
  • Ask an agent "Compare Senator Sanders' voting record to Senator Murkowski's on cloture votes.".
  • Ask an agent "Which Democrats most often voted with Republicans in the current Congress?".

Frequently asked questions

1

What tools does GovQL provide?

GovQL provides three tools: `execute_graphql` to run any GraphQL query, `list_types` to return schema types, and `describe_type` to return a type's full details.

2

What are the API limits?

The upstream API enforces a max query depth of 10, max query complexity of ~10 billion points, and a rate limit of 100 requests per 60 seconds per source IP.

3

How fresh is the data?

Every `execute_graphql` response includes a `last_ingest` timestamp. Vote data refreshes hourly; legislator data refreshes daily.

4

Can I configure the endpoint or timeout?

Yes, via environment variables: `GOVQL_ENDPOINT` (default https://api.govql.us/graphql), `GOVQL_TIMEOUT_MS` (default 30000), and `LOG_LEVEL` (default INFO). All are optional.

5

Does GovQL require any authentication?

No, the package is zero-config for end users; no API keys or authentication are mentioned in the README.

Comments

More Other MCP servers