Teamup Calendar MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.23.3Updated Nov 7, 2026

Read and search Teamup Calendar events and sub-calendars; create, update, delete and undo events.

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableProductivity & WorkflowCommunication & Collaboration

Overview

AI-generated overview

Hosted MCP server for Teamup Calendar: read, search and manage shared calendar events, sub-calendars and signups from an AI assistant.

What you can do
  • Inspect the calendar's settings, timezone, custom fields and sub-calendars, and list access keys (admin only)
  • List events in a date range, search events by keyword, read a single event with notes, signups and attachments, and list signups
  • Track events created, changed or deleted since a timestamp for syncing
  • Create, update and delete events, including single occurrences of recurring events, and undo those actions within an hour
  • Create and edit sub-calendars (name, color, overlap rule, active state)
  • Check usage, request a feature, upgrade or cancel the subscription
When to use it
Useful when an assistant should answer questions about a shared Teamup calendar, find events by keyword or date, report who signed up, or make and correct event and sub-calendar changes on the user's behalf.
Requirements
Remote endpoint at teamup-calendar.usefulapi.io; no local install. Connect with the URL only and sign in through OAuth with your own Teamup Calendar credentials. No API key or Authorization header is added to the client config. A free plan allows 50 tool calls per month; paid plans raise the limit.
Before you install
Write tools create, change and delete calendar data; the server asks for confirmation first, but deletions are permanent after the one-hour undo window. Create calls are not idempotent, so a retry can duplicate an event or sub-calendar. Access-key secrets are never returned. Paid plans cost money (Pro $9/month or $90/year, Pro+ $39/month or $390/year) and are billed through a Stripe checkout link; cancellation has no refund for the current period. Calendar data is handled by the third-party…

Installation

In SourceWeft

  1. Open Teamup Calendar MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Fteamup-calendar/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "teamup-calendar-by-usefulapi": {
      "type": "http",
      "url": "https://teamup-calendar.usefulapi.io/mcp"
    }
  }
}

README

Teamup Calendar MCP by usefulapi

Use Teamup Calendar from Claude, Cursor, or any MCP client — calendar configuration, sub-calendars and access keys, list, search and read events (also changes since a time and signups), and create, update, delete and undo events and create or edit sub-calendars. Hosted, no local install: connect with your own Teamup Calendar credentials.

Live endpoint: https://teamup-calendar.usefulapi.io/mcp · Homepage: https://usefulapi.io/teamup-calendar

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://teamup-calendar.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http teamup-calendar https://teamup-calendar.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "teamup-calendar": {      "url": "https://teamup-calendar.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your Teamup Calendar credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/teamup-calendar/

Tools

ToolTypeWhat it does
teamup_get_calendarreadGet calendar
teamup_list_subcalendarsreadList sub-calendars
teamup_get_subcalendarreadGet sub-calendar
teamup_list_access_keysreadList access keys
teamup_list_eventsreadList events
teamup_search_eventsreadSearch events
teamup_get_eventreadGet event
teamup_list_changed_eventsreadList changed events
teamup_list_event_signupsreadList event signups
teamup_create_eventwriteCreate event
teamup_update_eventwriteUpdate event
teamup_delete_eventwriteDelete event
teamup_undo_event_actionwriteUndo event change
teamup_create_subcalendarwriteCreate sub-calendar
teamup_update_subcalendarwriteUpdate sub-calendar
teamup_usage_statusmetaUsage status (free-tier meter)
teamup_request_featuremetaRequest a missing feature
teamup_upgrademetaUpgrade to Pro or Pro+
teamup_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per calendar)$9/mo or $90/yr (2 months free)Unlimited*

*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to [email protected].

Pro covers this server only. Subscribe with teamup_upgrade (it returns a Stripe Checkout link). Cancel any time with teamup_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running teamup_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT © usefulapi. Not affiliated with or endorsed by Teamup Calendar.

Source: servers/teamup-calendar/README.md at commit 4046075

Tools

15

teamup_get_calendar

Get calendar

The calendar this connection points at: title, timezone and date settings, custom event fields, sub-calendars, the permission of the calendar key in use and the plan's features. Call this first to learn the sub-calendar ids and the timezone. The calendar key itself is never returned. GET /{calendarKey}/configuration.

Takes no parameters.

teamup_list_subcalendars

List sub-calendars

List the sub-calendars (the colored lanes that events belong to, such as people, rooms or resources). A key with admin permission also sees inactive ones. GET /{calendarKey}/subcalendars.

Parameterslimitoffsetname_containsinclude_inactive

teamup_get_subcalendar

Get sub-calendar

One sub-calendar by id: name, color, overlap rule, active state and which links may use it. GET /{calendarKey}/subcalendars/{id}.

Parameterssubcalendar_idrequired

teamup_list_access_keys

List access keys

List the calendar's access keys (sharing links and user accesses) with name, role, active state and per-sub-calendar permission. Needs a key with admin permission. The secret key values are never returned (they are secrets); use the id and name to tell links apart. GET /{calendarKey}/keys.

Parameterstypelimitoffsetname_contains

teamup_list_events

List events

List the events in a date range, optionally only on some sub-calendars. Recurring events are expanded: every occurrence in the range is returned with its own id (series id + -rid- + start). Notes come as markdown. Times use the calendar's timezone unless tz is set. GET /{calendarKey}/events.

Parameterstzend_datestart_datesubcalendar_ids

teamup_search_events

Search events

Search events by keyword (2-100 characters) within a date range (default: today only, so always pass the range you mean). Recurring events are expanded. Paged with limit and offset. GET /{calendarKey}/events?query=.

Parameterstzlimitqueryrequiredoffsetend_datestart_datesubcalendar_ids

teamup_get_event

Get event

One event by id: title, times, sub-calendars, location, who, notes (markdown), recurrence rule, custom fields, signups, comments, attachments (metadata), version, change history and reminders. Use the occurrence id (123-rid-<unix start>) for one occurrence of a recurring event. GET /{calendarKey}/events/{id}.

Parametersevent_idrequired

teamup_list_changed_events

List changed events

Events created, changed or deleted since a Unix timestamp (at most 30 days back), for syncing. A recurring event comes back once, as its series, not as occurrences. Deleted events carry delete_dt. Pass the reply's timestamp as since_timestamp next time so nothing is missed. GET /{calendarKey}/events?modifiedSince=.

Parametersmodesince_timestamprequired

teamup_list_event_signups

List event signups

The people signed up for an event (name, email, id). Signups must be enabled on the event. GET /{calendarKey}/events/{id}/signups.

Parametersevent_idrequired

teamup_create_event

Create event

WRITE: create an event. Needs a calendar key with add or modify permission. Give at least subcalendar_ids, start and end. Not idempotent: a repeated call creates a second event. The reply holds the new event and an undo_id; teamup_undo_event_action removes the event again within one hour. POST /{calendarKey}/events.

Parametersendrequiredwhonotesrrulestartrequiredtitlecustomall_daylocationsignup_limitsignup_enabledsubcalendar_idsrequired+3 more

teamup_update_event

Update event

WRITE: change fields of an event; fields you leave out keep their value (the event is read first and sent back with its version, so a concurrent edit is refused instead of overwritten; an event without a version is not changed). Needs modify permission. For a recurring event pass redit; use the occurrence id (123-rid-<unix start>) with single or future. Attachments are not touched. The reply holds the event and an undo_id for one hour (teamup_undo_event_action). PUT /{calendarKey}/events/{id}.

Parametersendwhonotesreditrrulestarttitlecustomall_dayevent_idrequiredlocationsignup_limit+5 more

teamup_delete_event

Delete event

WRITE, DESTRUCTIVE: delete an event, or for a recurring event the chosen occurrences. Needs modify permission. Not retried. The reply holds an undo_id; teamup_undo_event_action restores the event within one hour, after that the deletion is permanent. For one occurrence use the occurrence id (123-rid-<unix start>) and redit single (the default); redit all deletes the whole series. DELETE /{calendarKey}/events/{id}.

Parametersreditversionevent_idrequired

teamup_undo_event_action

Undo event change

WRITE: undo a recent event creation, update or deletion with the undo_id from that call. Works for one hour only and is refused if someone else changed the event since. PUT /{calendarKey}/events/undo/{undo_id}.

Parametersundo_idrequired

teamup_create_subcalendar

Create sub-calendar

WRITE: create a sub-calendar. Needs a calendar key with admin permission, and the plan may limit how many exist. Not idempotent: a repeated call creates a second one. POST /{calendarKey}/subcalendars.

Parametersnamerequiredcoloractiveoverlap

teamup_update_subcalendar

Update sub-calendar

WRITE: change a sub-calendar's name, color, overlap rule or active state; fields you leave out keep their value. Needs admin permission. Making a sub-calendar inactive hides it from users without admin rights. PATCH /{calendarKey}/subcalendars/{id}.

Parametersnamecoloractiveoverlapsubcalendar_idrequired

Version history

19
  1. v1.23.3LatestNov 7, 2026
  2. v1.22.3Nov 5, 2026
  3. v1.22.2Nov 5, 2026
  4. v1.22.1Nov 4, 2026
  5. v1.22.0Nov 3, 2026
  6. v1.21.1Nov 3, 2026
  7. v1.20.0Nov 1, 2026
  8. v1.18.0Oct 31, 2026
  9. v1.17.0Oct 31, 2026
  10. v1.16.2Oct 30, 2026
  11. v1.16.0Oct 30, 2026
  12. v1.11.0Oct 26, 2026
  13. v1.8.3Oct 25, 2026
  14. v1.8.0Oct 25, 2026
  15. v1.7.0Oct 24, 2026
  16. v1.4.0Oct 23, 2026
  17. v1.3.4Oct 22, 2026
  18. v1.3.3Oct 21, 2026
  19. v1.0.0Oct 12, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations