Simple Timer MCP Server
Runs on Node.js runtime (v18.x or later recommended) to provide interval timing functionality via token-based time tracking.
Uses SQLite for persistent storage of timer data, allowing the server to maintain timer state across sessions.
Built with TypeScript, providing type-safe implementation of timer functionality with compilation to JavaScript.
Utilizes Yarn package manager for dependency management and running server commands.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Simple Timer MCP Servercheck how long ago I started my coding session"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Simple Timer MCP Server
An MCP (Model Context Protocol) Server that provides interval timing functionality using token-based time tracking. This project serves as a beginner-friendly example of an MCP Server implementation, demonstrating core MCP development concepts through minimal, practical functionality.
Features
Token-based Timers: Start and check timers using unique string identifiers (tokens).
Elapsed Time Calculation: Calculates and returns the time elapsed since a timer was started.
Human-Readable Output: Option to get elapsed time in a human-readable format (e.g., "2 hours, 15 minutes ago").
Timer Deletion: Ability to delete existing timers.
Timer Listing: List all currently active timers.
SQLite Database: Uses a lightweight
better-sqlite3database for persistent storage of timer data.
Related MCP server: MCP Time Server
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisites
Node.js (v18.x or later recommended)
Yarn (v1.x or later)
Installation
Clone the repository:
git clone https://github.com/tonyOgbonna/Simple-Timer-MCP-Server.git cd Simple-Timer-MCP-ServerInstall dependencies:
yarn install
Building the Project
The project is written in TypeScript and needs to be compiled to JavaScript.
yarn buildThis will compile the TypeScript files from src/ into the dist/ directory.
Running the Server
To start the MCP server, run the following command:
yarn startThe server will initialize the SQLite database (timer.db in the project root) if it doesn't exist and start listening for MCP requests via StdioServerTransport. You should see output similar to:
Database initialized and 'timers' table ensured.
MCP Server 'Simple Timer' started and listening via StdioServerTransport.Integration with MCP Hosts
This section provides general guidance on how to integrate this local MCP server with various MCP-compatible hosts (e.g., Cline, Roo Code, Cursor, Claude Code). The exact steps may vary slightly depending on the host's interface.
Typically, you will need to provide the host with the command to execute this server.
Ensure the server is built: Before integrating, make sure the project is built by running
yarn build.Provide the execution command: The command to run this server is
node dist/index.js.For hosts that accept a direct command: Simply provide
node dist/index.js.For hosts that require a full path: You might need to provide the absolute path to your project's
dist/index.jsfile, e.g.,/path/to/your/project/timer_mcp_server/dist/index.js.For hosts that use
package.jsonscripts: Some hosts might automatically detect and use thestartscript defined inpackage.json(i.e.,yarn start).
Consult your specific MCP host's documentation for precise instructions on adding a local MCP server.
Generally:
"mcpServers": { "Simple-Timer-MCP-Server": { "command": "node", "args": [ "/path/to/install/folder/dist/index.js" ] } }
MCP Tools
This MCP Server exposes four tools: start_timer, check_timer, delete_timer, and list_timers.
start_timer
Starts a new timer for a given token. If a timer for the token already exists, it will inform you of the existing timer's start time.
Arguments:
token(string, required): A unique string identifier for the timer.
Example Usage (Conceptual - via MCP Client):
{ "tool_name": "start_timer", "arguments": { "token": "my_first_timer" } }Example Response:
Timer for token 'my_first_timer' started at: 2025-06-03T01:55:00.000Zor
Timer for token 'my_first_timer' already exists. Started at: 2025-06-03T01:00:00.000Z
check_timer
Checks the elapsed time for an existing timer.
Arguments:
token(string, required): The unique string identifier for the timer.format(enum, optional):raw(default) for milliseconds, orhuman_readablefor a descriptive string.
Example Usage (Conceptual - via MCP Client):
{ "tool_name": "check_timer", "arguments": { "token": "my_first_timer", "format": "human_readable" } }Example Response (human_readable):
Elapsed time for token 'my_first_timer': 1 hour, 30 minutes, 45 seconds.Example Response (raw):
Elapsed time for token 'my_first_timer': 5445000 milliseconds.or
No timer found for token 'non_existent_timer'.
delete_timer
Deletes an existing timer for a given token.
Arguments:
token(string, required): The unique string identifier for the timer to delete.
Example Usage (Conceptual - via MCP Client):
{ "tool_name": "delete_timer", "arguments": { "token": "my_first_timer" } }Example Response:
Timer for token 'my_first_timer' deleted successfully.or
No timer found for token 'non_existent_timer' to delete.
list_timers
Lists all currently active timers, returning their tokens and start times.
Arguments: None
Example Usage (Conceptual - via MCP Client):
{ "tool_name": "list_timers", "arguments": {} }Example Response:
[ { "token": "my_first_timer", "startTime": "2025-06-03T01:55:00.000Z" }, { "token": "another_timer", "startTime": "2025-06-03T02:00:00.000Z" } ]or (if no timers exist)
[]
Project Structure
.
├── .git/ # Git version control directory
├── dist/ # Compiled JavaScript output
├── src/ # TypeScript source code
│ └── index.ts # Main MCP server logic
├── .gitignore # Specifies intentionally untracked files to ignore
├── package.json # Project metadata and dependencies
├── README.md # This file
├── tsconfig.json # TypeScript configuration
├── yarn.lock # Yarn dependency lock file
└── test-client.ts # Script for testing server functionalityContributing
Contributions are welcome! Please feel free to open issues or submit pull requests.
License
This project is licensed under the ISC License.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityCmaintenanceAn MCP server that allows checking local time on the client machine or current UTC time from an NTP serverLast updated233MIT
- Flicense-qualityDmaintenanceA minimal MCP server that provides current time information with configurable timezone support set on the client side.Last updated
- AlicenseBqualityDmaintenanceTime MCP Server is a server implementation that provides time aware capabilities for large language models, supporting functions such as obtaining current time, relative time, and timestamp conversion.Last updated62Apache 2.0
- FlicenseAqualityDmaintenanceA general-purpose MCP server providing time-related utilities such as fetching current time, Unix timestamps, and formatting services. It supports both local stdio and remote SSE communication modes for versatile AI client integration.Last updated3
Related MCP Connectors
Time MCP server via HTTP
A paid remote MCP for hosted MCP server, built to return verdicts, receipts, usage logs, and audit-r
A time server that keeps your AI honest about time. Real clock + drift guard, zero dependencies.
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/tonyOgbonna/Simple-Timer-MCP-Server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server