Gudcal Core
Schedule Smarter in the AI Agent Era Open-source scheduling infrastructure with MCP server, team scheduling, and smart availability. Self-host or use our cloud.
Installation
npx gudcal-coreAsk AI about Gudcal Core
Powered by Claude Β· Grounded in docs
I know everything about Gudcal Core. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
GudCal
Open-source scheduling infrastructure for the AI agent era.
Self-hostable Calendly alternative with MCP server, team scheduling, and smart availability.
GitHub Β· Features Β· Quick Start Β· Docker Β· Contributing
Features
- Agent-First β 18 MCP tools + full REST API for complete autonomous scheduling
- Smart Scheduling β Event types, availability rules, buffer times, timezone-aware booking pages
- Calendar Sync β Google Calendar integration with conflict detection and event creation
- MCP Server β Built-in Model Context Protocol server for AI agent scheduling
- Teams β Organizations with round-robin and collective scheduling
- API & Webhooks β REST API with key authentication and real-time booking webhooks
- Video Conferencing β Auto-generate Zoom and Google Meet links on confirmation
- Self-Hostable β Deploy on your own infrastructure with full data ownership
- No Paywalls β All features unlocked. Unlimited event types, bookings, and calendars
Tech Stack
- Framework: Next.js (App Router)
- Language: TypeScript
- Database: PostgreSQL via Prisma
- Auth: Auth.js v5 with Google OAuth & Credentials
- Email: Resend & React Email
- UI: Tailwind CSS, Shadcn/ui, Lucide
- MCP: @modelcontextprotocol/sdk
Quick Start
Prerequisites
- Node.js 20+
- pnpm
- PostgreSQL (or use Neon for a free hosted database)
Setup
- Clone the repository:
git clone https://github.com/gudlab/gudcal-core.git
cd gudcal-core
- Install dependencies:
pnpm install
- Copy the environment file and configure it:
cp .env.example .env.local
- Set up the database:
pnpm prisma generate
pnpm prisma db push
- Start the development server:
pnpm dev
Visit http://localhost:3000 to see GudCal running.
Docker
The fastest way to self-host GudCal.
Using Docker Compose (recommended)
- Clone the repo and create your
.envfile:
git clone https://github.com/gudlab/gudcal-core.git
cd gudcal-core
cp .env.example .env
- Set the required secrets in
.env:
AUTH_SECRET=$(openssl rand -base64 32)
- Start everything:
docker compose up -d
This starts PostgreSQL and GudCal on http://localhost:3000.
Using Docker directly
docker build -t gudcal .
docker run -p 3000:3000 \
-e DATABASE_URL="postgres://..." \
-e AUTH_SECRET="..." \
-e NEXT_PUBLIC_APP_URL="http://localhost:3000" \
gudcal
Environment Variables
Copy .env.example to .env.local and configure:
| Variable | Required | Description |
|---|---|---|
DATABASE_URL | Yes | PostgreSQL connection string |
AUTH_SECRET | Yes | Random secret for sessions |
NEXT_PUBLIC_APP_URL | Yes | Your deployment URL |
GOOGLE_CLIENT_ID | Yes | Google OAuth client ID |
GOOGLE_CLIENT_SECRET | Yes | Google OAuth client secret |
ENCRYPTION_KEY | Yes | 32-byte hex key for token encryption |
RESEND_API_KEY | No | For email notifications |
GOOGLE_CALENDAR_CLIENT_ID | No | For Google Calendar integration |
GOOGLE_CALENDAR_CLIENT_SECRET | No | For Google Calendar integration |
MCP Server
GudCal includes a built-in MCP server that lets AI agents manage scheduling:
- List event types and availability
- Create, confirm, and cancel bookings
- Manage organizations and team members
Connect any MCP-compatible AI client (Claude, GPT, etc.) to GudCal for autonomous scheduling.
Contributing
Contributions are welcome! Here's how to get started:
- Fork the repository
- Create a feature branch:
git checkout -b feature/my-feature - Commit your changes:
git commit -m "Add my feature" - Push to the branch:
git push origin feature/my-feature - Open a pull request
Please open an issue to discuss proposed changes before submitting large pull requests.
License
Business Source License 1.1. See LICENSE.md for details.
You can self-host, modify, and use GudCal freely. The only restriction is offering it as a competing hosted scheduling service. On February 18, 2030, the license automatically converts to Apache 2.0.
