- Home
- MCP servers
- GovNavigator
GovNavigator
- python
0
GitHub Stars
python
Language
4 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"krishangmittal-govnavigator": {
"command": "python",
"args": [
"-m",
"src.mcp_server.server"
]
}
}
}GovNavigator is an MCP server that lets you search Madison, WI municipal ordinances using a Claude-compatible MCP client. It provides fast, TF-IDF-based semantic search with citation-ready results to help you answer questions about local regulations.
How to use
To use GovNavigator, connect your MCP client to the GovNavigator MCP server and issue search queries against Madison’s municipal code. You can ask practical questions like whether a certain fence height is allowed, what permit is required for a food truck, or what the noise regulation quiet hours are. The server returns relevant ordinance sections with precise citations so you can verify the exact text. Use the available search tool to find sections, then use the details tool to pull the full text of a specific section.
How to install
Prerequisites you need before installing GovNavigator:
Step by step setup
# Create a virtual environment
python -m venv .venv
# Activate (Windows PowerShell)
.\.venv\Scripts\Activate.ps1
# Activate (Mac/Linux)
source .venv/bin/activate
# Install dependencies
pip install -e .
Optional data scraping is supported but data is included in the build. If you want to scrape data yourself, use the provided scraper module to fetch the ordinance data and build the index.
# Optional: scrape data (if you choose to refresh data)
python -m src.scraper.municode_scraper
# Build the search index
python -m src.search.index
Configure the MCP client to connect to GovNavigator. The following local config runs the MCP server from the project and makes it available to Claude Desktop or other MCP clients.
{
"mcpServers": {
"govnavigator": {
"command": "python",
"args": ["-m", "src.mcp_server.server"]
}
}
}
Additional setup notes
The GovNavigator project uses Playwright for scraping, a TF-IDF index for semantic search, and an MCP server that exposes two tools to clients.
Project structure
GovNavigator/ ├── src/ │ ├── scraper/ # Web scraper for Municode │ │ └── municode_scraper.py │ ├── search/ # TF-IDF search engine │ │ └── index.py │ └── mcp_server/ # MCP server implementation │ └── server.py ├── data/ │ ├── raw/ # Scraped ordinance data │ └── processed/ # Search index └── pyproject.toml # Project configuration
What the MCP server provides
The server exposes two MCP tools that Claude can call to fulfill queries against Madison’s municipal code:
- search_ordinance: Find relevant code sections based on a query
- get_ordinance_details: Retrieve the full text of a specific section for citation and review
Security and usage notes
Treat the server as you would any sensitive municipal data source. Do not expose internal scraping or indexing mechanisms publicly. Use the citation URLs and section numbers returned by the tools to reference specific ordinances in replies to users.
Available tools
search_ordinance
Search for relevant ordinance sections based on a user query and return matching sections with citations.
get_ordinance_details
Retrieve the full text of a specified ordinance section for review and citation.