Skip to content

Feature: Add Docker Support and HTTP Transport Option#34

Open
JakobGruen wants to merge 4 commits into
jacepark12:mainfrom
JakobGruen:feature/docker-and-http-support
Open

Feature: Add Docker Support and HTTP Transport Option#34
JakobGruen wants to merge 4 commits into
jacepark12:mainfrom
JakobGruen:feature/docker-and-http-support

Conversation

@JakobGruen

Copy link
Copy Markdown

Summary

This PR introduces Docker support for the TickTick MCP server and enhances the CLI to allow running the server with either stdio or streamable-http transport. It also updates the documentation to reflect these new capabilities.

Changes

Docker Support

  • Added a Dockerfile for building and running the TickTick MCP server in a container.

HTTP Support

  • Modified the server’s main function to accept the transport type as an argument.
  • Updated the CLI to support a new --transport option, allowing selection between stdio (default) and streamable-http for HTTP server mode.

Documentation

  • Expanded the README.md with instructions for building, running, and using the server with Docker.
  • Added usage examples for both stdio and HTTP server modes.

Motivation

  • Simplifies deployment by providing a ready-to-use Docker image.
  • Enables running the server as a streamable HTTP service, making it easier to integrate with tools and platforms that require HTTP endpoints.

Testing

  • Built and ran the Docker image locally and as Azure Container App.
  • Verified both stdio and streamable-http transport modes work as expected.
    • added test_server_streamable_http.py to test the new transport mode.

- Introduced a Dockerfile for building and running the TickTick MCP server in a container.
- Enhanced README with Docker usage instructions.
- Updated CLI to support 'streamable-http' transport option alongside 'stdio'.
- Modified server main function to accept transport type as an argument.
@hugocool

Copy link
Copy Markdown

how is OAuth handled in the dockerised version? I am running into issues with it not opening the browser nor printing the url for authentication..

@JakobGruen JakobGruen force-pushed the feature/docker-and-http-support branch from f8ecfb8 to 79f194a Compare August 1, 2025 14:31
@JakobGruen

Copy link
Copy Markdown
Author

Oh, I had forgotten about the authorization process. I already had an access token and just filled it in the .env

But it should work now as described in the docs.

@hugocool

hugocool commented Aug 8, 2025

Copy link
Copy Markdown

Another suggestion:
Allowing the user to set the ticktick_redirect_uri from the .env file, it's now hardcoded to port 8000. However, many services default to this port, so not being able to change it causes grief during setup, unfortunately.

@ForceConstant

Copy link
Copy Markdown

Any updates on this? I would like to take advantage of using a docker version of this mcp.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants