MCP setup

Give your agent context.

Connect your client to the same workspace you use. todos.sh uses Streamable HTTP at:

https://mcp.todos.sh

Claude Code

claude mcp add --transport http todos https://mcp.todos.sh

Run /mcp inside Claude Code, select todos, and follow the sign-in link. Approve access to the workspaces and scopes you want to share. See the Claude Code MCP guide.

Claude.ai connectors

Open Customize → Connectors, choose Add custom connector, and enter the server URL above. Select Connect to sign in through todos.sh. Enable the connector in your conversation. Team and Enterprise owners first add the connector in Organization settings → Connectors. See Claude’s connector guide.

Cursor

Or add this entry to .cursor/mcp.json in your project, or ~/.cursor/mcp.json for all projects:

{
  "mcpServers": {
    "todos": {
      "url": "https://mcp.todos.sh"
    }
  }
}

Open Cursor’s MCP settings, enable todos, and complete the browser sign-in when prompted. See the Cursor MCP guide.

VS Code

Or add this entry to .vscode/mcp.json in your workspace:

{
  "servers": {
    "todos": {
      "type": "http",
      "url": "https://mcp.todos.sh"
    }
  }
}

Start todos from the MCP server list, and complete the browser sign-in when prompted. See the VS Code MCP guide.

ChatGPT

On ChatGPT web, open Settings → Security and login and enable Developer mode. Create an app from the MCP server URL above, choose OAuth, and use dynamic client registration (DCR). Sign in to todos.sh and approve access. Select the app from the conversation’s Developer mode menu. Availability depends on your account and workspace settings. See ChatGPT Developer mode.

What you authorize

  1. The client discovers the OAuth server at api.todos.sh and starts an authorization code flow with PKCE.
  2. You sign in on app.todos.sh, choose workspaces and scopes, and review the consent screen.
  3. The client exchanges its code for a token, then sends it as a bearer token to MCP. Your workspace role and team access still apply.

To remove access, revoke the connection’s OAuth key in todos.sh and disconnect the client. Reconnect if your token expires or is revoked.

Try it

List the open issues in my workspace. Summarize what needs attention, then ask before you change anything.

Clients that support custom headers can also send an API key with Authorization: Bearer YOUR_API_KEY. Keep keys out of shared configuration files.