@tasklite/mcp
A backend and an admin for apps built by AI agents — tasklite.net · docs
Describe a system and get the thing behind it: a project with typed tables andrelations, rows, REST endpoints, an API key, and an admin interface thebusiness itself operates afterwards. From Claude Code, Claude Desktop, ChatGPT,Gemini, Cursor or VS Code. Deploy a frontend onto it and hand the whole thingover.
Not the CLI task manager. There is an older, unrelated project also calledTaskLite — ad-si/TaskLite attasklite.org, a command-line task manager. This is adifferent product from a different author: a hosted backend attasklite.net, published as
@tasklite/mcpand asnet.tasklite/mcpinthe MCP registry.
The 48 tools
Every tool declares readOnlyHint, destructiveHint and openWorldHint, so aclient can tell what is safe to run unattended.
| Area | Tools |
|---|---|
| Account | sign_up connect login disconnect connection_status list_organizations configure_external_access |
| Structure | create_project create_board create_column update_board update_column delete_board delete_column delete_project reorder_columns get_board_schema list_projects list_boards export_project |
| Data | query_items create_item update_item set_cell delete_item search fetch |
| Comments | list_comments add_comment update_comment delete_comment |
| Apps and API | build_backend create_app publish_app list_apps get_app_spec create_app_endpoint list_app_endpoints update_app_endpoint create_app_api_key |
| Frontend hosting | deploy_frontend list_deployments rollback_deployment get_frontend_prompt |
| Automation and push | create_automation list_automations push_status send_test_push |
build_backend is the one to reach for first: it takes a description of asystem and creates the project, the boards, their typed columns including therelations between them, sample rows, and a published REST API with a key — inone call, instead of a dozen.
Setup
Install the package (and Claude Code if you don't have it), then add the serverby its binary. That avoids a known Windows issue where claude mcp addmis-parses npx -y.
npm install -g @anthropic-ai/claude-code @tasklite/mcp
claude mcp add tasklite -- tasklite-mcp
Add -s user to claude mcp add to make it available in every project(claude mcp add -s user tasklite -- tasklite-mcp); the default scope is thecurrent project only.
Then tell Claude what you want to build. The sign_up tool creates your account, organization, and connection from the conversation (a strong random password is generated locally and never shown; use "forgot password" with your email for web access).
Already have an account? Create a key at TaskLite → Integrations → "Connect Claude Code" and use:
claude mcp add tasklite -e TASKLITE_API_KEY=tl_xxx -- tasklite-mcp
Hosted (no install)
Point any MCP client at the hosted server; there is nothing to install locally:
claude mcp add --transport http tasklite https://mcp.tasklite.net/mcp \
--header "Authorization: Bearer tl_xxx"
The hosted server is stateless: every request carries its own credential, soone endpoint serves every account safely.
Simplest of all: the connector. In Claude (claude.ai or the desktop app),Settings → Connectors → add TaskLite, or add it by address using the URL above.You sign in once over OAuth; there is no key to create or store. Note that thetools appear in a new chat, not in the conversation you were already in.
Optional env: TASKLITE_API_URL (default https://api.tasklite.net), TASKLITE_APP_URL (default https://app.tasklite.net).
Other clients
One hosted server, every MCP client. Full setup notes: https://tasklite.net/docs/guides/connector-from-cursor-codex-desktop
- Cursor — Add to Cursor or put
{"mcpServers":{"tasklite":{"url":"https://mcp.tasklite.net/mcp"}}}in.cursor/mcp.json. - VS Code — Install in VS Code or
.vscode/mcp.jsonwith{"servers":{"tasklite":{"type":"http","url":"https://mcp.tasklite.net/mcp"}}}. - ChatGPT — Settings → Connectors (developer mode) → add
https://mcp.tasklite.net/mcp. The server implementssearchandfetch. - Gemini CLI —
gemini extensions install https://github.com/shimon-ks/tasklite-mcp(this repo shipsgemini-extension.json), or addhttpUrl+oauthto~/.gemini/settings.json. - OpenAI Responses API / Agents SDK, Gemini API — pass the hosted URL with
Authorization: Bearer tl_….
Typical flow (what Claude Code does)
create_project→create_board→create_column× N builds the schema.create_item/query_itemsseed and inspect data.create_app→create_app_endpoint(with exposedColumns + RLS) →create_app_api_keyexpose the REST surface for your frontend.get_app_spec/get_frontend_promptgenerate the frontend against it.- Every tool returns an
adminUrl, the ready-made admin for the end client.
Hosting your frontend
deploy_frontend puts a static frontend on https://{slug}.tasklite.dev.No server, no hosting account, no CI to configure. Hand the site over in oneof three ways:
deploy_frontend(appId: "app-xxxxxx", files: [{ path: "index.html", content: "<!doctype html>…" }, { path: "app.js", content: "…" }])
deploy_frontend(appId: "app-xxxxxx", zipUrl: "https://github.com/you/site/releases/download/v1/dist.zip")
deploy_frontend(appId: "app-xxxxxx", dir: "./dist")
files is the path from ChatGPT or any hosted client: the assistant writes thepage and deploys it in the same turn. zipUrl takes an export from Lovable,Bolt or a GitHub release. dir is for an MCP running on the machine with thebuild output.
Hosted pages call the app API through the relative path /api/{endpoint}. Thehosting proxy attaches the app identity server-side, so the browser nevercarries an API key. list_deployments shows the versions androllback_deployment points the live URL back at an earlier one.
Security model
- The
tl_key is exchanged for a short-lived JWT (POST /public/v1/auth/session); all calls run with the key owner's own permissions, never super-admin. - App API keys belong in server-side env vars (Next.js API routes), never in browser code. Frontends hosted on
tasklite.devneed no key at all.
Development
npm install
npm run build
TASKLITE_API_KEY=tl_xxx TASKLITE_API_URL=http://localhost:3333 node dist/index.js
License
MIT