init.Tasks openapi.json inittasks.com

give any AI access to your tasks, without writing code

Connect an AI

You can let an AI assistant read and change your tasks. If the assistant speaks MCP, you paste one address into it, approve the connection on your phone, and that is the whole setup. If it does not, you hand it a prompt and a key instead. Both are below.

Everything below is for using init.Tasks. If you are writing an MCP client for other people, start at MCP.

The address is the same everywhere:

text
https://mcp.inittasks.com/mcp

What happens when you connect

The assistant asks init.Tasks for access. init.Tasks shows you a nine-digit code. You open the app on a device you already trust, check the code matches, and approve there.

You never type your password into the assistant. The approval happens in the app, on a device that already holds your encryption key.

A new connection is read-only. It can read your lists, projects, notes, inbox and filters, and search them. It cannot create, change or delete anything until you grant write access.

You choose that at approval time. The assistant asks for read and write; the approval screen starts with read only, and you switch on write if you want it. Later you can narrow it further in the app, under settings → ai connections → an app → permissions: untick notes, say, and the next time the assistant connects it no longer has the tools that read or write notes. A connection that is already open keeps its tools until it reconnects, and most assistants reconnect when you start a new conversation. The server enforces all of it, so a refusal does not depend on the assistant behaving well.

The permissions sheet also lists sessions and webhooks, switched off. You can switch them on for a connection, from the app only (never from the assistant), but the MCP server has no tools that manage sessions or webhooks today, so for an assistant they change nothing. They matter for apps that use the REST API: see authentication.

Claude

In Claude Code, run:

bash
claude mcp add --transport http init-tasks https://mcp.inittasks.com/mcp

In Claude desktop or web, open Settings → Connectors → Add custom connector and paste the address.

Then ask Claude to list your tasks. It opens the approval flow the first time.

ChatGPT

Open Settings → Connectors → Create, choose a remote MCP server, and paste the address. ChatGPT asks you to sign in to it.

Connectors are a paid-plan feature in ChatGPT, and the menu moves between releases. If you cannot find it, your plan may not include it yet.

Cursor

Open Settings → MCP → Add new global MCP server. Cursor opens mcp.json. Add this entry and save:

json
{
  "mcpServers": {
    "init-tasks": {
      "type": "http",
      "url": "https://mcp.inittasks.com/mcp"
    }
  }
}

Cursor reconnects and starts the approval flow. The MCP panel then lists the server with a green dot and the tools it found.

The same entry works in any client that reads an mcpServers object, including Windsurf and Zed.

Any other MCP client

The address and the approval are the same for every client that speaks MCP over HTTP. What differs is where you paste the address.

The tools it gets are listed on MCP tools.

An AI without MCP

An assistant that cannot connect to MCP servers can still use init.Tasks through the API, with a key you create and a prompt you paste.

  1. In init.Tasks, open settings → api keys (the account page lists them too) and create a key. Give it the scopes you want the assistant to have. The key is shown once.
  2. Paste this prompt into the assistant, then paste the key when it asks:
text
I use init.Tasks. Read https://devs.inittasks.com/llms-full.txt to learn its API.
I will give you a personal access token. Use it as a Bearer token against
https://api.inittasks.com/v1 and help me work with my tasks. Ask before
creating, changing or deleting anything.

If the assistant cannot fetch pages, press [copy everything for AI] in the top bar and paste that text instead of the link (on a phone the button is hidden: open llms-full.txt and copy it).

The key can be revoked at any time in the same screen. A key never widens its own scopes and cannot create other keys.

Local models

Where the model runs does not matter. What matters is the software you talk to it through.

Either way your data leaves init.Tasks' servers only for that connection, decrypted for the duration of each request. See encryption.

Check it worked

Ask the assistant:

text
What is in my init.Tasks inbox?

An answer with your real inbox means you are connected. If it says it has no access, the approval did not complete. Start again.

What it cannot do

Turning it off

Open settings → ai connections in init.Tasks and revoke the connection. Access stops within a couple of seconds: the next call fails and the assistant is told to reconnect. It never sees an empty account in the meantime.

Removing the connector inside the assistant is not the same thing. It stops that client calling the server, and the grant stays alive until you revoke it in the app. Revoke in the app when you mean it to end.

Changing your encryption key disconnects everything, including apps you still want. You will need to connect them again. Changing your password does not, and neither does resetting it from the "forgot password" email. Your connections keep working.

Connecting the same assistant again offers to replace its old connection, so one assistant does not pile up connections. An account holds at most 25.

Next