Back to the catalog

Timergy

Create scheduling polls, vote, and finalize times from AI agents.

Open source Open in the app JSON README (API)

About

Create scheduling polls, vote, and finalize times from AI agents.

Details

Kind
MCP servers
Topic
Productivity
Publisher
dockerdiscordcontrol
Origin
official
Category
ferramentas
Transport
local
Version
0.1.4
Stars
1
Last push
2026-03-21T22:54:02Z
Repository state
ativo
Language
TypeScript
License
MIT
Added
2026-08-29 03:01:50
Updated
2026-08-29 03:01:50
Origin id
io.github.DockerDiscordControl/timergy

README

# @timergy/mcp

[![Smithery](https://smithery.ai/badge/timergy/timergy)](https://smithery.ai/server/timergy/timergy)

MCP server for [Timergy](https://timergy.com) - 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.

## Quick Start

### Claude Desktop / Claude Code

Add to your MCP config (`~/.claude/claude_desktop_config.json` or project `.mcp.json`):

```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:

```json
{
  "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

More