Connects Claude to Timergy's scheduling poll API so you can coordinate meeting times without leaving the chat. You get five tools: create polls with time slot options, vote yes/maybe/no on behalf of participants, pull results to see who's available when, finalize the winning slot, and retrieve poll details. No auth needed, works immediately with npx. Useful when you're planning group events through conversation and want to generate shareable poll links, collect availability, and lock in times without switching to a browser. The server remembers admin passphrases within a session so you can create and finalize polls without manual credential juggling. Runs locally via stdio or remotely through their hosted endpoint.
Public tool metadata for what this MCP can expose to an agent.
create_pollCreate a Timergy scheduling poll (like Doodle) where participants vote on preferred time slots. Provide a title and at least 2-5 time slot options with ISO 8601 date-times (include timezone, e.g. 2026-03-20T18:00:00+02:00 or use UTC with Z suffix). Returns a shareable URL to s...6 paramsCreate a Timergy scheduling poll (like Doodle) where participants vote on preferred time slots. Provide a title and at least 2-5 time slot options with ISO 8601 date-times (include timezone, e.g. 2026-03-20T18:00:00+02:00 or use UTC with Z suffix). Returns a shareable URL to s...
titlestringoptionsarraydeadlinestringlocationstringcreatorNamestringdescriptionstringget_pollGet poll metadata and time slot options (but NOT votes). Returns title, status, deadline, location, and all available time slots with their option IDs. Use this to retrieve optionId values needed for vote_on_poll or finalize_poll. To see who voted, use get_results instead.1 paramsGet poll metadata and time slot options (but NOT votes). Returns title, status, deadline, location, and all available time slots with their option IDs. Use this to retrieve optionId values needed for vote_on_poll or finalize_poll. To see who voted, use get_results instead.
pollIdstringvote_on_pollSubmit votes on a Timergy poll. First call get_poll to retrieve the available optionId values. Each vote maps an optionId to an availability: 'yes' (available), 'maybe' (might work), or 'no' (unavailable). A unique voter token is auto-generated per voter name. Resubmitting wit...4 paramsSubmit votes on a Timergy poll. First call get_poll to retrieve the available optionId values. Each vote maps an optionId to an availability: 'yes' (available), 'maybe' (might work), or 'no' (unavailable). A unique voter token is auto-generated per voter name. Resubmitting wit...
votesarraypollIdstringvoterNamestringvoterEmailstringget_resultsGet voting results for a Timergy poll, showing who voted yes/maybe/no for each time slot. Use this after participants have voted to see which slot has the most availability. To finalize, pick the optionId with the most 'yes' votes and call finalize_poll.1 paramsGet voting results for a Timergy poll, showing who voted yes/maybe/no for each time slot. Use this after participants have voted to see which slot has the most availability. To finalize, pick the optionId with the most 'yes' votes and call finalize_poll.
pollIdstringfinalize_pollFinalize a poll by picking the winning time slot. Call get_results first to find the best optionId. Uses the passphrase auto-saved from create_poll. If the MCP server was restarted since poll creation, provide the passphrase manually. This locks the poll and notifies participa...3 paramsFinalize a poll by picking the winning time slot. Call get_results first to find the best optionId. Uses the passphrase auto-saved from create_poll. If the MCP server was restarted since poll creation, provide the passphrase manually. This locks the poll and notifies participa...
pollIdstringoptionIdstringpassphrasestringMCP server for Timergy - the scheduling poll app. Create polls, vote on time slots, and finalize meetings directly from AI agents like Claude, ChatGPT, and Gemini.
No authentication required. Works out of the box.
Timergy is a scheduling poll service (like Doodle or When2Meet). You create a poll with time slot options, share it with participants, everyone votes on their availability, and you pick the best time.
Add to your MCP config (~/.claude/claude_desktop_config.json or project .mcp.json):
{
"mcpServers": {
"timergy": {
"command": "npx",
"args": ["@timergy/mcp"]
}
}
}
Then just ask:
"Create a poll for dinner next Friday or Saturday evening"
smithery mcp add timergy/timergy
Or connect directly via https://timergy--timergy.run.tools
Any MCP-compatible client can use this server. Supports stdio (local) and Streamable HTTP (remote at https://api.timergy.com/mcp).
create_pollCreate a scheduling poll with time slot options.
| Parameter | Type | Required | Description |
|---|---|---|---|
title | string | yes | Poll title |
options | array | yes | Time slots ({start, end} in ISO 8601 with timezone) |
description | string | no | Poll description |
deadline | string | no | Voting deadline (ISO 8601) |
location | string | no | Event location |
creatorName | string | no | Name shown as poll creator |
"Create a poll called 'Team Lunch' with slots on Monday 12-13 and Tuesday 12-13"
Returns: poll URL (to share), passphrase (for admin access), option IDs.
get_pollGet poll details and time slot options (no votes). Use this to retrieve option IDs before voting or finalizing.
| Parameter | Type | Required | Description |
|---|---|---|---|
pollId | string | yes | Poll UUID |
"Show me the details of poll abc-123"
vote_on_pollSubmit votes on a poll. Each vote maps a time slot to yes/maybe/no.
| Parameter | Type | Required | Description |
|---|---|---|---|
pollId | string | yes | Poll UUID |
voterName | string | yes | Name of the voter |
voterEmail | string | no | Voter email (for notifications) |
votes | array | yes | {optionId, availability} where availability is yes/maybe/no |
"Vote 'yes' for Monday and 'no' for Tuesday on poll abc-123 as Max"
get_resultsSee who voted and which time slots are most popular.
| Parameter | Type | Required | Description |
|---|---|---|---|
pollId | string | yes | Poll UUID |
"Show me the results for poll abc-123"
finalize_pollLock in the winning time slot. Notifies participants who provided an email.
| Parameter | Type | Required | Description |
|---|---|---|---|
pollId | string | yes | Poll UUID |
optionId | string | yes | Winning time slot UUID |
passphrase | string | no | Admin passphrase (auto-remembered from create_poll) |
"Finalize poll abc-123 with the Monday slot"
1. create_poll -> Get poll URL + passphrase
2. Share URL -> Send to participants
3. get_results -> See who voted yes/maybe/no
4. finalize_poll -> Pick the best time, lock it in
The passphrase from step 1 is automatically remembered for step 4 within the same session.
The MCP server calls the Timergy Open API under the hood. You can also use the API directly:
| Method | Endpoint | Description |
|---|---|---|
POST | /api/open/polls | Create a poll |
GET | /api/open/polls/:id | Get poll details |
GET | /api/open/polls/:id/options | Get time slots |
GET | /api/open/polls/:id/results | Get vote results |
POST | /api/open/polls/:id/vote | Submit votes |
POST | /api/open/polls/:id/admin-token | Get admin token |
POST | /api/open/polls/:id/finalize | Finalize poll |
Base URL: https://api.timergy.com
OpenAPI spec: https://api.timergy.com/api/open/openapi.json
| Environment Variable | Default | Description |
|---|---|---|
TIMERGY_API_URL | https://api.timergy.com | API base URL |
For local development:
{
"mcpServers": {
"timergy": {
"command": "npx",
"args": ["@timergy/mcp"],
"env": { "TIMERGY_API_URL": "http://localhost:4000" }
}
}
}
| Action | Limit |
|---|---|
| Create poll | 5 per hour |
| Vote | 20 per minute |
| Get poll/results | 60 per minute |
| Admin token | 5 per 10 minutes |
| Finalize | 3 per hour |
MIT