CCM
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Claude Code Marketplaces

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Skill index
  • MCP index
  • Marketplace index
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by mertbuilds.com

Independent project, not affiliated with Anthropic
heldly avatar

Heldly

io.heldly/scheduler
13 toolsHTTPregistry active
Summary

This connects Claude directly to your Google Calendar and turns natural language into booked meetings. You describe the meeting ("30-min discovery with sara@acme.com this week"), and it finds three free slots, places tentative holds on your calendar, and emails the invitee a picker. When they choose a time, it confirms that slot and clears the others automatically. No back-and-forth emails, no sending Calendly links, no manual cleanup. The whole flow happens through Claude: find_times checks availability, propose_meeting creates the holds, send_invitee_email delivers the picker. Built for customer-facing teams who spend half their day scheduling calls. Free tier covers 5 meetings per month.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
ego lite browserego lite browser
ego lite browser
Fastest browser for AI agents to run web automation tasks, always free.
Download Free life-time →
Granola, the best AI meeting recorder
Granola, the best AI meeting recorder
Notes, actions and memory. Without a meeting bot. First month 100% off.
Download for free →
CodeHealth MCP ServerCodeHealth MCP Server
CodeHealth MCP Server
Protect your code quality, stop the AI slop.
Try For Free →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Agent, connect blockchain
Agent, connect blockchain
Connect your Claude agent to live crypto prices and trading routes via 1inch
Get the MCP →
Block distraction from your iPhone for freeBlock distraction from your iPhone for free
Block distraction from your iPhone for free
Block distracting apps from your iPhone permanently without a 3rd party app. Free and open source.
Block now (100% free) →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
ego lite browserego lite browser
ego lite browser
Fastest browser for AI agents to run web automation tasks, always free.
Download Free life-time →
Granola, the best AI meeting recorder
Granola, the best AI meeting recorder
Notes, actions and memory. Without a meeting bot. First month 100% off.
Download for free →
CodeHealth MCP ServerCodeHealth MCP Server
CodeHealth MCP Server
Protect your code quality, stop the AI slop.
Try For Free →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Agent, connect blockchain
Agent, connect blockchain
Connect your Claude agent to live crypto prices and trading routes via 1inch
Get the MCP →
Block distraction from your iPhone for freeBlock distraction from your iPhone for free
Block distraction from your iPhone for free
Block distracting apps from your iPhone permanently without a 3rd party app. Free and open source.
Block now (100% free) →

Tools

Public tool metadata for what this MCP can expose to an agent.

13 tools
find_timesPreview candidate meeting slots (no holds placed). Returns 3 slots labeled `1`, `2`, `3` chronologically, each with `previous_event` / `next_event` — the host's nearest events on either side, with gap + title. **Chat response — keep it SHORT and lead with the iframe.** The ifr...10 params

Preview candidate meeting slots (no holds placed). Returns 3 slots labeled `1`, `2`, `3` chronologically, each with `previous_event` / `next_event` — the host's nearest events on either side, with gap + title. **Chat response — keep it SHORT and lead with the iframe.** The ifr...

Parameters* required
co_host_emailsarray
Optional emails of workspace members who should also attend. Heldly intersects everyone's calendars so the returned slots work for all of you. Available on every plan.
current_slotsarray
The host's 3 currently-committed slot times, with their chronological labels (1 = earliest). Pass these in two situations: (a) alongside `propose_label` to propose a change to one slot while keepin...
duration_minvalue
Meeting duration in minutes (30, 45, 60, or 90).
invitee_timezonestring
IANA timezone of the invitee (e.g. "Europe/Berlin", "America/New_York", "Asia/Tokyo"). When set, Heldly additionally requires each candidate to fall inside 9–17 M–F in the invitee's local time — so...
propose_labelstring
Which committed slot (by chronological label) to re-pick a new time for. Requires `current_slots`. The two kept slots stay in `result.slots`; the new candidate appears in `result.proposed_slot.new`...one of 1 · 2 · 3
target_starts_atstring
Optional exact target time for the new candidate (ISO timestamp). Requires `current_slots` + `propose_label`. When set, the picker uses THIS time instead of running the bucket-rotation algorithm —...
window_endstring
ISO 8601 end of the search window.
window_startstring
ISO 8601 start of the search window.
workday_end_hourinteger
Latest acceptable hour of day, interpreted in the host's timezone (see /settings/profile). When omitted, Heldly uses the host's saved availability end hour (defaults to 17).
workday_start_hourinteger
Earliest acceptable hour of day, interpreted in the host's timezone (see /settings/profile). When omitted, Heldly uses the host's saved availability start hour (defaults to 9). Pass explicitly only...
propose_meetingPropose a meeting to an external invitee (anyone outside the host's workspace). Heldly places tentative holds on every host's Google Calendar synchronously and persists the meeting. When the invitee picks, Heldly confirms the chosen slot and deletes the siblings on every host'...16 params

Propose a meeting to an external invitee (anyone outside the host's workspace). Heldly places tentative holds on every host's Google Calendar synchronously and persists the meeting. When the invitee picks, Heldly confirms the chosen slot and deletes the siblings on every host'...

Parameters* required
additional_invitee_emailsarray
Optional secondary invitees (up to 5). They're CC'd on the picker email and added to the Google Calendar event when the primary picks. Only the primary invitee can pick a slot. Use this for discove...
auto_sendboolean
Defaults to **false** — Heldly creates the meeting + places the holds, but does NOT email the invitee. After this tool returns, confirm the details with the host, then call `send_invitee_email`. Se...
co_host_emailsarray
Optional emails of workspace members who should also attend. Heldly places holds on their calendars too, emails them they were added, and confirms / cleans up on their calendars when the invitee pi...
duration_minvalue
Meeting duration in minutes (30, 45, 60, or 90).
expiration_hoursvalue
Hours before the picker auto-expires if the invitee doesn't pick. Defaults to account default.
host_emailstring
Host's email. Defaults to your account email.
host_messagestring
Optional internal note saved on the meeting (not shown to the invitee).
host_namestring
Host's full name. Defaults to your account name.
invitee_emailstring
Primary invitee's email. **Optional.** Provide it when you have it and Heldly will email the picker. Omit it for shareable mode — Heldly returns the picker URL and the host pastes it into Slack/Lin...
invitee_messagestring
Optional personal note included in the invitee's picker email.
invitee_namestring
Primary invitee's full name.
meeting_agendastring
Agenda / context that goes into the calendar event description. The invitee will read this on the Google Calendar invite they receive after picking, so write in second person where natural ("We'll...
meeting_topicstring
Short subject of the meeting. E.g. 'Discovery call', 'Demo follow-up', 'Q3 QBR', 'Renewal review'. Becomes the calendar invite title and the heading on the invitee's picker page. Do NOT include the...
slotsarray
Exactly 3 candidate slots. Each slot's (ends_at - starts_at) must equal duration_min. Heldly places one tentative event per (slot × host) on each host's Google Calendar.
window_endstring
Forward the `window.ends_at` value from your preceding `find_times` call. See `window_start`.
window_startstring
Forward the `window.starts_at` value from your preceding `find_times` call. Captures the host's intended booking window so that if the invitee can't make any of the proposed times, the picker's "No...
list_meetingsList meetings you've proposed or are co-hosting, most recent first. Use `query` to find a specific meeting by invitee, host, or topic. Each row includes a `picker_url` the host can paste into Slack / LinkedIn / a DM when the invitee says they never got the email — single-use,...4 params

List meetings you've proposed or are co-hosting, most recent first. Use `query` to find a specific meeting by invitee, host, or topic. Each row includes a `picker_url` the host can paste into Slack / LinkedIn / a DM when the invitee says they never got the email — single-use,...

Parameters* required
limitinteger
Default 20, max 100
querystring
Case-insensitive substring match against invitee name/email, host name/email, and meeting topic.
since_daysinteger
Only include meetings updated in the last N days. In-flight meetings always come back regardless.
statusstring
Filter by statusone of awaiting_invitee_pick · confirmed · expired · cancelled
recent_inviteesReturn the host's recent invitees deduped by `invitee_email`, most-recent-first, each carrying the previous meeting's `last_meeting_topic` + `last_meeting_agenda` and `meeting_count`. Call this on any "book another with Sara" / "set up a follow-up with the Acme person" intent...2 params

Return the host's recent invitees deduped by `invitee_email`, most-recent-first, each carrying the previous meeting's `last_meeting_topic` + `last_meeting_agenda` and `meeting_count`. Call this on any "book another with Sara" / "set up a follow-up with the Acme person" intent...

Parameters* required
limitinteger
Default 20, max 25
querystring
Case-insensitive substring match against `invitee_name` or `invitee_email`. Use whenever the host names a specific person.
get_meetingFetch the full details of a single meeting, including the timeline of events.1 params

Fetch the full details of a single meeting, including the timeline of events.

Parameters* required
meeting_idstring
The meeting's id, as returned by `propose_meeting`, `list_meetings`, or `recent_invitees`.
check_meeting_statusQuick status snapshot of a single meeting — the right tool for "did Sara book?" / "is the Acme meeting confirmed?". Returns `status` + `hint`, the `booked_slot` (with pre-formatted local time) if one was picked, the invitee name, and onboarding narration when relevant. For ful...1 params

Quick status snapshot of a single meeting — the right tool for "did Sara book?" / "is the Acme meeting confirmed?". Returns `status` + `hint`, the `booked_slot` (with pre-formatted local time) if one was picked, the invitee name, and onboarding narration when relevant. For ful...

Parameters* required
meeting_idstring
The meeting's id, as returned by `propose_meeting`, `list_meetings`, or `recent_invitees`.
send_invitee_emailSend the invitee picker email. This is both the **first-send** tool (after propose_meeting with auto_send=false, which is the default — call this once the host has confirmed the topic, agenda, and slots) AND the **resend / reminder** tool (if the host asks 'nudge Sara again')....1 params

Send the invitee picker email. This is both the **first-send** tool (after propose_meeting with auto_send=false, which is the default — call this once the host has confirmed the topic, agenda, and slots) AND the **resend / reminder** tool (if the host asks 'nudge Sara again')....

Parameters* required
meeting_idstring
The meeting's id, as returned by `propose_meeting`, `list_meetings`, or `recent_invitees`.
cancel_meetingCancel a meeting. Heldly releases active picker slots and deletes every tentative or confirmed event we placed on any host's calendar — synchronously, in one call. The invitee gets a cancellation email if the meeting was already booked. Cannot cancel meetings that are already...2 params

Cancel a meeting. Heldly releases active picker slots and deletes every tentative or confirmed event we placed on any host's calendar — synchronously, in one call. The invitee gets a cancellation email if the meeting was already booked. Cannot cancel meetings that are already...

Parameters* required
meeting_idstring
The meeting's id, as returned by `propose_meeting`, `list_meetings`, or `recent_invitees`.
reasonstring
Optional reason — recorded on the timeline.
update_meeting_detailsEdit a meeting's topic, agenda, or invitee name WITHOUT re-emailing the invitee and WITHOUT changing any times. The right tool for typo fixes, agenda refinements, and correcting an invitee name the host wrote wrong. Allowed on `awaiting_invitee_pick` and `confirmed` meetings....4 params

Edit a meeting's topic, agenda, or invitee name WITHOUT re-emailing the invitee and WITHOUT changing any times. The right tool for typo fixes, agenda refinements, and correcting an invitee name the host wrote wrong. Allowed on `awaiting_invitee_pick` and `confirmed` meetings....

Parameters* required
invitee_namestring
New invitee display name (1–120 chars).
meeting_agendastring
New agenda / description (1–4000 chars). Becomes the Google Calendar event description after patch.
meeting_idstring
The meeting's id, as returned by `propose_meeting`, `list_meetings`, or `recent_invitees`.
meeting_topicstring
New short subject of the meeting (1–120 chars). Keep names out — both parties read it.
add_co_hostAdd a workspace member as a co-host on an existing meeting without going through `reschedule_meeting` (which is heavy: deletes events + re-emails the invitee). The right tool for "actually loop Pat in on the Sara meeting too." Available on every plan. The new co-host must be a...2 params

Add a workspace member as a co-host on an existing meeting without going through `reschedule_meeting` (which is heavy: deletes events + re-emails the invitee). The right tool for "actually loop Pat in on the Sara meeting too." Available on every plan. The new co-host must be a...

Parameters* required
co_host_emailstring
Email of the workspace member to add as a co-host.
meeting_idstring
The meeting's id, as returned by `propose_meeting`, `list_meetings`, or `recent_invitees`.
reschedule_meetingReschedule an existing meeting to new slots. Works for both: • `confirmed` meetings — Heldly deletes the booked event on every host's calendar, places fresh tentatives on the new slots, flips status back to awaiting_invitee_pick, and emails the invitee a 'moved to...' picker....6 params

Reschedule an existing meeting to new slots. Works for both: • `confirmed` meetings — Heldly deletes the booked event on every host's calendar, places fresh tentatives on the new slots, flips status back to awaiting_invitee_pick, and emails the invitee a 'moved to...' picker....

Parameters* required
meeting_idstring
The meeting's id, as returned by `propose_meeting`, `list_meetings`, or `recent_invitees`.
notify_inviteeboolean
Defaults to true: Heldly immediately emails the invitee the new picker. Set false to let the host preview the new state and call send_invitee_email manually.
reasonstring
Optional host-supplied reason shown to the invitee in the 'moved to...' email body. E.g. 'Anna had a conflict come up — here are some other times that work.'
slotsarray
Exactly 3 new candidate slots. Each slot's duration must match the original meeting's `duration_min`.
window_endstring
Forward `window.ends_at` from your preceding `find_times` call.
window_startstring
Forward `window.starts_at` from your preceding `find_times` call. Captures the host's intended window for the rescheduled meeting so the picker's "None of these work" flow searches the right range.
invite_workspace_memberInvite a new member to your Heldly workspace (Business plan, admin only). Use this when the host wants to co-host a meeting with someone who isn't in the workspace yet — find_times and propose_meeting return `co_host_not_in_workspace` for those emails. The invitee receives an...3 params

Invite a new member to your Heldly workspace (Business plan, admin only). Use this when the host wants to co-host a meeting with someone who isn't in the workspace yet — find_times and propose_meeting return `co_host_not_in_workspace` for those emails. The invitee receives an...

Parameters* required
emailstring
Email of the person to invite.
notestring
Optional note appended to the invite email (currently ignored — reserved for future use).
rolestring
Workspace role — defaults to 'member'. Use 'admin' only when the host explicitly asks.one of member · admin
get_workspace_insightsWorkspace-wide insights for managers (Team admins only). Returns the funnel (proposed → opened → picked → confirmed), per-week volume, and time-to-pick percentiles. Use when the host asks any of: • 'how many meetings did the team book last week?' • 'what's our pick rate this q...2 params

Workspace-wide insights for managers (Team admins only). Returns the funnel (proposed → opened → picked → confirmed), per-week volume, and time-to-pick percentiles. Use when the host asks any of: • 'how many meetings did the team book last week?' • 'what's our pick rate this q...

Parameters* required
metricstring
Optional focus. Defaults to 'all' (returns the full bundle). Use a single metric when the host asks about one specific thing.one of funnel · volume · time_to_pick · all
since_daysinteger
Window size in days. Defaults to 30.
Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
ego lite browserego lite browser
ego lite browser
Fastest browser for AI agents to run web automation tasks, always free.
Download Free life-time →
Granola, the best AI meeting recorder
Granola, the best AI meeting recorder
Notes, actions and memory. Without a meeting bot. First month 100% off.
Download for free →
CodeHealth MCP ServerCodeHealth MCP Server
CodeHealth MCP Server
Protect your code quality, stop the AI slop.
Try For Free →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Agent, connect blockchain
Agent, connect blockchain
Connect your Claude agent to live crypto prices and trading routes via 1inch
Get the MCP →
Block distraction from your iPhone for freeBlock distraction from your iPhone for free
Block distraction from your iPhone for free
Block distracting apps from your iPhone permanently without a 3rd party app. Free and open source.
Block now (100% free) →
Registryactive
TransportHTTP
UpdatedMay 25, 2026
Open website