# OpenGov MCP

> OpenGov MCP connects your AI client directly to public sector data sources, allowing you to manage government records through natural language conversation. Use this tool to list available financial reports, query departmental funds, and administer user accounts without touching a manual portal.

## Overview
- **Category:** government-public-data
- **Price:** Free
- **Tags:** public-sector, financial-reporting, budget-tracking, government-transparency, resource-management

## Description

This connector lets you handle complex public administration tasks using only conversational commands. Instead of navigating multiple dashboards or running SQL queries, your AI client talks directly to OpenGov's data layer. You can instantly list all available reports, fetch specific financial data rows in JSON or CSV format, and even inspect the metadata schema before requesting a full dataset. Need to manage staff? Use it to create, update, or retrieve details for any user profile or department structure. It makes tracking budgetary allocations simple. Because this MCP is hosted on Vinkius, you connect once from your preferred AI client—whether that's Cursor, Claude, or Windsurf—and gain access to the entire catalog of connected services.

## Tools

### create_department
Creates a brand new department record within the OpenGov system.

### create_user
Adds and sets up an entirely new user profile in OpenGov.

### get_fund
Retrieves all detailed financial information for a single, specific fund ID.

### get_report_data
Pulls the actual data rows from a designated report into your chat environment.

### get_report_metadata
Shows you the structure and schema of any available report without downloading the data itself.

### get_user
Fetches all detailed information for an existing OpenGov user by their unique ID.

### list_departments
Provides a comprehensive list of every department registered in the system.

### list_funds
Lists all currently active financial funds that are tracked by OpenGov.

### list_reports
Returns a list of every report available for querying in the system.

### list_users
Retrieves a basic directory listing of all current OpenGov users.

### update_user
Modifies existing details, roles, or statuses for an already defined user profile.

## Prompt Examples

**Prompt:** 
```
Show me all the reports I have access to in OpenGov.
```

**Response:** 
```
I've retrieved the list of reports. You have access to 'Annual Budget 2024', 'Departmental Expenses', and 'Grant Tracking'. Which one would you like to explore?
```

**Prompt:** 
```
Get the data for report ID 'rep-123' in CSV format.
```

**Response:** 
```
Fetching data for report 'rep-123' in CSV format... I've processed the rows. Would you like me to summarize the financial highlights or provide the raw output?
```

**Prompt:** 
```
Create a new user with email 'admin@city.gov' as an Admin.
```

**Response:** 
```
I've created the user 'admin@city.gov' with the Admin role. They should now appear in your user list and have access to the platform.
```

## Capabilities

### Access Reports and Schemas
List available reports, fetch raw data rows for specific reports, and retrieve metadata schemas to understand data structures.

### Manage User Accounts
Create new user profiles, update existing staff details, or get full information on any user within the OpenGov system.

### Handle Departments and Funds
List all departments in the organization and retrieve detailed financial records for specific funds using their unique identifiers.

## Use Cases

### Auditing Departmental Changes
An auditor needs to verify which departments exist and who manages them. Instead of running a report on the internal portal, they ask their agent to run `list_departments` followed by `list_users`. This gives them an instant, consolidated view of organizational structure and personnel access.

### Quick Financial Deep Dive
A budget manager needs data on a specific grant fund. Instead of searching through complex financial dashboards, they ask the agent to `get_fund` by ID. They immediately receive all necessary financial details in structured JSON format for quick review.

### Onboarding New Staff
An HR specialist needs to bring a new employee online. Instead of manually creating records, they instruct their agent to `create_user` with the correct credentials and then use `update_user` if any role adjustments are needed.

### Researching Available Data
A data analyst is unsure which reports exist for a new project. They simply ask their agent to execute `list_reports`. This provides the full catalog of available datasets, allowing them to select the perfect source without guessing.

## Benefits

- Stop manual navigation. Instead of logging into the OpenGov portal to see what reports exist, simply ask your agent to `list_reports` and get a full list instantly.
- Save time on schema validation. Before you write any code, use `get_report_metadata` to check the data structure for a report. You'll know exactly which fields are available before querying.
- Simplify user management. Forget logging into separate HR or IT systems; your agent can handle creating new staff using `create_user` or updating their roles with `update_user`.
- Track money better. Need to know the status of a specific budget? Use `get_fund` to pull all financial details for that fund ID directly, eliminating manual lookups in spreadsheets.
- Consolidate data access. If you need departmental info and user lists, your agent can handle both by calling `list_departments` and then `list_users`, keeping everything within one conversation thread.

## How It Works

The bottom line is that you manage complex government records by talking to them instead of clicking through dozens of web pages.

1. Subscribe to this MCP on Vinkius and enter your OpenGov API key.
2. Direct your AI client to use the connector. You can then ask it to list departments, funds, or reports using plain language.
3. Your agent runs the necessary commands against OpenGov's backend and returns structured data (JSON/CSV) directly into your chat window.

## Frequently Asked Questions

**How do I find out what data is available in OpenGov using OpenGov MCP?**
You start by running `list_reports`. This function gives you the names of all reports. After selecting one, use `get_report_metadata` to see the exact columns and schema before attempting to pull any data.

**Can OpenGov MCP help me add a new staff member?**
Yes. You can use `create_user` to build the profile, and if they need special access or departmental linking, you can follow up with `update_user` to finalize their account settings.

**What is the difference between `list_users` and `get_user` using OpenGov MCP?**
`list_users` provides a basic directory—it just gives you names. If you need full details, like their department or role status, you must use `get_user` with their unique ID.

**Does OpenGov MCP handle financial fund tracking?**
Absolutely. You can use `list_funds` to see all active funds, and then call `get_fund` to pull detailed financial records for any specific fund you are investigating.