YouTrack MCP server over Streamable HTTP: every profile on one port, behind a token
1.6K
ymcp is a toolchain for YouTrack: an MCP server and pipelines that hand issues to coding agents. The MCP server gives AI clients the full YouTrack MCP toolset, plus deletes, sprints, attachments, history, time reports and a raw API tool. This image runs it as a Streamable HTTP server, serving every configured YouTrack instance (profile) on one port. It signs in with a login and password, like the YouTrack web UI. Pipelines are not in the image; they need a local install.
Add a profile. auth asks for the URL, login and password, and checks them before saving:
docker run -it --rm -v ymcp:/config xlsoftware/ymcp auth
docker run -it --rm -v ymcp:/config xlsoftware/ymcp --profile youtrack-acme auth # another instance
Run the server with a bearer token:
docker run -d --name ymcp --restart unless-stopped \
-p 127.0.0.1:8090:8090 -v ymcp:/config \
-e YMCP_HTTP_TOKEN="$(openssl rand -hex 32)" \
xlsoftware/ymcp
docker logs ymcp # lists each profile and its URL
Each profile is served at http://<host>:8090/<profile>, and the default one at / too. Point a client at it with
the token, e.g. Claude Code:
claude mcp add --transport http youtrack http://127.0.0.1:8090/youtrack --header "Authorization: Bearer <token>"
For a single instance without a volume, pass the connection instead:
-e YOUTRACK_URL=https://youtrack.example.com -e YOUTRACK_LOGIN=… -e YOUTRACK_PASSWORD=….
| Variable | |
|---|---|
YMCP_HTTP_TOKEN | Bearer token every request must carry. Without one, keep the port on loopback |
YMCP_TOOLS | Tool groups to serve, e.g. issues,comments,articles,-delete_issue |
YOUTRACK_PROXY | none to connect directly, or a proxy URL |
YMCP_LOG_LEVEL | debug logs every YouTrack request |
Arguments after the image name replace the default command, serve --transport http --addr 0.0.0.0:8090, e.g.
xlsoftware/ymcp serve --transport http --addr 0.0.0.0:8090 --profiles youtrack,youtrack-acme.
The image has a HEALTHCHECK on GET /healthz, which answers without the token.
There is no keychain in a container, so passwords are kept in the /config volume's config file (mode 0600);
treat the volume as a secret.
latest, <major>.<minor> and <version>, for linux/amd64 and linux/arm64. Images are signed keylessly with
Sigstore by the repository's release workflow and carry SBOM and provenance attestations:
cosign verify xlsoftware/ymcp:latest \
--certificate-identity-regexp '^https://github.com/xlsft/ymcp/\.github/workflows/' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com
Documentation, the tool list and the native installer: github.com/xlsft/ymcp. MIT licensed.
Content type
Image
Digest
sha256:e406b9a25…
Size
8.2 MB
Last updated
about 4 hours ago
docker pull xlsoftware/ymcp