Pomodoro AI MCP
OfficialThis server lets you manage Pomodoro focus sessions, track productivity, and configure timer settings through an AI assistant:
Start a focus session (
start_session): Begin a new Pomodoro work session with an optional task name and custom duration (default: 25 min).Stop a session (
stop_session): End the current session, marking it as completed or interrupted, with optional notes.Get productivity stats (
get_stats): Retrieve productivity statistics for the last N days (default: 7 days).Configure the timer (
configure_timer): Customize work period, short break, long break, and sessions before a long break (defaults: 25 min work, 5 min short break, 15 min long break, 4 sessions before long break).Generate a productivity report (
get_productivity_report): Produce a detailed report with insights and recommendations based on your session history.
Pomodoro Ai MCP
Manage Pomodoro focus sessions, breaks, and productivity analytics
Manage Pomodoro focus sessions, breaks, and productivity analytics. By MEOK AI Labs.
š Quick Start
# Install via pip
pip install pomodoro_ai_mcp
# Or install via Smithery
npx -y @smithery/cli@latest install pomodoro-ai-mcp --client claudeRelated MCP server: Consciousness Engine MCP
⨠Features
MCP protocol compliant
Easy installation
Well-documented API
Production-ready
Active maintenance
š Documentation
š”ļø Compliance
This MCP server is built with EU AI Act compliance built-in:
ā Article 9 ā Risk Management System
ā Article 13 ā Transparency & Instructions for Use
ā Article 15 ā Bias Detection & Testing
ā Article 26 ā FRIA Support (where applicable)
ā Article 50 ā AI Content Watermarking (where applicable)
Need help getting compliant? Book a free 15-min diagnostic ā
š¢ Enterprise
Need custom development, SLA guarantees, or white-label deployment?
Pro: $99/mo ā Full MCP suite + EU AI Act tracking
Enterprise: $499/mo ā Custom dev + SLA + Dedicated support
View Pricing ā | Contact Sales ā
š¤ Part of the MEOK Ecosystem
This server is part of the MEOK AI Labs ecosystem ā 300+ MCP servers for sovereign AI governance.
Domain | Purpose |
EU AI Act compliance marketplace | |
AI safety & monitoring | |
Sovereign AI platform | |
Legacy modernization |
š License
MIT Ā© CSOAI-ORG
Pairs with MEOK Governance Suite
Build something that touches users? You need compliance. MEOK ships 38 governance MCPs that drop in alongside this tool ā EU AI Act, DORA, NIS2, CRA, GDPR, ISO 42001, FDA SaMD, MDR, Basel, MiFID II, MiCA, COPPA, and more.
# One-shot install of the governance pack
npx meok-setup --pack governanceFree tier: 10 calls/day per MCP. Pro tier (Ā£79/mo): unlimited + cryptographically signed compliance attestations your auditor verifies independently.
ā Full catalogue: councilof.ai/catalogue ā MEOK AI Labs: meok.ai
šø Try MEOK in 30 seconds ā instant buy ladder
Tier | Price | What you get | Stripe |
Smoke test | £1 | Signed sample MCP-Hardening report + Article 50 PDF | |
Quick Kit | £9 | EU AI Act Article 50 implementation guide (C2PA + EU-Icon) | |
Founder Call | £29 | 30-min 1-on-1 with the founder |
Refundable. UK Stripe ā VAT-clean. Builds on the 81-MCP MEOK fleet. Verify any signed report at https://meok.ai/verify.
Configuration
Add to your claude_desktop_config.json (Claude Desktop) or your MCP client config:
{
"mcpServers": {
"pomodoro-ai-mcp": {
"command": "uvx",
"args": ["pomodoro-ai-mcp"]
}
}
}Or: pip install pomodoro-ai-mcp then run the pomodoro-ai-mcp command (stdio transport).
Examples
Once configured, ask your assistant, for example:
"Use
start_sessionto ā¦""Use
stop_sessionto ā¦""Use
get_statsto ā¦"
Available Tools
5 toolsconfigure_timerD
Configure Pomodoro timer durations. Customise work, short break, long break, and session count before long break.
Behavior: This tool is read-only and stateless ā it produces analysis output without modifying any external systems, databases, or files. Safe to call repeatedly with identical inputs (idempotent). Free tier: 10/day rate limit. Pro tier: unlimited. No authentication required for basic usage.
When to use: Use this tool when you need structured analysis or classification of inputs against established frameworks or standards.
When NOT to use: Not suitable for real-time production decision-making without human review of results.
Args: work_minutes (int): The work minutes to analyze or process. short_break (int): The short break to analyze or process. long_break (int): The long break to analyze or process. sessions_before_long (int): The sessions before long to analyze or process. api_key (str): The api key to analyze or process.
Behavioral Transparency: - Side Effects: This tool is read-only and produces no side effects. It does not modify any external state, databases, or files. All output is computed in-memory and returned directly to the caller. - Authentication: No authentication required for basic usage. Pro/Enterprise tiers require a valid MEOK API key passed via the MEOK_API_KEY environment variable. - Rate Limits: Free tier: 10 calls/day. Pro tier: unlimited. Rate limit headers are included in responses (X-RateLimit-Remaining, X-RateLimit-Reset). - Error Handling: Returns structured error objects with 'error' key on failure. Never raises unhandled exceptions. Invalid inputs return descriptive validation errors. - Idempotency: Fully idempotent ā calling with the same inputs always produces the same output. Safe to retry on timeout or transient failure. - Data Privacy: No input data is stored, logged, or transmitted to external services. All processing happens locally within the MCP server process.
| Name | Required | Description | Default |
|---|---|---|---|
| work_minutes | No | ||
| short_break | No | ||
| long_break | No | ||
| sessions_before_long | No | ||
| api_key | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes read-only, idempotent behavior with rate limits, but contradicts the 'configure' purpose. Without annotations, the description should clarify actual effects; instead it adds confusion.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Long and repetitive; the Behavioral Transparency section repeats content already stated. Not front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Missing explanation of how configuration is applied or what output is produced. Despite having an output schema, the description does not clarify the tool's purpose or result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description's 'Args' section provides generic phrases like 'The work minutes to analyze or process' that add no useful context for a Pomodoro timer configuration tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with 'Configure Pomodoro timer durations' but later claims it is read-only and produces analysis output, creating a fundamental contradiction. The purpose is unclear and misleading.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides generic 'When to use' and 'When NOT to use' sections that are not specific to this tool or its siblings. No differentiation from start_session, stop_session, etc.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_productivity_reportA
Generate a detailed productivity report with insights and recommendations.
Behavior: This tool generates structured output without modifying external systems. Output is deterministic for identical inputs. No side effects. Free tier: 10/day rate limit. Pro tier: unlimited. No authentication required for basic usage.
When to use: Use this tool when you need structured analysis or classification of inputs against established frameworks or standards.
When NOT to use: Not suitable for real-time production decision-making without human review of results.
Args: api_key (str): The api key to analyze or process.
Behavioral Transparency: - Side Effects: This tool is read-only and produces no side effects. It does not modify any external state, databases, or files. All output is computed in-memory and returned directly to the caller. - Authentication: No authentication required for basic usage. Pro/Enterprise tiers require a valid MEOK API key passed via the MEOK_API_KEY environment variable. - Rate Limits: Free tier: 10 calls/day. Pro tier: unlimited. Rate limit headers are included in responses (X-RateLimit-Remaining, X-RateLimit-Reset). - Error Handling: Returns structured error objects with 'error' key on failure. Never raises unhandled exceptions. Invalid inputs return descriptive validation errors. - Idempotency: Fully idempotent ā calling with the same inputs always produces the same output. Safe to retry on timeout or transient failure. - Data Privacy: No input data is stored, logged, or transmitted to external services. All processing happens locally within the MCP server process.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the comprehensive 'Behavioral Transparency' section covers side effects (read-only), authentication, rate limits, error handling, idempotency, and data privacy in detail, far exceeding minimal requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured but somewhat verbose, with overlapping content between 'Behavior' and 'Behavioral Transparency' sections. More concise phrasing would improve efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists, the description need not detail return values. It covers usage, behavior, and limitations adequately, though examples or typical use cases would enhance completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The api_key parameter is described as 'The api key to analyze or process,' and transparency notes mention its role in Pro/Enterprise tiers. While clear, it could specify the expected format or service more explicitly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it generates a detailed productivity report with insights and recommendations. This distinguishes it from sibling tools (timer/session management) by focusing on analysis and reporting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes explicit 'When to use' and 'When NOT to use' sections, advising use for structured analysis/classification and cautioning against real-time decisions without human review.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_statsA
Get Pomodoro productivity statistics for the last N days (default 7).
Behavior: This tool generates structured output without modifying external systems. Output is deterministic for identical inputs. No side effects. Free tier: 10/day rate limit. Pro tier: unlimited. No authentication required for basic usage.
When to use: Use this tool when you need structured analysis or classification of inputs against established frameworks or standards.
When NOT to use: Not suitable for real-time production decision-making without human review of results.
Args: days (int): The days to analyze or process. api_key (str): The api key to analyze or process.
Behavioral Transparency: - Side Effects: This tool is read-only and produces no side effects. It does not modify any external state, databases, or files. All output is computed in-memory and returned directly to the caller. - Authentication: No authentication required for basic usage. Pro/Enterprise tiers require a valid MEOK API key passed via the MEOK_API_KEY environment variable. - Rate Limits: Free tier: 10 calls/day. Pro tier: unlimited. Rate limit headers are included in responses (X-RateLimit-Remaining, X-RateLimit-Reset). - Error Handling: Returns structured error objects with 'error' key on failure. Never raises unhandled exceptions. Invalid inputs return descriptive validation errors. - Idempotency: Fully idempotent ā calling with the same inputs always produces the same output. Safe to retry on timeout or transient failure. - Data Privacy: No input data is stored, logged, or transmitted to external services. All processing happens locally within the MCP server process.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| api_key | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Comprehensive 'Behavioral Transparency' section details side effects, authentication, rate limits, error handling, idempotency, and data privacy, despite no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Overly verbose with redundant sections (e.g., 'Behavior' duplicates 'Behavioral Transparency'). Could be more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers behavioral aspects thoroughly but neglects parameter descriptions and differentiation from sibling 'get_productivity_report'. Output schema exists but not referenced.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, description fails to add meaning beyond parameter names. Args descriptions are generic and unhelpful ('The days to analyze or process').
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb 'Get', resource 'Pomodoro productivity statistics', and scope 'last N days'. Distinct from siblings like start_session and configure_timer.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit 'When to use' and 'When NOT to use' sections provide clear guidance on appropriate use cases and limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_sessionD
Start a new Pomodoro focus session. Optionally specify a task name and custom duration (default uses configured timer).
Behavior: This tool is read-only and stateless ā it produces analysis output without modifying any external systems, databases, or files. Safe to call repeatedly with identical inputs (idempotent). Free tier: 10/day rate limit. Pro tier: unlimited. No authentication required for basic usage.
When to use: Use this tool when you need structured analysis or classification of inputs against established frameworks or standards.
When NOT to use: Not suitable for real-time production decision-making without human review of results.
Args: task (str): The task to analyze or process. duration_minutes (int): The duration minutes to analyze or process. api_key (str): The api key to analyze or process.
Behavioral Transparency: - Side Effects: This tool is read-only and produces no side effects. It does not modify any external state, databases, or files. All output is computed in-memory and returned directly to the caller. - Authentication: No authentication required for basic usage. Pro/Enterprise tiers require a valid MEOK API key passed via the MEOK_API_KEY environment variable. - Rate Limits: Free tier: 10 calls/day. Pro tier: unlimited. Rate limit headers are included in responses (X-RateLimit-Remaining, X-RateLimit-Reset). - Error Handling: Returns structured error objects with 'error' key on failure. Never raises unhandled exceptions. Invalid inputs return descriptive validation errors. - Idempotency: Fully idempotent ā calling with the same inputs always produces the same output. Safe to retry on timeout or transient failure. - Data Privacy: No input data is stored, logged, or transmitted to external services. All processing happens locally within the MCP server process.
| Name | Required | Description | Default |
|---|---|---|---|
| task | No | Deep Work | |
| duration_minutes | No | ||
| api_key | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the tool is read-only, stateless, and idempotent, which is factually incorrect for starting a session. This misrepresents the tool's actual behavior, likely copied from a different tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and includes irrelevant sections (behavioral transparency, authentication, rate limits) that don't apply to starting a session. It lacks focus and contains repetitive information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given sibling tools like 'stop_session' and 'configure_timer,' the description should explain session lifecycle, default duration, task linking, and what 'default uses configured timer' means. It fails to provide any of this context, making it incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Parameter descriptions are generic placeholders ('The task to analyze or process') that add no value beyond the schema. With 0% schema description coverage, the description should compensate but fails to explain the purpose or constraints of each parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence clearly states 'Start a new Pomodoro focus session,' which is a specific verb+resource. However, the subsequent description (read-only analysis, classification) contradicts this purpose, causing confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'When to use' section suggests using it for structured analysis, which is inconsistent with starting a session. The 'When NOT to use' mentions real-time production decision-making, irrelevant to Pomodoro sessions. No guidance on session-specific use cases or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stop_sessionD
Stop the current Pomodoro session. Mark as completed or interrupted. Add optional notes.
Behavior: This tool is read-only and stateless ā it produces analysis output without modifying any external systems, databases, or files. Safe to call repeatedly with identical inputs (idempotent). Free tier: 10/day rate limit. Pro tier: unlimited. No authentication required for basic usage.
When to use: Use this tool when you need structured analysis or classification of inputs against established frameworks or standards.
When NOT to use: Not suitable for real-time production decision-making without human review of results.
Args: completed (bool): The completed to analyze or process. notes (str): The notes to analyze or process. api_key (str): The api key to analyze or process.
Behavioral Transparency: - Side Effects: This tool is read-only and produces no side effects. It does not modify any external state, databases, or files. All output is computed in-memory and returned directly to the caller. - Authentication: No authentication required for basic usage. Pro/Enterprise tiers require a valid MEOK API key passed via the MEOK_API_KEY environment variable. - Rate Limits: Free tier: 10 calls/day. Pro tier: unlimited. Rate limit headers are included in responses (X-RateLimit-Remaining, X-RateLimit-Reset). - Error Handling: Returns structured error objects with 'error' key on failure. Never raises unhandled exceptions. Invalid inputs return descriptive validation errors. - Idempotency: Fully idempotent ā calling with the same inputs always produces the same output. Safe to retry on timeout or transient failure. - Data Privacy: No input data is stored, logged, or transmitted to external services. All processing happens locally within the MCP server process.
| Name | Required | Description | Default |
|---|---|---|---|
| completed | No | ||
| notes | No | ||
| api_key | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description claims read-only, stateless, and no side effects, which contradicts the action implied by the tool name 'stop_session' (a state-changing operation). Annotations are absent, so description carries full burden but misleads.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is lengthy with repetitive sections; the first sentence is concise but followed by irrelevant bulk (Behavior, When to use/not, Behavioral Transparency) that should have been tailored to the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks crucial details like how the session is stopped, effects on timers, or output structure despite having an output schema; entirely incomplete for a state-changing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Parameter descriptions in the 'Args' section are generic ('The completed to analyze or process') and add no meaningful context beyond the schema; with 0% schema description coverage, this fails to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
First sentence clearly states 'Stop the current Pomodoro session', but subsequent text describes a read-only analysis tool, creating confusion about the actual purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
When-to-use and when-not-to-use sections are about analysis/classification, irrelevant to stopping a session; no guidance relative to sibling tools.
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.
5 tool updates
v1.0.0- First observed
configure_timer - First observed
get_productivity_report - First observed
get_stats - First observed
start_session - First observed
stop_session
TDQS
Each tool has a clearly distinct purpose: configure_timer sets durations, start_session and stop_session manage sessions, get_stats retrieves statistics, and get_productivity_report generates a report. No overlap in functionality.
All tool names follow the verb_noun pattern in snake_case (configure_timer, get_productivity_report, get_stats, start_session, stop_session), providing a predictable and consistent naming convention.
With 5 tools covering configuration, session management, and reporting, the count is well-scoped for a Pomodoro timer server. Each tool serves a clear and necessary function without bloat.
The tool surface covers the core lifecycle (configure, start, stop, view statistics/report). Minor gaps exist, such as no pause/resume or session listing, but these do not critically hinder basic workflow.
Maintenance
Related MCP Connectors
Official MCP server for Agentwork ā delegate tasks to AI agents with human-in-the-loop
MCP server for NanoBanana AI image generation and editing
MCP server for Flux AI image generation
Related MCP Servers
- AlicenseAqualityBmaintenanceCron AI - MCP server providing AI-powered tools and automation by MEOK AI Labs415MIT
- AlicenseNot gradedqualityFmaintenanceConsciousness Engine - MCP server providing AI-powered tools and automation by MEOK AI Labs15MIT
- AlicenseNot gradedqualityBmaintenanceCreativity Engine - MCP server providing AI-powered tools and automation by MEOK AI Labs19MIT
- AlicenseNot gradedqualityBmaintenanceNote Taking AI - MCP server providing AI-powered tools and automation by MEOK AI Labs15MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/CSOAI-ORG/pomodoro-ai-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server