parknyc-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@parknyc-mcpStart 15 minutes of parking at zone 12345 with my car"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
parknyc-mcp
MCP server for ParkNYC (Flowbird) -- manage your NYC parking sessions, vehicles, and zones from any MCP client (Claude Code, Claude Desktop, etc.).
Note: The Flowbird consumer API is undocumented. This server was built by reverse-engineering the ParkNYC web app JavaScript bundles. No public API docs exist.
Setup
1. Install and build
git clone <repo-url> parknyc-mcp
cd parknyc-mcp
npm install
npm run build2. Get your session cookies
The API authenticates via browser cookies. You need three: PHPSESSID, server, and user.
Open my.nyc.flowbirdapp.com in Chrome and log in. Check "Keep me logged in" to extend cookie lifetime from ~30 minutes to days/weeks.
Open DevTools (
Cmd+Option+I) and go to the Network tabFilter for
customer/getand refresh the pageClick the
customer/getrequestUnder Request Headers, find the Cookie line
Copy the full value -- it will look something like:
server=.apachen2; PHPSESSID=abc123...; user=def456...
Important: Do not include the
g_statecookie if present -- it contains JSON braces that break the config file. You only needPHPSESSID,server, anduser.
3. Configure your MCP client
Claude Code
Add a .mcp.json file to your project root:
{
"mcpServers": {
"parknyc": {
"command": "node",
"args": ["/path/to/parknyc-mcp/dist/index.js"],
"env": {
"PARKNYC_COOKIES": "server=.apachen2; PHPSESSID=your_session_id; user=your_user_cookie"
}
}
}
}Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"parknyc": {
"command": "node",
"args": ["/path/to/parknyc-mcp/dist/index.js"],
"env": {
"PARKNYC_COOKIES": "server=.apachen2; PHPSESSID=your_session_id; user=your_user_cookie"
}
}
}
}4. Session expiry
Cookies expire periodically. If you checked "Keep me logged in", they should last days to weeks. Without it, sessions expire in ~30 minutes. When you start getting 401 errors, repeat step 2 to get fresh cookies and update your config.
Related MCP server: Palo Alto Networks MCP Server
Environment Variables
Variable | Required | Description |
| Yes | Full cookie string from browser (must include |
| No | Language code for API responses (default: |
Available Tools
Read
Tool | Description |
| Get your account profile (name, email, phone, address) |
| Get currently active/ongoing parking sessions |
| Get past parking sessions with pagination |
| Get details of a specific parking order by ID |
| List all registered vehicles |
| Search for a parking zone by number |
| Get zone details (facility ID or POS number) |
| Get saved/favorite parking locations |
| Get payment methods on file (cards, e-wallet) |
Write
Tool | Description |
| Start a new parking session at a zone |
| Stop an active parking session early |
| Extend an active parking session |
| Cancel a parking order |
| Register a new vehicle |
| Remove a vehicle from your account |
| Save a parking zone as a favorite |
| Remove a saved favorite |
Example Usage
> Show my parking history from this week
> Do I have any active parking sessions?
> What vehicles are on my account?
> Search for zone 12345
> How much have I spent on parking this month?
> Start 15 minutes of parking at zone 12345 with my carHow It Works
The Flowbird/ParkNYC web app at my.nyc.flowbirdapp.com is a PHP-backed Angular SPA. This MCP server mimics the browser's API calls:
Auth: Three cookies (
PHPSESSIDfor PHP session,serverfor load balancer affinity,userfor the auth identity token)Headers:
X-MPP-Brand: parknycon every requestParams:
platform=nyc,version=2.0.21+1792, andrt=<timestamp>on every requestHistory: Uses
/api/search/order/withx-api-caller: customerheaderParking: Two-step flow --
order/create(proposal) thenorder/confirm(payment)
Limitations
No programmatic login: The login endpoint requires reCAPTCHA, so cookies must be obtained manually from a browser session
Cookie expiry: PHP sessions and the
usercookie expire; you'll need to refresh them periodicallyStart parking: The
start_parkingtool needs the zone'susertypevalue which varies by zone. This is still being refined and may not work for all zonesRate limits: Rapid API calls may trigger 503 responses from the server
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ltyu/parknyc-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server