Show HN: Kalendis – Scheduling API (keep your UI, we handle timezones/DST)
Show HN (score: 5)Description
What it does:
• MCP tool: generates typed clients and API route handlers (Next.js/Express/Fastify/Nest) so you can scaffold calls straight from your IDE/agent tooling.
• Availability engine: recurring rules + one-off exceptions/blackouts, returned in a clean, queryable shape.
• Bookings: conflict-safe endpoints for creating/updating/canceling slots.
Why we built it:
We kept rebuilding the same "hard parts" of scheduling: time zones/DST edge cases, recurring availability, conflict-aware booking, etc. We wanted a boring, reliable backend so we could ship product features without adopting a hosted scheduling UI.
How it's helped:
We stopped re-implementing DST/recurrence math and shipped booking flows faster.
One small team (just 2 developers) built a robust booking platform for their business using Kalendis—they kept full control of their UX without spending lots of cycles on scheduling infrastructure.
The MCP generator cut the glue code: drop in a typed client or route, call the API, move on.
Some tech details:
• REST API with ISO-8601 timestamps and IANA time zones
• Recurring availability + one-off exceptions (designed to compose cleanly)
• Focused scope: users, availability, exceptions, bookings (not a monolithic suite)
MCP integration:
MCP server exposes tools like generate-frontend-client, generate-backend-client, generate-api-routes, and list-endpoints.
Add to your MCP settings:
{ "mcpServers": { "kalendis": { "command": "npx", "args": ["-y", "@kalendis/mcp"] } } }
How to try it:
Create a free account → get an API key. (https://kalendis.dev)
Hit an endpoint:
curl -H "x-api-key: $KALENDIS_API_KEY" \ "https://api.kalendis.dev/v1/availability/getAvailability?userId=<user-id>&start=2025-10-07T00:00:00Z&end=2025-10-14T00:00:00Z&includeExceptions=true"
What feedback would be most useful:
Gaps in the endpoint surface (what's missing for your use case?).
Features that would benefit this service integration in your app.
MCP generator output—anything you'd want it to emit differently?
Happy to answer questions and post example snippets in the thread. Thanks for taking a look!
— Dave (Kalendis)
More from Show
Show HN: Widen – Open-source Mac Postgres GUI with local or cloud text-to-SQL
Show HN: Widen – Open-source Mac Postgres GUI with local or cloud text-to-SQL Github: <a href="https://github.com/betocmn/widen" rel="nofollow">https://github.com/betocmn/widen</a><p>I was paying for DataGrip for several years as my desktop database GUI but if I wanted text-to-SQL with LLMs I'd have to pay even more on top. So I decided to build my own and I've been using it for a few weeks now.<p>At any time I'm usually working with 3 to 6 databases, and having them set up in something like Conductor (for parallel agentic coding), but for Postgres databases, lets me quickly start a session, ask questions to my database in plain English, get a data export, move on and close the session. It's been working well and I thought I would share it here.<p>It's a native Mac app (Swift), free and open source (MIT). For the LLM you bring your own OpenRouter key, or there's an experimental on-device mode using Apple's local model, where nothing leaves your Mac. Cloud mode only sends the question and schema metadata, not your data, unless you explicitly turn that on per connection.
No other tools from this source yet.