# IP Parking MCP

> IP Parking connects your AI agent directly to a Parking Access and Revenue Control System (PARCS). It lets you monitor site occupancy, adjust tariffs instantly, remotely open gates, and audit transactions—all through natural conversation. Stop logging into separate dashboards; manage your entire parking infrastructure from one place.

## Overview
- **Category:** erp-operations
- **Price:** Free
- **Tags:** parking-management, anpr, occupancy-tracking, revenue-control, tariff-management, hardware-integration

## Description

Need to manage a complex parking operation? This MCP gives your AI client control over the full PARCS stack. You can check real-time occupancy across multiple sites, view current tariff rates, and even remotely open stuck gates for maintenance crews—all without touching a central dashboard. For instance, if you need to adjust pricing or see exactly who paid what yesterday, your agent handles it. It reads site status, checks hardware health (like ANPR cameras), and compiles transaction logs instantly. Connecting this via Vinkius means you get full access to the catalog, making sure your AI client can talk to all your systems, not just one parking backend. You manage everything from tariffs to gate control through simple chat prompts.

## Tools

### register_anpr
Simulates or manually registers an entry/exit event using a license plate number, useful for testing.

### control_gate
Sends a command to remotely open or close a barrier gate.

### list_hardware
Checks the operational status (ANPR cameras, dispensers, gates) for all connected hardware.

### get_site_status
Pulls the current occupancy and revenue figures for any managed parking site.

### list_sites
Lists every single managed parking site location under the system's control.

### get_system_health
Retrieves the overall connectivity status of the entire parking infrastructure.

### list_tariffs
Retrieves a list of all active pricing and rate rules currently in use.

### get_ticket_details
Fetches all information associated with a specific parking ticket or session ID.

### list_transactions
Gathers recent exit logs and revenue records for auditing purposes.

### update_tariff
Changes the active tariff rates or pricing rules across multiple sites.

## Prompt Examples

**Prompt:** 
```
Show me the occupancy of Site A.
```

**Response:** 
```
Site A: 142 available spaces out of 200 (71% full). Today's revenue: €1,250.
```

**Prompt:** 
```
Open gate 3 for a manual exit.
```

**Response:** 
```
Gate 3 command sent: 'open'. Barrier is now open. Ticket cycle reset.
```

**Prompt:** 
```
Update tariff 'Standard' to €4.50 per hour.
```

**Response:** 
```
Tariff 'Standard' updated successfully. New rate: €4.50/hr. All ticket machines synchronized.
```

## Capabilities

### Check Site Status and Revenue
Get real-time counts of available spaces and the total revenue generated for any managed site.

### Control Physical Gates
Remotely send commands to open or close barriers for immediate maintenance or access needs.

### Adjust Pricing Rules
Modify hourly rates, pricing caps, and tariff structures instantly without manual backend updates.

### Audit Transactions
List recent exit logs and specific ticket details to verify daily income or track a session.

### Monitor System Health
Verify the connectivity status of cameras, dispensers, and gates across the entire network.

## Use Cases

### Need to confirm revenue for the day.
The auditor needs to know if Site B collected enough cash. They prompt their agent: 'Show me all transactions from yesterday.' The agent uses `list_transactions` and confirms the total, preventing a manual audit delay.

### A gate is stuck during peak hours.
The support tech gets a call about Gate 5. They ask their agent to 'Open Gate 5 immediately.' The agent calls `control_gate`, sending the command and confirming the barrier state, getting people moving fast.

### Pricing needs an emergency change.
The Ops Manager sees high demand after hours. They instruct their AI client to 'Increase the overnight rate by 20%.' The agent uses `update_tariff` and confirms all connected machines are synchronized with the new price.

### Simulating a test run for maintenance.
The engineer needs to test a payment flow without actual entry/exit. They use `register_anpr`, simulating an exit event for a specific plate, which tests the full revenue cycle path.

## Benefits

- You can check site occupancy status instantly. Instead of logging into the central management system to run a report, your agent executes `get_site_status` on demand, giving you current capacity and revenue figures immediately.
- Tariff adjustments are now conversational. You don't need an admin panel login; just tell the agent to update rates using `update_tariff`, and it handles syncing that change across all machines.
- Gate control is immediate. If a barrier sticks, running `control_gate` opens or closes it remotely. This saves time when support teams are spread out or working after hours.
- Auditing becomes simple. Forget digging through database tables. You run `list_transactions` to get recent exit logs and verify daily revenue in plain text format.
- Hardware failure is flagged fast. Running `list_hardware` gives a quick, comprehensive check on ANPR cameras or ticket dispensers before you even realize they're down.

## How It Works

The bottom line is: your AI client speaks directly to your parking hardware and revenue backend, treating it like another API endpoint.

1. First, you subscribe to this MCP and provide your IP Parking API Key and Base URL.
2. Next, your AI client uses that connection info to establish a live link to the parking system's core services.
3. Finally, you give a natural language command—like 'Open Gate 3 for maintenance'—and the agent executes the necessary action.

## Frequently Asked Questions

**How does I use the list_sites tool with IP Parking MCP?**
You ask your agent to 'list all managed sites.' The agent calls `list_sites` and provides you with a clean, comprehensive list of every location under the system's control.

**Can I change pricing using the update_tariff tool?**
Yes. You instruct your AI client to adjust rates by calling `update_tariff`. This updates the active hourly rates and ensures all connected ticket machines are synchronized with the new rules.

**What is the best way to check hardware status using list_hardware?**
You prompt your agent to 'check system health.' It uses `list_hardware` to report on every component, letting you know immediately if ANPR cameras or ticket dispensers are offline.

**How do I find a specific parking session with get_ticket_details?**
Provide the unique ticket ID or plate number and ask your agent to 'get details for this ticket.' The agent uses `get_ticket_details` and returns everything from entry time to paid amount.

**How do I use list_transactions to review daily revenue logs?**
It pulls a full list of recent exit transactions and revenue records. This lets auditors verify the day's income quickly, showing timestamps and amounts for every recorded exit.

**If I need to open a barrier manually, how do I use control_gate?**
You send a direct command specifying the gate number and action ('open' or 'close'). This is perfect for maintenance when barriers get stuck and you can’t physically access them.

**What does get_system_health check for regarding overall site functionality?**
It provides a single overview of the system's connectivity status. It confirms if essential components, like cameras or ticket machines, are communicating properly across the entire network.

**How can I test my ANPR system using register_anpr?**
You simulate an entry or exit event by providing a license plate number and location data. This is useful for testing new hardware installations without needing physical site access.

**Can I remotely open a barrier for a customer?**
Yes! Use the control_gate action with the gate_id and action 'open'. This is essential for remote assistance when ticket machines fail.

**How do I check the current occupancy of a site?**
Use get_site_status with the site_id. It returns the number of available spaces versus total capacity and today's revenue.

**Can I update hourly rates on the fly?**
Yes! Use update_tariff with the tariff_id and the new rate_per_hour. Changes are usually applied immediately to the ticket dispensers.