@kekwanulabs/syncline-mcp-server
v1.0.36
Published
Model Context Protocol server for Syncline - AI-powered meeting scheduling
Maintainers
Readme
Syncline MCP Server
Official Model Context Protocol (MCP) server for Syncline - AI-powered meeting scheduling.
📦 Other Implementations: Go (High Performance) • Python (Async)
All implementations are functionally identical and maintained in sync. Choose the one that fits your environment best.
What is MCP?
The Model Context Protocol (MCP) is an open protocol by Anthropic that enables AI models like Claude to securely interact with external tools and data sources. With Syncline's MCP server, Claude can autonomously schedule meetings, check availability, and manage calendars through natural conversation.
Features
- AI Auto-Scheduling: Let Claude pick the optimal meeting time using Syncline's learning AI
- Availability Checking: Find all available slots across attendees
- Calendar Status: Verify user calendar connections
- Manual Scheduling: Book meetings at specific times
- Context-Aware: Support for 13 meeting contexts (investor_call, team_standup, etc.)
- Smart Learning: Every booking improves Syncline's AI accuracy
Installation
Prerequisites
- Node.js 18 or higher
- A Syncline account with API key (Get one here)
- Claude Desktop app
1. Install the MCP Server
npm install -g @kekwanulabs/syncline-mcp-serverOr install locally in your project:
npm install @kekwanulabs/syncline-mcp-server2. Configure Claude Desktop
Add the Syncline MCP server to your Claude Desktop configuration:
macOS/Linux: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"syncline": {
"command": "npx",
"args": ["-y", "@kekwanulabs/syncline-mcp-server"],
"env": {
"SYNCLINE_API_KEY": "your_api_key_here"
}
}
}
}3. Restart Claude Desktop
Restart Claude Desktop to load the MCP server. You should see "Syncline" appear in the MCP tools list.
Usage
Once configured, Claude can use Syncline tools through natural conversation:
Example 1: AI Auto-Scheduling
You: Schedule a 30-minute investor call with [email protected] and [email protected]
sometime next week. Let the AI pick the best time.
Claude: I'll use Syncline's AI to find the optimal time for your investor call.
[Uses schedule_auto tool]
Perfect! I've scheduled your investor call for Tuesday, January 16th at 2:00 PM PST.
Why this time was chosen:
- Both attendees have high energy levels in early afternoon
- No meetings immediately before/after (buffer time)
- Fair timezone for all participants
- Aligns with typical investor call patterns
Calendar invites have been sent to all attendees.Example 2: Check Availability First
You: What times are available for a 1-hour meeting with [email protected]
next Monday?
Claude: Let me check availability for next Monday.
[Uses find_availability tool]
Here are the available slots for a 1-hour meeting on Monday, January 15th:
- 9:00 AM - 10:00 AM
- 11:30 AM - 12:30 PM
- 2:00 PM - 3:00 PM
- 4:00 PM - 5:00 PM
Which time works best for you?
You: Book the 2 PM slot
Claude: Done! I've scheduled the meeting for Monday, January 15th at 2:00 PM.
[Uses schedule_meeting tool]Example 3: Verify Calendar Connections
You: Can you check if [email protected] has connected their calendar?
Claude: [Uses get_user_calendar_status tool]
Yes, Alice has connected their Google Calendar.
Last synced: 2 minutes ago
Status: ActiveAvailable Tools
1. schedule_auto (Recommended)
AI-powered scheduling that picks the optimal time automatically.
When to use: When you want the best possible time without manual selection.
Parameters:
attendees: Array of email addressesduration_minutes: Meeting length (e.g., 30, 60)title: Meeting titlecontext: Meeting type (warm_intro, investor_call, team_standup, etc.)description: Optional agendanatural_language_context: NEW - Natural language description for Claude AI to determine meeting organizer (e.g., "Alice pitching to investor Bob")force_organizer: NEW - Override organizer detection by specifying an attendee emailearliest_date: Optional start of search windowlatest_date: Optional end of search windowlocation: Optional location (Zoom, Office, etc.)
NEW: Intelligent Organizer Detection 🤖
The natural_language_context parameter enables Claude AI to intelligently determine who should create the calendar event based on social dynamics:
- "Alice pitching to investor" → Alice organizes (requesting time)
- "Get on Maria's calendar for office hours" → Maria organizes (hosting)
- "Interview candidate" → Company organizes (hiring)
Falls back to first attendee if not provided or Claude unavailable.
2. find_availability
Find all available time slots.
When to use: When you want to see options or give the user choice.
Parameters:
attendees: Array of email addressesduration_minutes: Meeting lengthearliest_date: Start of search windowlatest_date: End of search window
3. schedule_meeting
Schedule a meeting at a specific time.
When to use: When you already know the desired time.
Parameters:
attendees: Array of email addressesstart_time: ISO 8601 timestampduration_minutes: Meeting lengthtitle: Meeting titledescription: Optional agendalocation: Optional location
4. get_user_calendar_status
Check if a user has connected their calendar.
When to use: Before attempting to schedule with new attendees.
Parameters:
email: User's email address
Meeting Contexts
Syncline's AI uses context to understand meeting priority and energy requirements:
warm_intro- Introduction to someone you knowcold_outreach- First contact with new personinvestor_call- Meeting with investorsclient_demo- Product demonstrationteam_standup- Daily team syncone_on_one- 1:1 meetinginterview- Job interviewsales_call- Sales conversationstrategy_session- Strategic planningbrainstorm- Creative ideationreview- Performance or project reviewcasual_chat- Informal catch-upurgent- Time-sensitive meeting
Environment Variables
SYNCLINE_API_KEY(required): Your Syncline API keySYNCLINE_API_URL(optional): Custom API endpoint (defaults to production)
REST API vs MCP
Use MCP when:
- Building AI assistants or agents
- Want conversational scheduling interface
- Need autonomous decision-making
- Integrating with Claude or other AI models
Use REST API when:
- Building traditional web/mobile apps
- Need direct control over API calls
- Implementing custom UI workflows
- Prefer explicit programming
Both approaches use the same underlying Syncline infrastructure and share the same learning system.
Troubleshooting
"SYNCLINE_API_KEY environment variable is required"
Make sure you've added your API key to the Claude Desktop config file:
"env": {
"SYNCLINE_API_KEY": "sk_live_..."
}MCP Server Not Appearing in Claude Desktop
- Check that the config file path is correct
- Verify JSON syntax is valid (use a JSON validator)
- Restart Claude Desktop completely
- Check Claude's MCP logs for errors
"User calendar not connected" errors
Users must connect their calendar before scheduling:
- Send them to: https://syncline.run/developer
- They'll authenticate with Google/Microsoft
- Use
get_user_calendar_statusto verify connection
Support
- Website: https://syncline.run
- Get API Key: https://syncline.run/developer
- Issues: https://github.com/KekwanuLabs/syncline/issues
- Email: [email protected]
License
MIT
About Syncline
Syncline is AI-powered meeting scheduling that learns from every booking to get smarter over time. Instead of dumb slot-picking, Syncline considers 100+ factors including user preferences, energy patterns, timezone fairness, and meeting context to find the truly optimal time.
Built by developers, for developers. Schedule smarter, not harder.
