Togello MCP Server
An MCP server for managing application context using the Togello API.
Documentation
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.
Requirements
- Node.js 22 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. OptionalcategoryUUIDsfilters by category UUID. UsecompletionStatus: "COMPLETED"with bothcompletedStartDateandcompletedEndDatein RFC3339 format to retrieve tasks completed during a period.get-calendar-date-memo: Retrieves a calendar date memo for aYYYY-MM-DDdate.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-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.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.29.0 legacy clients over stdio, Streamable HTTP, and legacy SSE against a local mock API. They verify the 12 existing tool contracts, read/write 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