Kadro MCP server
kadro-mcp-server
An MCP (Model Context Protocol) server that lets AI assistants search Kadro
photographers/packages and book a guest reservation on a user's behalf,
ending with a payment link — the assistant never touches payment or login
itself. It's a thin wrapper around Kadro's Api::Agent::V1 REST API (see
the Main-Rails repo, app/controllers/api/agent/v1/).
Tools
search_shoot_types— list service types and their ids.search_photographers— find photographers for a shoot_type_id (+ optional city_id).get_photographer_packages— a photographer's real packages and prices.create_reservation— place a 15-minute guest hold. No payment involved.get_payment_link— a URL for the human to open themselves to verify their phone and pay. This is the boundary: no tool here ever asks for or handles card details, OTP codes, or passwords.get_reservation_status— check payment/confirmation status. Paid is not the same as confirmed — see the tool description.
Related MCP server: Jagir
Setup
npm install
cp .env.example .env
npm run register -- "your-platform-name" "you@example.com" # prints a token
# paste the printed KADRO_API_TOKEN into .env
npm run build
npm start # listens on :3100 (or $PORT), MCP endpoint is POST /mcpThe registration is self-service and instant, capped at a daily_limit of 5
requests/day by default (see ApiPartner in Main-Rails). Email Kadro to
request a higher limit for this server's token once it's actually deployed.
Running with Docker
docker build -t kadro-mcp-server .
docker run -p 3100:3100 --env-file .env kadro-mcp-serverDeploying on the same server as the Rails app
This is a separate Node process from the Rails app — it does not go through Capistrano. A reasonable setup, matching this server's existing Docker usage for other services (gitlab, typesense):
Build and run the Docker image above on the server (or run
npm run build && npm startunder a process manager likesystemdorpm2).Point a path or subdomain at it through whatever already terminates TLS for kadro.co (nginx, based on the existing setup). Example nginx snippet — adjust to match the real server-block layout, this repo has no visibility into it:
location /mcp { proxy_pass http://127.0.0.1:3100/mcp; proxy_set_header Host $host; proxy_http_version 1.1; proxy_set_header Connection ""; }The public MCP endpoint ends up at something like
https://www.kadro.co/mcporhttps://mcp.kadro.co/mcp— whichever this repo's operator prefers. Put that URL inpublic/llms.txt(Main-Rails) once it's live, alongside the plain REST API section already there.
Verifying it's alive
curl https://<wherever-it's-deployed>/healthz # -> okTool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Search and book live flights and hotels. No API key; the traveller confirms on their phone.
Find local services, read availability, and create short-lived booking holds.
Find local service businesses and send requests the owner confirms. Sandbox by default.
Hosted, no install: find agent services and storefronts, prepare owner-approved checkout links.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables AI agents and clients to check table availability and book restaurant reservations for a given date, time, and party size, returning either a confirmed booking or the nearest alternative slots. It also supports idempotent retries so replayed requests return the original reservation rather than double-booking a table.-
- AlicenseAqualityBmaintenanceEnables AI assistants to search and compare vacation rentals across Jabama, Jajiga and Otaghak at once, normalizing prices, Jalali/Gregorian dates, amenities, ratings, calendars and full guest reviews into one schema. It runs read-only and locally, providing merged results with direct booking links while withholding host and reviewer identities.611 npm3MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to discover availability, place expiring holds, and confirm or cancel appointments for connected booking businesses, with idempotent retries and explicit user consent.1Apache 2.0
- AlicenseAqualityBmaintenanceEnables AI agents to search Iranian villas, cottages, and apartments, check nightly availability, calculate exact stay totals for dates and guests, and read reviews and host statistics. It is a read-only stdio MCP server with no login, booking, payment, or SMS endpoints.15208 PyPI2MIT