- Home
- MCP servers
- MCP Parking Server
MCP Parking Server
- typescript
0
GitHub Stars
typescript
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": {
"m-umemura-pitdesign-pit-mcp": {
"command": "python",
"args": [
"-m",
"src.server"
],
"env": {
"DB_HOST": "localhost",
"DB_NAME": "parking_system",
"DB_PORT": "3306",
"DB_USER": "readonly_user",
"DB_PASSWORD": "secure_password"
}
}
}
}You will run a read-only MCP server that provides parking lot data and billing configuration by querying the database. It is designed to be accessed by an MCP client to perform safe, read-only operations and schema-context awareness for business understanding.
How to use
Start by configuring and running the MCP Parking Server locally. The server is designed to be connected by an MCP client to perform read-only queries such as searching for parking entries, retrieving billing configurations, and executing safe read-only SQL.
How to install
pip install -e .
cp .env.example .env
# Edit the .env file to configure database connection information
-- Recommended: create a read-only database user --
CREATE USER 'readonly_user'@'%' IDENTIFIED BY 'secure_password';
GRANT SELECT ON parking_system.parkings TO 'readonly_user'@'%';
GRANT SELECT ON parking_system.parking_configs TO 'readonly_user'@'%';
GRANT SELECT ON parking_system.parking_rates TO 'readonly_user'@'%';
GRANT SELECT ON parking_system.parking_sessions TO 'readonly_user'@'%';
FLUSH PRIVILEGES;
mcp-parking-server
Configuration and operation
The server can be started after dependencies are installed and the environment is prepared. Use the provided command to launch the MCP Parking Server locally.
mcp-parking-server
Connecting from an MCP client
Below is an example configuration for a client to connect to the server in a controlled runtime environment. You will run the server locally using Python and connect the client with the appropriate environment variables for the database.
{
"mcpServers": {
"parking": {
"command": "python",
"args": ["-m", "src.server"],
"cwd": "/path/to/mcp-parking-server",
"env": {
"DB_HOST": "localhost",
"DB_PORT": "3306",
"DB_USER": "readonly_user",
"DB_PASSWORD": "secure_password",
"DB_NAME": "parking_system"
}
}
}
}
Security and best practices
Operate with a dedicated read-only database user and restrict access to only required tables. Enforce read-only transactions, set appropriate timeouts, and keep access to production data tightly controlled. Maintain logs for tool usage and auditing.
# Example: ensure read-only transaction on connect
await cursor.execute("SET SESSION TRANSACTION READ ONLY")
# Query timeout example (default 30 seconds)
await asyncio.wait_for(
cursor.execute(query, params),
timeout=self.config.query_timeout
)
# Connection pool limits
pool_min_size=1
pool_max_size=5
Tools and capabilities
The server exposes a set of tools to interact with parking data and configurations. Each tool provides a focused capability for end users.
Notes on privacy and data handling
Certain fields may contain personal information. Identify such fields in the schema context and minimize exposure to unnecessary access. Masking can be applied where appropriate to protect sensitive data.
Troubleshooting
If the server cannot connect to the database, verify credentials and host information in the environment configuration. Check that the read-only user has the required SELECT permissions on the target tables. Review logs to identify prohibited query patterns that may be blocked by validation layers.
Available tools
search_parking
Search parking entries by name, code, or ID.
get_parking_config
Retrieve configuration details for a parking facility.
get_night_rate_config
Obtain night-time billing rate configurations.
execute_readonly_sql
Run read-only SQL queries with safety and validation.
get_schema_context
Fetch the schema context to understand business domains.
explain_term
Explain domain-specific terms used in the parking domain.
suggest_approach
Provide recommended query approaches for common tasks.