Skip to main content
Glama

@timergy/mcp

Smithery

MCP 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.

What is Timergy?

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.

Related MCP server: Meeting Scheduler

Quick Start

Claude Desktop / Claude Code

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 (Remote, no install)

smithery mcp add timergy/timergy

Or connect directly via https://timergy--timergy.run.tools

Other MCP Clients

Any MCP-compatible client can use this server. Supports stdio (local) and Streamable HTTP (remote at https://api.timergy.com/mcp).

Tools

create_poll

Create 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_poll

Get 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_poll

Submit 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_results

See 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_poll

Lock 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"

Workflow

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.

REST API

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

Configuration

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" }
    }
  }
}

Rate Limits

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

License

MIT

Available Tools

5 tools
create_pollA

Create 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 send to participants and a passphrase for admin access. The passphrase is automatically remembered for finalize_poll. Workflow: create_poll -> share URL -> wait for votes -> get_results -> finalize_poll.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesPoll title (e.g. 'Dinner with Moritz')
optionsYesTime slot options (recommend 3-5)
descriptionNoOptional poll description
deadlineNoOptional voting deadline (ISO 8601)
locationNoOptional event location
creatorNameNoName shown as poll creator (e.g. 'Claude for Max')

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It discloses that the tool returns a shareable URL and admin passphrase, and that the passphrase is remembered for finalize_poll. It does not mention authorization or rate limits, but the behavior is adequately described for a creation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is informative but slightly long. It is structured with a workflow list at the end, which is helpful. Some sentences could be condensed, but overall it earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the 6 parameters, full schema coverage, and no output schema or annotations, the description covers the key aspects: purpose, required inputs, workflow, return values. It is complete enough for an agent to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all 6 parameters. The description adds value by recommending 2-5 options, specifying ISO 8601 with timezone, and mentioning the passphrase. This goes beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates a Timergy scheduling poll like Doodle, specifying the verb 'create' and resource 'poll'. It distinguishes from sibling tools by mentioning the workflow with finalize_poll and get_results.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear workflow: create_poll -> share URL -> wait for votes -> get_results -> finalize_poll, and notes the passphrase is remembered for finalize_poll. However, it does not explicitly state when not to use the tool or list alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

finalize_pollA

Finalize 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 participants who provided an email.

ParametersJSON Schema
NameRequiredDescriptionDefault
pollIdYesPoll UUID
optionIdYesWinning time slot option UUID (pick from get_results)
passphraseNoAdmin passphrase (auto-used from create_poll if available)

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses important side effects: locks the poll and notifies participants with email. Explains passphrase auto-save behavior and manual fallback. Since no annotations provided, description fully handles behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, each serving a distinct purpose: main action, prerequisite, passphrase detail, and side effects. No wasted words; information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers all necessary aspects for a tool with 3 parameters and no output schema: purpose, prerequisite, parameter details, passphrase handling, and consequences. No gaps identified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema already has 100% description coverage for all three parameters, so baseline is 3. Description adds meaningful context: directs to use get_results for optionId and clarifies passphrase auto-save vs manual provision.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Explicitly states 'Finalize a poll by picking the winning time slot', which clearly conveys the verb and resource. Distinguishes itself from sibling tools like create_poll, get_results, and vote_on_poll by specifying the action of finalizing and referencing get_results.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear prerequisite by advising to call get_results first to find the best optionId. Also explains when to manually provide the passphrase (if server restarted). Lacks explicit when-not-to-use, but context is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_pollA

Get 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
pollIdYesPoll UUID

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It transparently states the tool returns specific fields (title, status, deadline, location, time slots with option IDs) and explicitly says votes are not returned. Could mention idempotency or lack of side effects, but description is adequate for a read-only operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, front-loaded with purpose. Each sentence serves a distinct role: stating function and exclusion, listing returned data, and providing usage guidance. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given one parameter, no output schema, and no annotations, the description is fairly complete. It covers what is returned and how to use the results. Could mention error conditions or prerequisites, but overall sufficient for the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers 100% of parameters, with pollId described as 'Poll UUID'. The description adds minimal extra meaning beyond stating that pollId is used to retrieve optionId values. Baseline 3 is appropriate as schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves poll metadata and time slot options, explicitly excluding votes. It uses specific verbs and resources, and differentiates from sibling tools like get_results and vote_on_poll.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly instructs to use this tool to obtain optionId values for vote_on_poll or finalize_poll, and directs to get_results for vote details. This provides clear when-to-use and when-not-to-use guidance with named alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_resultsA

Get 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
pollIdYesPoll UUID

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It explains the tool returns voting results per time slot but does not detail the response format, error conditions, or any side effects. It provides a high-level outcome but lacks specifics needed for full behavioral transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of two concise sentences. The first sentence states the purpose, and the second provides usage guidance. Every sentence is valuable, and there is no redundancy or waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has one parameter and no output schema, the description provides adequate context: purpose, when to use, and subsequent action. It lacks a detailed description of the return format, but the mention of 'showing who voted yes/maybe/no for each time slot' gives a sufficient high-level picture.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the description does not add significant new meaning about the pollId parameter beyond what the schema already provides. The description gives context on what the results contain, but that relates to output semantics rather than the parameter itself.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'voting results for a Timergy poll', and specifies it shows who voted yes/maybe/no for each time slot. It effectively distinguishes the tool from siblings like create_poll and finalize_poll.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use this after participants have voted' and provides a use case for determining the most available slot. It also guides the next step: call finalize_poll with the optionId. However, it does not explicitly compare to alternatives or mention when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vote_on_pollA

Submit 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 with the same voter name updates previous votes.

ParametersJSON Schema
NameRequiredDescriptionDefault
pollIdYesPoll UUID
voterNameYesName of the voter
voterEmailNoOptional voter email for finalization notification
votesYesOne vote per time slot

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description discloses that a unique voter token is auto-generated per voter name and that resubmission updates previous votes. With no annotations provided, this adds valuable behavioral context about idempotency and auto-generation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Five sentences packed with essential information: purpose, prerequisite, mapping, behavior. No redundant words; well-structured and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers prerequisite, vote mapping, and update behavior. Lacks mention of return values (no output schema), but for a voting submit tool the description is sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema already covers all parameters with descriptions (100% coverage). Description adds context that optionIds come from get_poll and explains the availability enum values, enriching meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'Submit votes on a Timergy poll' as the main action. Differentiates from siblings by mentioning prerequisite get_poll to retrieve optionIds, and explains the vote mapping.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs to call get_poll first to get optionIds, and notes that resubmitting with same voter name updates votes. Does not explicitly mention when not to use this tool versus finalize_poll, but the guidance is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 5 tool updatesv0.2.0
    • First observedcreate_poll
    • First observedfinalize_poll
    • First observedget_poll
    • First observedget_results
    • First observedvote_on_poll

TDQS

A4.4/5.0
Disambiguation5/5

Each tool has a distinct purpose: creating polls, getting info, voting, viewing results, finalizing. No overlap.

Naming Consistency5/5

All tools follow a consistent verb_noun_snake_case pattern, e.g., create_poll, get_results.

Tool Count5/5

Five tools cover the essential poll lifecycle without being too many or too few.

Completeness4/5

Covers the main workflow from creation to finalization. Missing update/delete operations, but not critical for scheduling polls.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Integrates the MeetSync calendar negotiation API to enable AI agents to autonomously manage participants, find mutual availability, and handle meeting bookings. It exposes 19 tools for end-to-end scheduling workflows including participant preferences, proposals, and confirmations.
    19
    20
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Automates meeting logistics with tools for scheduling, availability checking, slot finding, timezone conversion, and recurring date generation. Eliminates the need for custom calendar logic by providing validated time operations and formatted invitations for applications and AI assistants.
    -
  • A
    license
    B
    quality
    C
    maintenance
    Meet.bot is AI-native scheduling for people and agents. Check real calendar availability and book meetings on Google and Microsoft calendars through scheduling pages — and pay per meeting booked, not per user or seat. Actions: Book Meeting, Find Slots, Get Scheduling Page Info.
    8
    25
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/timergy-app/timergy'

If you have feedback or need assistance with the MCP directory API, please join our Discord server