Integrations with GitHub, Jira and invoicing — ending in an invoice, not a closed ticket.
The only tool where integrations close the whole cycle: task → commit → merge → work report → invoice. No manual retyping, no middleware.
Connectors: inbound webhooks from GitHub and GitLab · pull requests opened by the runner on GitHub or Bitbucket Cloud · import from Jira and Trello · export to Czech invoicing.
Who this is for
You bill clients by hours logged
Commit → work report → invoice in Fakturoid or iDoklad, without retyping hours or copying totals.
You don't want a big migration project
Two-way coexistence with Jira, Trello, or EasyRedmine. Move over when you're ready; leave any time.
From commit to invoice — automatically
Competitors end when the PR closes the ticket. mcptask.online keeps going until the invoice is issued.
Commit with %
A commit message like https://mcptask.online/ACCOUNT/tasks/47 40% updates the piece automatically.
Piece advances
The linked task moves forward and the effort is logged — no one opens the board to drag cards.
PR / MR merged
Merge triggers approval and a completion note. The last effort is set to 100%.
Work report ready
Reported time is collected into a clean work report for the period and client.
Invoice issued
One click creates the invoice in Fakturoid or iDoklad, with VAT and client mapping handled.
Others stop at 'ticket closed'. mcptask.online stops at 'invoice sent'.
Setup takes 5 minutes. No middleware, no scraping, no custom code.
Version control (Inbound webhooks)
These are inbound webhooks — your Git host calls mcptask.online when something happens. The direction reverses for pull requests: the runner's mcptask_runner pr command goes outbound and opens, reviews and merges PRs on GitHub or Bitbucket Cloud. Outbound webhooks (mcptask.online → your systems) are planned; see the roadmap.
GitHub Integration
Commits and PRs automatically update the linked piece and trigger approval on merge.
- Two webhooks per repository — one for push, one for pull request
- Commit message progress + PR body reference → auto-approval on merge
- Works with public and private repositories
- Signed with your account secret token via X-Hub-Signature-256
GitLab Integration
Commits and MRs automatically update the linked piece and trigger approval on merge.
- Two webhooks per project — one for push, one for merge request
- Commit message progress + MR description reference → auto-approval on merge
- Works with GitLab.com and self-hosted GitLab (12.0+)
- Authenticated by the X-Gitlab-Token header (your account's secret token)
Bitbucket Cloud — via mcptask_runner
The runner opens, reviews, checks and merges pull requests on Bitbucket Cloud — mcptask_runner pr drives the whole PR loop from the piece.
- PR create / list / view / reviews / merge / checks — all driven by the runner through mcptask_runner pr
- Credential: a Bitbucket access token, or email + API token (app passwords are refused)
- git_host is derived from the repository remote, or set explicitly with mcptask_runner init --git-host bitbucket
Run your project from chat — no terminal, no new UI
Paste one URL into Claude Cowork or claude.ai and you can plan, log time, and reply to clients straight from the conversation. OAuth 2.0 — no token, no config file.
Remote MCP server URL
https://mcptask.online/mcpPaste this URL into Customize → Connectors → Add custom connector in Cowork / claude.ai
Using Claude Cowork or claude.ai? Connect in 2 minutes with one URL — no terminal, no new dashboard.
- 1
Create an account
30-day free trial, no card.
- 2
Paste the URL
One URL, no token, no Client ID.
- 3
Approve and chat
OAuth in your browser, then chat.
Detailed steps
On a Team or Enterprise plan?
An Owner first adds the connector in Organization settings → Connectors (https://claude.ai/admin-settings/connectors): Add → hover Custom → Web → paste the URL → Add. Each member then connects it themselves in Customize → Connectors — it carries a Custom label.
Heads up on architecture
The connection originates from Anthropic's cloud infrastructure, not from your machine. That is also true for Cowork and Claude Desktop. mcptask.online is publicly reachable, so no firewall or VPN setup is required.
Create your mcptask.online account
Free 30-day trial, no card. You can do this right now in a different tab.
Be logged in
The OAuth approval happens in this browser, so the account you just created has to be the active session here.
Open Customize → Connectors in Cowork / claude.ai
In Cowork or claude.ai, go to https://claude.ai/customize/connectors. Click the + and choose Add custom connector.
Paste the mcptask.online URL
Paste this URL — no Client ID or Secret, no token. Dynamic client registration handles the rest.
Remote MCP server URLhttps://mcptask.online/mcpClick Connect and approve
Click Connect. Your browser opens the mcptask.online OAuth approval page — log in (if you aren't already) and click Authorize. No token, no password is shared with Anthropic.
Enable the connector in your chat
In a new chat, click + (lower left), choose Connectors and toggle mcptask.online on. Try a first prompt:
List my projects and my next task.
Invoicing & Billing
Fakturoid (Czech Republic)
Features
- OAuth 2.0 authentication
- Issue invoice from work report
- Automatic VAT calculation (CZ rates)
- Client mapping (Fakturoid contact ↔ mcptask.online company)
- Set taxable supply and invoice date based on reported time
Workflow
- 1Reports → Work report
- 2Select company, period from the 1st to the end of the month
- 3Click "Issue invoice to Fakturoid"
- 4Invoice is created in Fakturoid
iDoklad (Czech Republic)
Features
- OAuth 2.0 authentication
- Issue invoice from work report
- Automatic VAT calculation (CZ rates)
- Client mapping (iDoklad contact ↔ mcptask.online company)
- Set taxable supply and invoice date based on reported time
Workflow
- 1Reports → Work report
- 2Select company, period from the 1st to the end of the month
- 3Click "Issue invoice on iDoklad"
- 4Invoice is created in iDoklad
Note — Stripe (our own billing)
Stripe is only used to bill you for your mcptask.online subscription (per-seat Starter/Professional/Enterprise). It is not a way to bill your clients through mcptask.online — use Fakturoid or iDoklad above for that. Details on the Pricing page.
Coexistence & migration
Coexist with the tools you already have. Sync both ways, then leave only when you want to.
Jira
Two-way sync with Jira Cloud or self-hosted via per-project API token. Comments, efforts, and finish events mirror the linked issue.
- Two-way sync: export to Jira, import Jira issues back
- Per-project: base URL + project key + per-user API token
- Jira issue key prefix (PROJ-123) keeps the link both ways
Trello
Export any task to a Trello card; import a card by name; comments and efforts sync back to the card.
- Export to a single Trello board per project
- Two-way sync for comments, efforts, finish events
- Per-user OAuth via the Trello API token
EasyRedmine
Two-way sync with self-hosted EasyRedmine. Difficulty custom field on the issue mirrors the piece's scrum point.
- Two-way sync: export to EasyRedmine, import issues back
- Per-project: base URL + project ID + per-user API key
- Works for any piece type (Epic, Story, Task, Recurent)
A PM Tool the Agent Drives
mcptask.online is built MCP-first. The agent doesn't just read your tasks — it uses the workspace as its work queue: GetNextTaskTool → work → LogWorkProgressTool → AddMessageTool.
What an autonomous workflow looks like
Plug in an MCP client and the workspace becomes the agent's to-do list, progress log, and hand-off channel.
What is MCP?
mcptask.online is built so your AI assistant can drive the whole workspace through MCP — speak one protocol, get the full tool surface (list, read, create, log, message). No HTML to scrape, no bespoke HTTP per integration. For a one-paragraph definition of the acronym, see the glossary below.
What you can do over MCP
Read:
- List projects and pieces (tasks/stories/epics)
- Get piece details (description, status, history)
- View parent/child relationships
- Access comments and attachments
- View work performed
Write:
- Update piece status
- Log work efforts
- Add comments
- Attach files
- Create pieces and subtasks
Query:
- Get next available piece (priority-sorted)
- Filter pieces by project, status, type
- List recent activity
Priority Factors
| Priority level | Urgent > High > Normal > Low |
| Due date | sooner = higher priority |
| Task type | bugs before features, configurable |
| Age | older tasks surface |
Connect Any AI Agent via MCP
mcptask_runner is optional. Any MCP-capable AI agent — Claude Code, Claude Desktop, Copilot in your IDE, or any other client — can read and work your tasks directly, no autonomous loop required. No binary, no install, just a tiny config file.
If your AI client speaks MCP, the connection takes about two minutes: get a token, add one server entry, and tell your agent which project to work on. The acronym MCP is explained in the glossary a few sections below. Open the glossary
Which clients work?
Anything that speaks MCP. Each row carries the date it was last re-checked.
Claude Code (CLI)
WorksBest fit. Add the server to your .mcp.json and Claude Code can read, list, and create tasks.
Verified 2026-08
Claude Desktop
WorksAdd the same server entry to Claude Desktop's MCP settings. Same token, same endpoint.
Verified 2026-08
Other MCP clients
WorksAny client that accepts the standard MCP server config (VS Code Continue, Cursor when MCP-enabled, custom agents) works the same way.
Verified 2026-08
GitHub Copilot (IDE: VS Code, JetBrains, Eclipse, Xcode)
WorksCopilot speaks MCP natively in the IDE and supports custom MCP servers. Add the same .mcp.json entry as Claude Code.
Verified 2026-08
GitHub Copilot (github.com/copilot web)
Not supportedThe web chat at github.com/copilot cannot connect custom MCP servers, so mcptask cannot be wired in there.
Verified 2026-08
GitHub Copilot (cloud agent / code review)
PartialMCP tools work, but MCP resources and prompts do not. A large part of mcptask's surface is served as resources under mcptask:// URIs, so resource reads fail there.
Verified 2026-08
mcptask.online as Your Agent's Task Queue
The Agent Workflow
Agent calls GetNextTaskTool via MCP
mcptask.online returns highest priority task
Agent works on task (coding, testing, etc.)
Agent calls LogWorkProgressTool with progress
Agent logs 100% via LogWorkProgressTool: mcptask.online marks the task complete on its own
Loop: Agent calls GetNextTaskTool again
Task locking prevents duplicate work
Priority-based task selection
Effort logging in a single tool call
Completion follows from a hundred-percent progress
Continuous operation loop
For Developers
No middleware, no scraping, no fictional endpoints. Set up in 5 minutes and drive mcptask.online from your AI client, Git host, or server script.
- Claude Cowork / claude.ai — detailed OAuth walkthrough
- GitHub webhooks — push + pull request
GitHub Integration
Live (Inbound Webhooks)5 minutesFeatures
Webhook event processing (push, pull request)Two repository webhooks — one for push events, one for pull request eventsCommit messages link work to a piece and set its progress percentagePull request body references link the PR and approve the piece on mergeSigned with your account secret token via X-Hub-Signature-256How it works
- 1Copy your account secret token from mcptask.online (Account → Integrations).
- 2In your GitHub repository, add a webhook with Payload URL https://mcptask.online/github/efforts, select Just the push event, and paste the secret token.
- 3Add a second webhook with Payload URL https://mcptask.online/github/pulls, select Let me select individual events → Pull requests, and paste the same secret token.
- 4In commit messages, add a line https://mcptask.online/ACCOUNT/tasks/ID NN% where NN is the progress percentage.
- 5In pull request descriptions, add a line mcptask: https://mcptask.online/ACCOUNT/tasks/ID.
- 6When the PR is merged, the referenced piece is approved and the last effort is set to 100%.
How to reference a piece
Use the piece's public URL https://mcptask.online/ACCOUNT/tasks/ID. ACCOUNT is your account code and ID is the piece's relative ID shown on the piece page and in the URL.
Examples:
https://mcptask.online/ACCOUNT/tasks/47 40%https://mcptask.online/ACCOUNT/tasks/48 100%mcptask: https://mcptask.online/ACCOUNT/tasks/47Pull Request Integration
- PR opened → a note with the PR link is added to the piece
- PR merged → the piece is approved and a completion note is added
- The last effort's progress is set to 100% on merge
- Works with any public or private repository that can reach mcptask.online
Configuration
Two webhooks per repository (separate endpoints for push and pull request events)Private repository supportNo source code access — only webhook metadata is processedTLS required - GitLab webhooks — push + merge request
GitLab Integration
Live (Inbound Webhooks)5 minutesFeatures
Two project webhooks — one for push events, one for merge request eventsCommit messages link work to a piece and set its progress percentageMerge request description references link the MR and approve the piece on mergeAuthenticated by the X-Gitlab-Token header (your account's secret token)How it works
- 1Copy your account secret token from mcptask.online (Account → Integrations).
- 2In your GitLab project, add a webhook with URL https://mcptask.online/gitlab/efforts, trigger Push events, and paste the secret token into the Secret token field.
- 3Add a second webhook with URL https://mcptask.online/gitlab/merge_requests, trigger Merge request events, and use the same secret token.
- 4In commit messages, add a line https://mcptask.online/ACCOUNT/tasks/ID NN% where NN is the progress percentage.
- 5In merge request descriptions, add a line mcptask: https://mcptask.online/ACCOUNT/tasks/ID.
- 6When the MR is merged, the referenced piece is approved and the last effort is set to 100%.
How to reference a piece
Use the piece's public URL https://mcptask.online/ACCOUNT/tasks/ID. ACCOUNT is your account code and ID is the piece's relative ID shown on the piece page and in the URL.
Examples:
https://mcptask.online/ACCOUNT/tasks/47 40%https://mcptask.online/ACCOUNT/tasks/48 100%mcptask: https://mcptask.online/ACCOUNT/tasks/47Merge Request Integration
- MR opened → a note with the MR link is added to the piece
- MR merged → the piece is approved and a completion note is added
- The last effort's progress is set to 100% on merge
- Works with GitLab.com and self-hosted GitLab (12.0+) that can reach mcptask.online
Configuration
Two webhooks per project (separate endpoints for push and merge request events)Self-hosted GitLab support (12.0+)No source code access — only webhook metadata is processedTLS required - Bitbucket Cloud — runner-side PRs (mcptask_runner pr), no webhooks
- REST API — JSON over HTTP
REST API
Live (Stable)Professional, EnterpriseJSON over HTTP, scoped to your account. Use it when MCP isn't a fit (server-to-server scripts, dashboards, non-MCP tools).
Authentication
One credential, one header. The same MCPTASK_TOKEN you use for the MCP server authenticates every REST API call as a Bearer token.
HeaderAuthorization: Bearer <MCPTASK_TOKEN>Get a token in mcptask.online → View user → Advanced info → API Token. JWT-encoded, signed with HS256, scoped to your user — no separate API key, no per-account rotation.
Endpoints
All endpoints are scoped to your account code (the short code from your mcptask.online URL). Real paths use /pieces (the generic term) rather than /tasks — we use "piece" as the umbrella word for task, story, epic, recurent.
Projects
GET /api/{account_code}/projects - List projectsPieces (Tasks, Stories, Epics, Recurents)
GET /api/{account_code}/pieces/{id} - Get piecePOST /api/{account_code}/pieces - Create pieceEfforts
GET /api/{account_code}/pieces/{id}/efforts - List effortsPOST /api/{account_code}/pieces/{id}/efforts - Log effortUsers
GET /api/{account_code}/users/{id} - Get userGET /api/{account_code}/users/current - Current userRate Limits
Enforced per account and per token: 60 requests/minute per token, plus the hourly per-account cap below, shared by the MCP server and the REST API. Contact us if you need a higher ceiling.
Starter1,000/hourProfessional10,000/hourEnterpriseCustomThe REST API itself is a Professional and Enterprise feature — the Starter cap applies to the MCP server.
Documentation
Real calls you can paste in a terminal right now. Replace $MCPTASK_TOKEN with a token from View user → Advanced info → API Token and $ACCOUNT with your account code.
Check API version (no token needed)curl https://mcptask.online/apiResponse{ "message": "mcptask.online REST API v0.10", "version": "0.10", "version_app": "5.72", "revision": "1272" }Identify the current usercurl https://mcptask.online/api/$ACCOUNT/users/current \ -H "Authorization: Bearer $MCPTASK_TOKEN"Response{ "id": 7, "user_nick": "george", "email": "george@example.com", "default_account_code": "bcp" }List your projectscurl https://mcptask.online/api/$ACCOUNT/projects \ -H "Authorization: Bearer $MCPTASK_TOKEN"Response[ { "id": 1, "code": "bcp", "name": "BCP Development" } ]Create a piece (Task)curl -X POST https://mcptask.online/api/$ACCOUNT/pieces \ -H "Authorization: Bearer $MCPTASK_TOKEN" \ -H "Content-Type: application/json" \ -d ''{"piece_type":"Task","name":"Review PR","project_id":1}''Response{ "id": 42, "name": "Review PR", "piece_type": "Task", "state": "new" } - Quick glossary
Quick glossary
A few terms used across this page, in plain English.
MCPModel Context Protocol — a standard way AI assistants (Claude, Cursor, Cline, …) talk to external tools. mcptask.online speaks MCP natively, so any MCP client can drive it.
SSEServer-Sent Events — a legacy HTTP transport that MCP used for streaming tool calls. New clients should use the current streamable HTTP transport at https://mcptask.online/mcp; the legacy SSE endpoint is still served for backwards compatibility only.
WebhookAn HTTP call one app makes to another when something happens. Inbound = something calls mcptask.online (e.g. GitHub on push). Outbound = mcptask.online calls your system (planned, not live yet).
MCPTASK_TOKENA long random string that proves to mcptask.online that a request really comes from you. Generate it once in mcptask.online → View user → Advanced info → API Token and use it as a Bearer token. Treat it like a password.
Custom connectorThe claude.ai / Cowork UI for adding a remote MCP server by URL. You give it the URL, click Connect, and the OAuth flow finishes the wiring — no token to copy, no config file to edit.
- Available MCP tools
Available MCP Tools
The 22 tools below are the real ones shipped by mcptask.online's MCP server today. AddMessageTool, AddAttachmentTool, CreatePieceTool, LogWorkProgressTool and the read-side tools work end-to-end.
Tool Description AddAttachmentToolAttach a file to a piece AddMessageToolAdd a comment / message to a piece BlockTaskToolBlock or unblock a task that cannot be finished right now, with an optional reason (state only — creates no dependency between pieces) CreatePieceToolCreate a new piece (task, story, epic, recurent) ExportTimeSheetReportToolExport a timesheet report as JSON, CSV or PDF (the PDF comes back base64-encoded) GetAccountToolFetch account details: attributes, account-level users, permitted projects and companies GetAttachmentToolFetch attachment metadata and a direct download URL for a piece GetCurrentUserToolIdentify the user behind the current token GetNextStorySubtaskToolGet the next subtask to work on inside one Story GetNextTaskToolGet the highest-priority available task GetPieceEffortsToolRead time-tracking entries for a piece GetPieceToolFetch a single piece by ID GetProjectToolFetch one project's metadata GetProjectTreeToolGet the project hierarchy (epics/stories/tasks) GetUsageGuideToolSelf-describe the server (capabilities and usage hints) ListPiecesToolList pieces with filters (project, status, type) ListProjectsToolList projects you have access to ListTimeSheetReportOptionsToolList the filters the timesheet report accepts (companies, projects, workers, layout) LogWorkProgressToolLog effort on a piece and update its progress ManageBlockerLinksToolDeclare or clear a dependency: the piece you name waits for the blockers you list, and drops out of the next-task queue until they are done (adding is all-or-nothing — one bad id rejects the whole call) SendOutreachEmailToolSend a personalized outreach email from your own address (3/day, honours the suppression list and dedupe_key) UpdatePieceToolUpdate a piece's mutable attributes and get before/after for each one touched - Authentication
Authentication
Two ways in, depending on your client. Claude Code / Cursor / Cline use a long-lived MCPTASK_TOKEN (Bearer). Claude Cowork / claude.ai use OAuth 2.0 with dynamic client registration — you never touch a token.
MCPTASK_TOKEN (Bearer — for Claude Code, Cursor, Cline):
- View user → API token in mcptask.online
- Tied to your user account, scoped to your workspaces
- Once and forever — no annoying periodic rotations
- Treat it like a password — anyone holding it acts as you
OAuth 2.0 (for Claude Cowork / claude.ai):
- No client secret, no manual credential — dynamic client registration
- PKCE S256 — secure even on public clients
- Approval is per-workspace — you pick which mcptask.online workspace the connector can act on
- Revoke from claude.ai at any time (Customize → Connectors → Remove)
Permissions:
- Token inherits your user permissions — no extra scopes today
- Read-only vs. read-write is controlled by the actions you call
- Per-project isolation is enforced server-side
- All calls are logged under your user
FAQ
Where do I find my MCPTASK_TOKEN?
Log in to mcptask.online, open Show user → Advanced information, and copy the API Token value (click to copy). Treat it like a password — anyone holding it acts as you on mcptask.online. To cut a client off, revoke its access in Connected applications; it will not get through on its next call.
What address does the MCP server run on?
https://mcptask.online/mcp — streamable HTTP transport, one entry in your client config. The older SSE endpoint is still served for backwards compatibility, but point new clients at /mcp. It is not unlimited: 60 requests per minute per token plus the hourly account cap from your plan (see Rate limits above).
Which AI tools support MCP?
Claude Code, Claude Desktop, Claude Cowork, Cursor, Cline, Continue, Codex CLI, OpenCode, and a growing list of MCP-native clients. If your tool speaks MCP, mcptask.online works with it. If not, use the REST API.
What is a "piece"?
A piece is the umbrella name for tasks, stories, epics, and recurents. The MCP URI for a piece is mcptask://pieces/{account_code}/{piece_id} — there are no separate /tasks/ or /stories/ paths. Projects are not pieces; they have their own URI, mcptask://projects/{account_code}/{project_id}. Both take the relative ID — the number you see in the mcptask.online URL. There is no REST fallback for this: the REST API finds a piece by its internal id, so passing a relative ID to curl returns the wrong piece or a 403.
Can an agent create pieces?
Yes, if the role of the user whose token it connects with allows it — the rule keys off role and authorship, not off who is at the keyboard. To prevent writes, give that user a read-only or limited project role; the same holds for anyone else on the team.
Is work done over MCP visible in the log?
Yes. Every MCP action creates an event with full attribution — which user, when, what changed — flagged as arriving over MCP, so you can tell it apart from changes made in the web UI.
Planned Integrations (Roadmap)
Things we are considering. If one matters to you, mail us — high-demand items get prioritized.
Outgoing Webhooks
Missing an integration?
Request it
Request an integration: email us with your use case. We pick the next batch of integrations from real demand, not votes.
Connect Your Workflow Today
Wire mcptask.online to your stack and let every commit flow into a timesheet, every review into an invoice.
Every user — human or AI — is one seat. Full audit trail. 30-day trial, no credit card.