Skip to main content

Tool that allows you to wait a certain time to continue the execution of an agent.

Project description

Sleep MCP Server

smithery badge

This MCP server attempts to pause execution for a specified duration to control the flow of your agents. Enhance your automation by introducing timed delays, ensuring tasks are executed in the desired sequence. Ideal for managing workflows that require waiting periods between actions.

Sleep MCP Server

Setup

Installation

Using MCP package managers

Smithery

To install Sleep MCP for Claude Desktop automatically via Smithery:

npx @smithery/cli install @AgentsWorkingTogether/mcp-sleep --client claude

mcp-get

You can install the Sleep MCP server using mcp-get:

npx @michaellatman/mcp-get@latest install mcp-sleep

Prerequisites

MCP is still very new and evolving, we recommend following the MCP documentation to get the MCP basics up and running.

You'll need:

Configuration

1. Configure Claude Desktop

Create the following file depending on your OS:

On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json

On Windows: %APPDATA%/Claude/claude_desktop_config.json

Paste this template in the file

{
    "mcpServers": {
        "mcp-sleep": {
            "command": "uvx",
            "args": [
                "mcp-sleep"
            ],
        }
    }
}

Optionally, it replace <MCP_SLEEP_TIMEOUT> with your timeout ( maximum time allowed to wait, default 60 seconds ):

{
    "mcpServers": {
        "mcp-sleep": {
            "command": "uvx",
            "args": [
                "mcp-sleep"
            ],
            "env": {
                "MCP_SLEEP_TIMEOUT": "<MCP_SLEEP_TIMEOUT>"
            }
        }
    }
}

2. Restart Claude Desktop

SSE mode

Alternatively, you can run the MCP server in SSE mode by running the following command:

uvx mcp-sleep --transport sse

This mode is useful to integrate with an MCP client that supports SSE (like a web app).

Tools

  1. sleep
    • Pause execution for a specified duration to control the flow of your agents.
    • Inputs:
      • seconds (number, max timeout config value): Seconds it will take me to tell you to continue
    • Returns: You will receive the sentence after {seconds} "You can continue to do your task after you've been waiting {seconds} seconds". If you enter a waiting time greater than the maximum time the result will be "My configuration does not allow me to make you wait more than {ctx.sleep.config.timeout} seconds"

Usage with Claude Desktop

To use this with Claude Desktop, add the following to your claude_desktop_config.json:

Docker

{
  "mcpServers": {
    "mcp-sleep": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "MCP_SLEEP_TIMEOUT",
        "mcp/sleep"
      ],
      "env": {
        "MCP_SLEEP_TIMEOUT": "<MCP_SLEEP_TIMEOUT>"
      }
    }
  }
}

Development

Config

If you are working locally add two environment variables to a .env file in the root of the repository:

MCP_SLEEP_TIMEOUT=

For local development, update your Claude Desktop configuration:

{
  "mcpServers": {
      "mcp-sleep_local": {
          "command": "uv",
          "args": [
              "run",
              "--directory",
              "/path/to/your/mcp-sleep",
              "run",
              "mcp-sleep"
          ]
      }
  }
}
Published Servers Configuration
"mcpServers": {
  "mcp-sleep": {
    "command": "uvx",
    "args": [
      "mcp-sleep"
    ]
  }
}

Building and Publishing

To prepare the package for distribution:

  1. Sync dependencies and update lockfile:
uv sync
  1. Build package distributions:
uv build

This will create source and wheel distributions in the dist/ directory.

  1. Publish to PyPI:
uv publish

Note: You'll need to set PyPI credentials via environment variables or command flags:

  • Token: --token or UV_PUBLISH_TOKEN
  • Or username/password: --username/UV_PUBLISH_USERNAME and --password/UV_PUBLISH_PASSWORD

Docker build:

docker build -t mcp/sleep -f Dockerfile .

Debugging

Since MCP servers run over stdio, debugging can be challenging. For the best debugging experience, we strongly recommend using the MCP Inspector.

You can launch the MCP Inspector via npm with this command:

npx @modelcontextprotocol/inspector uv --directory /path/to/your/mcp-sleep run mcp-sleep

Upon launching, the Inspector will display a URL that you can access in your browser to begin debugging.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_sleep-0.1.1.tar.gz (18.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_sleep-0.1.1-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

Details for the file mcp_sleep-0.1.1.tar.gz.

File metadata

  • Download URL: mcp_sleep-0.1.1.tar.gz
  • Upload date:
  • Size: 18.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.5

File hashes

Hashes for mcp_sleep-0.1.1.tar.gz
Algorithm Hash digest
SHA256 0a3e468da181e32057f0dd5baa18658853948b7157256798a7fb4c0b0c623776
MD5 3fd8c6e50e762aff218f3ede3cbeacbe
BLAKE2b-256 c021345f0f904c03a892e3442bacd70f7cfa21808177a54b097b3339f8fc5788

See more details on using hashes here.

File details

Details for the file mcp_sleep-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: mcp_sleep-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 12.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.5

File hashes

Hashes for mcp_sleep-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 df4dfc454d5b7691e5926389a8bdb5d006b0af0cb50f7961a7b7f30d43c5099f
MD5 9ebf205dbe9ea111cc2081fb9cef3a26
BLAKE2b-256 19fbb515d5d2c6f1776010697768eedb98372e70cac58f429f66cb7e168d1c72

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page