co.addressintel/permits
SF Peninsula building permits and parcel buildability: SB 9, ADU and redevelopment leads.
Open source Open in the app JSON README (API)
About
SF Peninsula building permits and parcel buildability: SB 9, ADU and redevelopment leads.
Details
- Kind
- MCP servers
- Topic
- No topic detected
- Publisher
- co.addressintel
- Origin
- official
- Category
- ferramentas
- Transport
- local
- Version
- 1.1.2
- Last push
- 2026-08-19T18:19:49Z
- Repository state
- ativo
- Language
- JavaScript
- License
- MIT
- Added
- 2026-08-29 03:00:51
- Updated
- 2026-08-29 03:00:51
- Origin id
co.addressintel/permits
README
# AddressIntel MCP server
A read-only [Model Context Protocol](https://modelcontextprotocol.io) server that puts
SF Peninsula building-permit and parcel-buildability data inside Claude, ChatGPT, or any
other MCP-capable agent.
It is a thin client over the public AddressIntel API, so it inherits that API's auth,
rate limits and tier ceilings. Every tool is a `GET`. Nothing here can write.
## Tools
| Tool | What it answers |
|---|---|
| `search_permits` | What construction has actually been permitted at an address or in a city? Filters on city, keyword (address, project type, scope description, contractor, architect, permit number) and minimum valuation. |
| `list_sb9_inventory` | Which active listings can be split or duplexed under SB 9, and what blocks the ones that can't? |
| `list_adu_leads` | Which parcels have room for an ADU, and how many units / how much square footage? |
| `list_redevelopment_leads` | Which parcels are underbuilt against their allowable envelope (scrape-and-rebuild or expansion)? |
| `list_market_signals` | Which listings score highest for teardown or flip potential? |
| `get_property_intelligence` | Full scores and comparable sales for one property id. |
The permit and parcel tools are the differentiated half: permit-level detail and
parcel-level buildability for the Peninsula, rather than a nationwide owner list.
## Install
No install step: `npx` fetches it on demand.
### Claude Code
```bash
claude mcp add addressintel \
-e ADDRESSINTEL_API_KEY=your_key \
-- npx -y addressintel-mcp
```
### Claude Desktop
Add to `claude_desktop_config.json`:
```json
{
"mcpServers": {
"addressintel": {
"command": "npx",
"args": ["-y", "addressintel-mcp"],
"env": {
"ADDRESSINTEL_API_KEY": "your_key"
}
}
}
}
```
### From source
For working on the server itself:
```bash
git clone https://github.com/RantumBits/addressintel-mcp.git
cd addressintel-mcp
npm install
npm run build # emits dist/index.js
```
Then point the client at `node /absolute/path/to/addressintel-mcp/dist/index.js` instead of
the `npx` command above.
Restart the client, then ask it something like *"what demolition permits were issued in
Menlo Park this year?"* or *"which Palo Alto listings are SB 9 eligible?"*
## Configuration
| Variable | Default | Notes |
|---|---|---|
| `ADDRESSINTEL_API_KEY` | `demo` | Without a key the server uses the public demo tier: 10 requests/minute, 5 rows per call. Grab a free key at https://addressintel.co/developers for 30/min and 25 rows; the key is emailed to the address you enter. |
| `ADDRESSINTEL_API_BASE` | `https://addressintel.co/api` | Point at a local dev server (`http://localhost:3000/api`) when working on the API. |
## Development
```bash
npm run dev # run from source over stdio
node test_mcp.mjs # smoke test: connect, list tools, call one
```
Tools are declared in one table in `src/index.ts`. Each entry carries its zod schema and
its advertised JSON Schema side by side, so adding a tool means adding one entry, and the
two shapes cannot drift apart.