mcpField
T
Togello MCP Server

Togello MCP Server

Local
github.com/Toru-TakagiProductivity0Updated 3d ago

About Togello MCP Server

Togello MCP Server exposes Togello task, calendar, and activity data and actions to MCP clients. It supports local stdio and remote HTTP connections, with bearer-token authentication and compatibility with modern and legacy MCP clients.

Key features

  1. 01Retrieve and manage TODO tasks
  2. 02Read calendar memos and Google Calendar events
  3. 03List activity items and logs
  4. 04Start and complete activity logs
  5. 05View active scheduling polls
  6. 06Return Japan's current time

Use cases

  1. 01Review incomplete or completed tasks
  2. 02Check scheduled tasks alongside calendar events
  3. 03Update a calendar date memo
  4. 04Record the start and completion of an activity

MCP support

The server exposes Togello tasks, categories, calendar memos, Google Calendar events, activities, logs, scheduling polls, and Japan time through MCP tools. It supports stdio and remote Streamable HTTP, plus legacy SSE endpoints.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"togello": {
"command": "npx",
"args": [
"-y",
"togello-mcp-server"
],
"env": {
"TOGELLO_API_TOKEN": "<TOGELLO_API_TOKEN>"
}
}
}
}
Run commandnpx -y togello-mcp-server
Environment variables to set
TOGELLO_API_TOKENSecret

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmtogello-mcp-server

Tools

12

Saved tool list · updated 3w ago

ParameterTypeRequiredDescription
categoryUUIDsarrayNoFilters tasks by specified category UUIDs.
completionStatusenumNoFilters tasks by completion state. Omit this to retrieve incomplete tasks by default. Use COMPLETED for completed tasks.INCOMPLETE | COMPLETED
completedStartDatestringNoInclusive completed-at range start in RFC3339 format, for example yesterday at 00:00:00+09:00.
completedEndDateanyNoExclusive completed-at range end in RFC3339 format, for example today at 00:00:00+09:00 when retrieving yesterday.

Details

From the project README

Togello MCP Server

Togello MCP Server exposes Togello tasks, categories, calendar memos, Google Calendar events, activity items, and activity logs through the Model Context Protocol.

https://togello.com/sign

Requirements

  • Node.js 24.22.1 or later
  • A Togello API token

Protocol compatibility

The server uses MCP TypeScript SDK v2. Stdio and /mcp support the MCP 2026-07-28 protocol and legacy clients using the initialize handshake. The /mcp endpoint retains sessions for legacy clients; modern requests are stateless. /sse and /message remain available for legacy clients.

Modern remote requests must each include an Authorization: Bearer ... header. Their credentials are isolated per request, including when a legacy session ID is supplied. Legacy connections retain the token provided when their session was created. The existing OAuth metadata URLs and authentication modes are unchanged.

MCP Events are not implemented.

Local MCP With npm

Use this for desktop clients and local developer tools that launch MCP servers over stdio.

{
  "mcpServers": {
    "togello": {
      "command": "npx",
      "args": ["-y", "togello-mcp-server"],
      "env": {
        "TOGELLO_API_TOKEN": "replace_with_your_token"
      }
    }
  }
}

Remote MCP

Remote mode exposes a Streamable HTTP endpoint at /mcp. It also keeps the legacy SSE endpoint at /sse and message endpoint at /message for older MCP clients.

TOGELLO_MCP_MODE=remote \
TOGELLO_MCP_AUTH_MODE=passthrough \
TOGELLO_MCP_HOST=0.0.0.0 \
TOGELLO_MCP_PORT=8081 \
npm start

Connect remote MCP clients to:

https://your-domain.example/mcp

passthrough auth uses the connecting user's Togello API token from the Authorization: Bearer ... header. Modern requests require this header on every request; legacy sessions retain the connection's token. Use this mode for published remote MCP servers.

env auth uses one server-side TOGELLO_API_TOKEN for every remote client. It is intended only for trusted local or single-user deployments. When binding to a non-local host, TOGELLO_MCP_AUTH_MODE=env also requires TOGELLO_MCP_ALLOW_ENV_AUTH=true so public deployments cannot enable shared-token auth by accident.

ChatGPT developer mode can add remote MCP servers that use SSE. For production ChatGPT apps or connectors, use passthrough auth or a deployment that authenticates each user separately before forwarding requests to Togello.

Remote mode serves OAuth authorization server metadata from /.well-known/oauth-authorization-server and /.well-known/oauth-authorization-server/mcp using the Togello OAuth issuer configured with TOGELLO_OAUTH_ISSUER or TOGELLO_API_BASE_URL.

Remote OAuth clients that connect to /mcp should discover protected resource metadata at /.well-known/oauth-protected-resource/mcp. That metadata returns resource as the full MCP endpoint URL, such as https://your-domain.example/mcp. Unauthenticated /mcp requests include a WWW-Authenticate challenge whose resource_metadata value points to that /mcp metadata path.

The configured OAuth issuer must be an origin URL without a path component.

For OpenAI Apps domain verification, set TOGELLO_MCP_OPENAI_APPS_CHALLENGE_TOKEN to the verification token. Remote mode then serves it from /.well-known/openai-apps-challenge as text/plain. If both TOGELLO_MCP_OPENAI_APPS_CHALLENGE_TOKEN and OPENAI_APPS_CHALLENGE_TOKEN are set, the Togello-scoped variable takes precedence.

Tools

All tools set MCP readOnlyHint, openWorldHint, and destructiveHint annotations explicitly. Read-only tools return stable JSON in both structuredContent and text content.

  • get-tasks-list: Retrieves TODO tasks. By default it retrieves incomplete tasks. Optional categoryUUIDs filters by category UUID. Use completionStatus: "COMPLETED" with both completedStartDate and completedEndDate in RFC3339 format to retrieve tasks completed during a period.
  • get-calendar-date-memo: Retrieves a calendar date memo for a YYYY-MM-DD date.
  • get-todo-category-list: Retrieves TODO categories.
  • get-today-calendar: Retrieves linked Google Calendar events and scheduled tasks.
  • get-activity-item-list: Retrieves enabled activity items.
  • get-activity-log-list: Retrieves activity logs.
  • get-active-gathers: Retrieves active scheduling polls created or previously viewed by the authenticated user, using GET /v2/gathers. Takes no arguments. Unconfirmed polls are active through their adjustment end time; confirmed events and recruitments are active through their start time, inclusive. Already-started events are excluded even if they have not ended. Missing or invalid eligibility dates are excluded. Results retain API ordering and contain only UUID, title, mode, adjustment and confirmed timestamps, participant counts, and relationship type. Returns { "gathers": [] } when none qualify; API failures are errors.
  • get-japan-current-time: Returns the current time in Japan.

Write tools return JSON. Failed tool responses also return JSON and are marked with isError: true. Tools that can overwrite existing private Togello data set destructiveHint: true; create/start tools set destructiveHint: false.

  • create-task: Creates a TODO task.
  • update-task: Updates a TODO task, including category assignment or removal.
  • delete-task: Permanently deletes one TODO task by todoUUID from get-tasks-list. Use update-task with status: "DONE" to complete a task. To find completed tasks for deletion, use completionStatus: "COMPLETED". This destructive, idempotent tool returns { "todoUUID": "...", "deleted": true } after a successful API response, including when no task owned by the caller matches. Success does not prove that a task previously existed. Ambiguous targets must be clarified before deletion.
  • update-calendar-date-memo: Updates or clears a calendar date memo.
  • start-activity-log: Starts an activity log.
  • complete-activity-log: Completes an activity log.

Development

npm ci
npm test

The protocol tests exercise SDK v2 modern clients and SDK v1.32.2 legacy clients over stdio, Streamable HTTP, and legacy SSE against a local mock API. They verify the 12 existing tool contracts and the added deletion and active scheduling poll tools, read/write/delete results, request credential isolation, protocol header errors, body limits, metadata, and legacy session lifecycle. test/fixtures/v1-tools.json records tools/list from server 1.0.42 at commit 558c2c2fda81f7c8b20f443afa1bf5e554a72dad; comparisons allow the SDK's JSON Schema dialect and wire-format changes.

SDK-facing schemas use Zod 4. UUID fields retain the prior permissive UUID syntax, and date-time fields retain their previous Zod 3 validation through the compatibility export included in the Zod package.

MCP Review

Certified https://mcpreview.com/mcp-servers/toru-takagi/togello-mcp-server

Publish

npm run build
npm version patch
npm publish --access public

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.