MiniCab 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., "@MiniCab MCPGet me a sedan from Gachibowli to the airport around 6pm in Hyderabad."
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.
MiniCab MCP
MiniCab MCP is a TypeScript Node.js backend for a small cab dispatch system exposed through the Model Context Protocol. It uses MySQL 8, raw SQL via mysql2, Zod validation, Pino logging, and the official @modelcontextprotocol/sdk.
Features
MySQL schema with only the assignment tables: cities, drivers, vehicles, fare rules, bookings, and ledger.
Fare rules support global defaults, time-of-day surge rows, and city-specific partial overrides without duplicating every vehicle type for every city.
Hardcoded city route table for known pickup/drop points, as requested.
MCP stdio server for Claude Desktop.
Function-based repositories and services, with no app-owned classes or heavy framework abstractions.
Transactional booking with
SELECT ... FOR UPDATEto prevent two users booking the same cab.Server-side fare recalculation during booking.
Ledger entry creation when a ride is completed.
Jest tests for pure fare, route, and time helpers.
Related MCP server: Weather MCP Server
Requirements
Node.js 18 or newer
MySQL 8.0 or newer
npm
Setup Without Docker
Install dependencies:
npm installCreate the database and seed it:
mysql -u root -p < schema.sql
mysql -u root -p < seed.sqlCopy the environment file:
cp .env.example .envUpdate
.envif your MySQL credentials differ.Build the project:
npm run buildStart the MCP server:
npm startThe server uses stdio transport, so when Claude Desktop runs it, stdout is reserved for MCP protocol messages and logs go to stderr.
Claude Desktop Configuration
Build first with npm run build, then copy claude_desktop_config.example.json into your Claude Desktop config location and replace the placeholder path with your absolute project path.
Example:
{
"mcpServers": {
"minicab": {
"command": "node",
"args": [
"C:\\absolute\\path\\to\\minicab-mcp\\dist\\src\\index.js"
],
"env": {
"DB_HOST": "localhost",
"DB_PORT": "3306",
"DB_USER": "root",
"DB_PASSWORD": "root",
"DB_NAME": "minicab"
}
}
}
}Restart Claude Desktop after saving the config.
MCP Tools
search_cabs
Searches available active vehicles in a city for a pickup/drop route and optional vehicle type.
Input:
{
"city": "Hyderabad",
"pickup": "Gachibowli",
"drop": "RGIA Airport",
"vehicle_type": "sedan"
}get_fare_estimate
Returns fare estimates for all vehicle types without creating a booking.
Input:
{
"pickup": "Gachibowli",
"drop": "RGIA Airport",
"time": "18:00"
}book_ride
Creates a confirmed booking for a specific cab. The server recalculates the fare and does not trust client-provided fare amounts.
Input:
{
"cab_id": 1,
"pickup": "Gachibowli",
"drop": "RGIA Airport",
"rider_name": "Mohd Tabrez"
}cancel_ride
Cancels a confirmed booking and releases the vehicle.
Input:
{
"booking_id": 1
}Tested Example Prompts
Prompt: "Get me a sedan from Gachibowli to the airport around 6pm in Hyderabad."
Expected tool call:
{
"tool": "search_cabs",
"arguments": {
"city": "Hyderabad",
"pickup": "Gachibowli",
"drop": "RGIA Airport",
"vehicle_type": "sedan"
}
}Prompt: "How much would an SUV from Connaught Place to IGI Airport cost at 8:30am in Delhi?"
Expected tool call:
{
"tool": "get_fare_estimate",
"arguments": {
"pickup": "Connaught Place",
"drop": "IGI Airport",
"time": "08:30"
}
}Prompt: "Book cab 1 for Mohd Tabrez from Gachibowli to RGIA Airport at 6pm."
Expected tool call:
{
"tool": "book_ride",
"arguments": {
"cab_id": 1,
"pickup": "Gachibowli",
"drop": "RGIA Airport",
"rider_name": "Mohd Tabrez"
}
}Prompt: "Cancel booking 1."
Expected tool call:
{
"tool": "cancel_ride",
"arguments": {
"booking_id": 1
}
}Tests
npm testThe included tests cover pure logic that does not need MySQL. A production submission should add integration tests with a disposable MySQL container for transaction and lock behavior.
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.
Related MCP Servers
- Flicense-qualityDmaintenanceA Model Context Protocol server that provides current weather information and 3-day forecasts for specified cities using the Open-Meteo API.Last updated1
- Flicense-qualityCmaintenanceA Model Context Protocol server that interfaces with OpenWeatherMap API to provide real-time weather information and forecasts for cities worldwide.Last updated
- FlicenseAqualityDmaintenanceA Model Context Protocol server for Turkish taxi services that enables fare estimation, ride booking, and real-time tracking across providers like BiTaksi, iTaksi, and Uber.Last updated7
- Alicense-qualityDmaintenanceA Model Context Protocol server that enables flight searching, booking, and payment processing. It also provides access to resources like user profiles, pricing rules, and company travel policies.Last updatedMIT
Related MCP Connectors
Geo-based flight search MCP server. Find more flights between any two places on earth
A Model Context Protocol server for Wix AI tools
Hotel booking MCP server. Search, book, and manage reservations across 250K+ properties worldwide.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/tabrezsyed1998/minicab-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server