Skip to main content

🦾 A strong MCP server for ClickUp.

Project description

ClickUp MCP Server

PyPI package version GitHub release version CI/CD status Pre-Commit building state Code quality level documentation CI status Software license

clickup-mcp-server logo

clickup-mcp-server is a Python tool to set up MCP server easily and humanly.

Overview

🦾 A strong Model, Capability, Protocol (MCP) server for ClickUp API integration. This server provides a standardized interface for interacting with ClickUp's API through the MCP protocol, making it easier to build AI-enabled applications that leverage ClickUp's project management capabilities.

Features

  • Multiple transport protocols (HTTP streaming and SSE)
  • Environment variable configuration via .env files
  • Consolidated data models for seamless API interaction

Python versions support

Supported Versions

Requires Python 3.13 or higher.

Quick Start

Installation

pip install clickup-mcp-server

Running the server

The simplest way to start the server:

clickup-mcp-server --token YOUR_CLICKUP_API_TOKEN

Using environment files

You can store your API token in a .env file:

# .env file
CLICKUP_API_TOKEN=your_api_token_here

And start the server with:

clickup-mcp-server --env /path/to/.env

Client connection

Connect to the server using any MCP client implementation. Example:

  • Using SSE transport
import asyncio
from mcp import ClientSession
from mcp.client.sse import sse_client

async def get_authorized_teams():
    url = "http://localhost:3005/sse"

    async with sse_client(url) as (read_stream, write_stream):
        async with ClientSession(read_stream, write_stream) as session:
            await session.initialize()

            tools = await session.list_tools()
            print("Available tools:", [tools])

            res = await session.call_tool(
                name="get_authorized_teams",
            )
            print("get_authorized_teams →", res.model_dump())

if __name__ == "__main__":
    asyncio.run(get_authorized_teams())
  • Using streaming HTTP transport
import asyncio
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client

async def get_authorized_teams():
    url = "http://localhost:3005/mcp/mcp"

    async with streamablehttp_client(url) as (
        read_stream,
        write_stream,
        _close_fn,
    ):
        async with ClientSession(read_stream, write_stream) as session:
            await session.initialize()

            tools_resp = await session.list_tools()
            print("Available tools:", [t.name for t in tools_resp.tools])

            res = await session.call_tool(
                name="get_authorized_teams",
            )
            print("get_authorized_teams →", res.model_dump())

if __name__ == "__main__":
    asyncio.run(get_authorized_teams())

API Resources

The server provides access to the following ClickUp resources:

  • Teams
  • Spaces

Configuration Options

The server supports various configuration options:

Option Environment Variable Description
--token CLICKUP_API_TOKEN Your ClickUp API token
--env - Path to .env file containing configuration
--port - Port to run the server on (default: 8000)
--host - Host to bind the server to (default: 127.0.0.1)

Documentation

documentation

The documentation contains more details, demonstrations and anything you need about clickup-mcp-server.

Coding style and following rules

follows coding styles black and PyLint to control code quality.

Code style: black linting: pylint

Downloading state

clickup-mcp-server still a young open source which keeps growing. Here's its download state:

Downloads Downloads

License

MIT License

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

clickup_mcp_server-0.1.0.tar.gz (49.8 kB view details)

Uploaded Source

Built Distribution

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

clickup_mcp_server-0.1.0-py3-none-any.whl (86.0 kB view details)

Uploaded Python 3

File details

Details for the file clickup_mcp_server-0.1.0.tar.gz.

File metadata

  • Download URL: clickup_mcp_server-0.1.0.tar.gz
  • Upload date:
  • Size: 49.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for clickup_mcp_server-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7170077e4f590d4f4c7e5a52c43c87168d0ffcb4cd2c19555808caa62023ec2c
MD5 9ac1507453d4ba9b8486ba7e7796619e
BLAKE2b-256 5f92f8c2a8b728ea2ad894ebf12ea5e994f977acbf14f260a1f73c40a3a255e1

See more details on using hashes here.

File details

Details for the file clickup_mcp_server-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: clickup_mcp_server-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 86.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for clickup_mcp_server-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 28c96861ce6db60caff035124a614860277b2c9e89e9e25a93bca86a5d95581c
MD5 1694a239e1d71fc4e7e4d8b7086168e0
BLAKE2b-256 305165b1d2a6ad5e6d9a1e76855d8419a734ead0ca9c7c2d5168c9dab06bc8bb

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