AI assistants

Use Claude, ChatGPT, Gemini or another AI assistant to plan, capture and review your work in LockTFI.

What it does

LockTFI can be connected to the AI assistant you already use. Once connected, you can talk to it about your work — “what should I do today?”, “turn these notes into tasks” — and it reads and updates LockTFI for you. Your board, backlog, milestones and Today change straight away, on every device you're signed in on.

You decide what each assistant can see and change. Everything it changes is listed in LockTFI, and you can undo it.

Under the hood this uses the Model Context Protocol (MCP), an open standard for connecting AI assistants to apps, so any assistant that supports MCP can connect.

Before you start

Sign in to LockTFI. Assistants work with your synced account. If you use LockTFI without signing in, your data lives only in that browser, and no assistant can reach it.

You'll need this server address when connecting:

/api/mcp

Connect your assistant

There are two ways to connect. Most assistants (Claude.ai, ChatGPT, Claude Code, Cursor, VS Code and Codex) only need the address above: they send you to a LockTFI sign-in page where you choose permissions. Tools that can't sign in, such as Gemini CLI or a script, use an access token that you create in Settings → Integrations.

Claude (claude.ai and Claude Desktop)
  1. In Claude, open Settings → Connectors and choose Add custom connector.
  2. Name it LockTFI and paste the server address: /api/mcp
  3. Click Connect. A LockTFI window opens: sign in, choose permissions and click Allow.
  4. Back in Claude, turn the LockTFI connector on in a chat (the tools menu under the message box).
ChatGPT
  1. In ChatGPT, open Settings → Apps & Connectors → Advanced settings and turn on Developer mode.
  2. Create a new connector, name it LockTFI, paste the server address and choose OAuth for authentication.
  3. ChatGPT sends you to LockTFI: sign in, choose permissions and click Allow.
  4. Start a new chat and add the LockTFI connector from the tools menu.

Connector availability depends on your ChatGPT plan.

Claude Code
  1. Run this in your terminal:
    claude mcp add --transport http --scope user locktfi /api/mcp
  2. In Claude Code, type /mcp, pick locktfi and choose Authenticate.
  3. A LockTFI window opens: sign in, choose permissions and click Allow.

--scope usermakes LockTFI available in every project on your machine. To tie one repo to one LockTFI project, put this in the repo's .mcp.jsoninstead. It holds no secret, so it can be committed, and tools that aren't told a project use that one:

{
  "mcpServers": {
    "locktfi": {
      "type": "http",
      "url": "/api/mcp",
      "headers": {
        "X-LockTFI-Project": "<project name>"
      }
    }
  }
}

Where Claude Code can't open a browser (a server, CI), create a token in Settings → Integrations instead and add "Authorization": "Bearer ${LOCKTFI_TOKEN}" to those headers, with the token in your shell as LOCKTFI_TOKEN so it never ends up in git.

Gemini CLI
  1. In Settings → Integrations, click Connect, choose Gemini CLI, set permissions and create a token.
  2. Add the snippet shown to ~/.gemini/settings.json, then restart Gemini CLI:
{
  "mcpServers": {
    "locktfi": {
      "httpUrl": "/api/mcp",
      "headers": {
        "Authorization": "Bearer <your token>"
      }
    }
  }
}

The Gemini app itself doesn't accept custom connectors yet. Gemini CLI does.

Cursor
  1. Add this to ~/.cursor/mcp.json (every project) or a repo's .cursor/mcp.json:
  2. In Cursor Settings → Tools & MCP, click Connect next to LockTFI, then sign in and click Allow.
{
  "mcpServers": {
    "locktfi": {
      "url": "/api/mcp"
    }
  }
}

For a repo tied to one project, add "headers": { "X-LockTFI-Project": "<project name>" }. Some Cursor versions ignore an Authorization header on servers that offer sign-in, so sign in rather than pasting a token.

VS Code (GitHub Copilot)
  1. Add this to a repo's .vscode/mcp.json, or run MCP: Open User Configuration for every project:
  2. Click Start above the server, then sign in to LockTFI and click Allow when VS Code asks.
{
  "servers": {
    "locktfi": {
      "type": "http",
      "url": "/api/mcp"
    }
  }
}

For a repo tied to one project, add "headers": { "X-LockTFI-Project": "<project name>" }.

Codex CLI
  1. Add the server, then sign in (a LockTFI window opens):
codex mcp add locktfi --url /api/mcp
codex mcp login locktfi

For a repo tied to one project, add ?project=<project name> to the address. Without a browser, create a token and pass --bearer-token-env-var LOCKTFI_TOKEN instead of logging in, with the token in that variable.

Any other MCP client

Use the Streamable HTTP transport with the server address above. If the client supports OAuth, it will find LockTFI's sign-in on its own. Otherwise, create a token and send it as a header:

Authorization: Bearer <your token>

To point a client at one project by default, also send X-LockTFI-Project: <project name>, or add ?project=<project name> to the address.

Keep tokens private. A token is shown only once, when you create it. Anyone who has it can do what that connection is allowed to do, so treat it like a password. If you lose it or it leaks, revoke that connection and create a new one.

Permissions

Each assistant you connect has its own permissions, which you can change at any time in Settings → Integrations. Changes apply to its next request.

TasksBacklog, board, search, create and edit tasks, thoughts to sort, the mindmap
Work logNotes, blocked/waiting entries, follow-ups
RoadmapMilestones and what is linked to them
RoutinesRoutines on a schedule, check-ins and skips
ResourcesProject links and the project note

Each area can be None (the assistant can't see it), Read (it can look but not change anything), or Read + write. New connections start as read-only everywhere.

Projects.Limit an assistant to chosen projects and everything else becomes invisible to it, including tasks that aren't in any project. For example, a work assistant that never sees your personal projects.

Riskier actions are off until you turn them on. Move tasks to the Trash lets it delete tasks, which stay restorable from the Trash for 30 days. Without it, an assistant can still remove tasks it created itself, so it can clean up its own mistakes. It can never delete anything permanently. Change status of Jira-linked tasks matters for projects that push status to Jira: with it on, completing a task can also move the real Jira issue.

Most records per changecaps how much one request can touch. A bigger change is refused, so a misunderstanding can't rewrite your whole backlog at once.

Things to ask

Talk to your assistant the way you would to a colleague who can see your LockTFI. Some ideas, and the permissions they need:

Plan your dayTasks: read + write
“What needs a decision today? I have 3 hours and low energy — pick what fits and put it on my board.”
Notes to tasksTasks: read + write
“Here are my meeting notes. Turn the action items into tasks in the Website project, due Friday, tagged client.”
Break down a big taskTasks: read + write
“Break "Migrate auth" into smaller tasks of under two hours each, with estimates, that it waits on.”
Log a blocker by talkingWork log: read + write
“I'm stuck on the payments task — waiting on Priya's API key. Remind me Thursday.”
Weekly reviewTasks and Roadmap: read
“What did I finish this week, what slipped, and what matters most next week? Keep it short enough to paste into a status update.”
Move a milestoneRoadmap: read + write
“Push the Beta milestone out two weeks and link the unfinished checkout tasks to it.”
Draft a milestone’s tasksTasks and Roadmap: read + write
“Read the brief on the Subscriptions milestone and create the tasks it still needs, estimated, linked to it.”
RoutinesRoutines: read + write
“Remind me to pay rent every 1st, 5 minutes, high priority. Did I miss any routines this month?”
Project bookmarksResources: read + write
“Save this staging URL to the Checkout project's resources. What's the prod dashboard link for Checkout?”
Hand tasks to an agentTasks: read + write
“Work through the agent tasks I handed over in Checkout: claim the next one, do it in this repo, submit the result for my review, and move on.”
TODOs to tasksTasks: read + write
“Find the TODO comments in this repo and add them to the Checkout project, each on the right mindmap node. Make the ones you could do alone agent tasks, with a brief.”
Kick off new workTasks and Roadmap: read + write
“Kick off a Stripe integration in Checkout and Billing: a milestone in each with a brief, and tasks from setting up the Stripe console and API keys through to launch.”
Sort by typeTasks: read + write
“Go through the open tasks in Checkout and give each a type — Bug, New feature, Enhancement or Issue — then list the bugs tagged iOS.”
Jot it downTasks: write
“Note these as thoughts to sort later: maybe switch to Postmark, ask Sam about VAT, look at the onboarding drop-off.”
Close the loopTasks: write
“We decided to keep the board limit at 3 — resolve “Raise the in-progress limit” as a decision with that reason.”
Map this chatTasks: write
“Put what we just discussed onto the Checkout mindmap — new areas as nodes with notes on what we decided, open questions as thoughts on them.”
A second opinionTasks: read — no write access needed
“Am I overcommitted? Compare what is planned this week with my estimates.”

Some assistants also list ready-made LockTFI prompts: Plan my day, Weekly review, Triage my backlog, Break this down, Work through agent tasks, Push TODOs into LockTFI and Kick off a milestone. In Claude, look for them in the + menu; in Claude Code, type /mcp__locktfi__ to list them.

Handing tasks to an agent. Set a task's Who to Agent (or type @ai when you add it) and fill in its Agent brief: what to do, what you expect back, and the checks it must pass. Put it in the Board's Planned Agentlane to hand it over — the lane's order is the order a coding agent such as Claude Code takes them. The agent moves each to In progress while it works, then hands back a result — a summary, its deliverables and an answer to each check — and the card reads Ready for review. You complete it; the agent never does. It stops to ask when a task needs a decision, and blocked tasks are skipped. The task's AI prompt, its milestone's brief and its links are all handed over, so the more of those you fill in, the less it has to guess.

If your assistant is also connected to other apps, it can combine them. For example: “File the actionable emails from clients as LockTFI tasks”, or “Fit tomorrow's planned tasks around my calendar.”

Seeing and undoing changes

Every change an assistant makes appears under Assistant activity in Settings → Integrations. It shows which assistant made the change, what it did and when. Click Undo to put things back as they were.

If you've edited something again since the assistant changed it, Undo leaves your newer edit alone and tells you. Changes made in Jira can't be undone from LockTFI, and the activity list marks them. You can also ask the assistant to “undo that”, which reverts its most recent change.

Staying in control

Revoke a connection in Settings → Integrations to cut it off immediately. The next request it makes is refused. Its past changes stay in the activity list so you can still undo them.

Tokens you create can expire after 30 days, 90 days or a year, or never. Connections made by signing in (Claude.ai, ChatGPT, Claude Code) renew themselves while you keep using them, until you revoke them. Signing in again from the same app updates its existing connection instead of adding another.

Assistants only see what you've allowed, and only when you ask them something. LockTFI never sends your data to an assistant on its own.

Troubleshooting

The assistant says it can’t do something
It probably doesn’t have permission. Tools it isn’t allowed to use are hidden from it. Check its permissions in Settings → Integrations.
It says a name matches several things
Two tasks (or projects) share that name. It will show you the matches — pick one, or give it more of the name.
It can’t find a project or task
The connection may be limited to certain projects. Anything outside them is invisible to it.
“Today” is off by a day
Dates follow the time zone of the browser you connected from. If you’ve moved, create the connection again.
A status change was refused because of Jira
The task’s project pushes status to Jira and this connection isn’t allowed to. Turn on “Change status of Jira-linked tasks” if you want it to.
“This would change N records”
The request was bigger than the connection’s limit. Ask for it in smaller steps, or raise the limit.
“Invalid or revoked access token”
The token was revoked, expired, or mistyped. Create a new connection and update your assistant with the new token.
Changes don’t show up in LockTFI
Make sure you’re signed in to the same account in LockTFI. Changes appear within a few seconds once sync is running.