122 lines
3.4 KiB
Markdown
122 lines
3.4 KiB
Markdown
# Calendly MCP Server - Build Complete ✅
|
|
|
|
## Task Completed
|
|
|
|
Built a **COMPLETE** Calendly MCP server at:
|
|
`/Users/jakeshore/.clawdbot/workspace/mcpengine-repo/servers/calendly/`
|
|
|
|
## What Was Built
|
|
|
|
### 1. API Client (src/clients/calendly.ts)
|
|
- ✅ Calendly API v2 implementation
|
|
- ✅ Personal Access Token & OAuth2 Bearer auth
|
|
- ✅ Automatic pagination handling
|
|
- ✅ Comprehensive error handling
|
|
- ✅ Type-safe responses
|
|
|
|
### 2. MCP Tools (27 total across 6 files)
|
|
|
|
**events-tools.ts (8 tools)**
|
|
- calendly_list_scheduled_events
|
|
- calendly_get_event
|
|
- calendly_cancel_event
|
|
- calendly_list_event_invitees
|
|
- calendly_get_invitee
|
|
- calendly_list_no_shows
|
|
- calendly_mark_no_show
|
|
- calendly_unmark_no_show
|
|
|
|
**event-types-tools.ts (3 tools)**
|
|
- calendly_list_event_types
|
|
- calendly_get_event_type
|
|
- calendly_list_available_times
|
|
|
|
**scheduling-tools.ts (3 tools)**
|
|
- calendly_create_scheduling_link
|
|
- calendly_list_routing_forms
|
|
- calendly_get_routing_form
|
|
|
|
**users-tools.ts (3 tools)**
|
|
- calendly_get_current_user
|
|
- calendly_get_user
|
|
- calendly_list_user_busy_times
|
|
|
|
**organizations-tools.ts (6 tools)**
|
|
- calendly_get_organization
|
|
- calendly_list_organization_members
|
|
- calendly_list_organization_invitations
|
|
- calendly_invite_user
|
|
- calendly_revoke_invitation
|
|
- calendly_remove_organization_member
|
|
|
|
**webhooks-tools.ts (4 tools)**
|
|
- calendly_list_webhook_subscriptions
|
|
- calendly_create_webhook_subscription
|
|
- calendly_get_webhook_subscription
|
|
- calendly_delete_webhook_subscription
|
|
|
|
### 3. React MCP Apps (12 total)
|
|
|
|
All with dark theme, standalone structure (App.tsx, index.html, vite.config.ts, styles.css):
|
|
|
|
1. **event-dashboard** - Overview of scheduled events with stats
|
|
2. **event-detail** - Detailed event information viewer
|
|
3. **event-grid** - Calendar grid view of events
|
|
4. **event-type-manager** - Manage and edit event types
|
|
5. **availability-calendar** - View available time slots
|
|
6. **invitee-list** - Manage event invitees
|
|
7. **scheduling-links** - Create single-use scheduling links
|
|
8. **org-members** - Organization member management
|
|
9. **webhook-manager** - Webhook subscription management
|
|
10. **booking-flow** - Multi-step booking interface
|
|
11. **no-show-tracker** - Track and manage no-shows
|
|
12. **analytics-dashboard** - Metrics and insights dashboard
|
|
|
|
### 4. Supporting Files
|
|
|
|
- ✅ **src/types/index.ts** - Complete TypeScript type definitions
|
|
- ✅ **src/server.ts** - MCP server setup with all handlers
|
|
- ✅ **src/main.ts** - Entry point supporting both stdio and HTTP modes
|
|
- ✅ **package.json** - Dependencies and scripts
|
|
- ✅ **tsconfig.json** - TypeScript configuration
|
|
- ✅ **README.md** - Comprehensive documentation
|
|
|
|
## Build Status
|
|
|
|
✅ TypeScript compilation successful
|
|
✅ All 27 tools registered
|
|
✅ All 12 React apps created
|
|
✅ Committed to mcpengine repository
|
|
✅ Pushed to GitHub (BusyBee3333/mcpengine)
|
|
|
|
## File Stats
|
|
|
|
- **Total TypeScript/React files**: 85+ files
|
|
- **Tool code**: 941 lines across 6 files
|
|
- **Apps**: 12 standalone React apps
|
|
- **Build output**: dist/ with compiled JS + source maps
|
|
|
|
## Usage
|
|
|
|
```bash
|
|
cd /Users/jakeshore/.clawdbot/workspace/mcpengine-repo/servers/calendly
|
|
|
|
# Stdio mode (default for MCP)
|
|
export CALENDLY_API_KEY="your_key"
|
|
npm start
|
|
|
|
# HTTP mode
|
|
npm run start:http
|
|
```
|
|
|
|
## Repository
|
|
|
|
Committed and pushed to:
|
|
- **Repo**: https://github.com/BusyBee3333/mcpengine
|
|
- **Path**: `servers/calendly/`
|
|
- **Commit**: 8e9d1ff
|
|
|
|
---
|
|
|
|
**Status**: ✅ COMPLETE - Ready for production use
|