LogQuill

AI assistants (MCP)

Let Claude, Codex, Cursor or another AI assistant read and log your time in LogQuill, with an API key.

LogQuill has an MCP server: AI assistants that support MCP (Claude, Codex, Cursor, VS Code and others) can use LogQuill as a tool. Ask in plain words and the assistant calls LogQuill for you:

  • "How many hours did I log last week, by project?"
  • "Log 2 hours on ARC-142 yesterday: reviewed the billing export."
  • "Which timesheets in my team are still waiting for me?"
  • "Who on the Platform team is away next week?"

The assistant uses the same API as your scripts, with a key you make. It acts as you: it sees and does only what you can in LogQuill, and only what you ticked on the key.

1. Make a key for it

In LogQuill, open your menu (your name at the bottom of the sidebar), then API keys, then Create a key. Name it after the assistant ("Claude", say), and tick only what it needs:

  • To ask questions only: the read scopes. The assistant can't change anything.
  • To log time as well: Worklogs with Write.

Copy the key: it's shown once. API keys

2. Add LogQuill to your assistant

Every assistant needs the same two things:

  • the server's address: https://api.logquill.com/mcp
  • your key, sent in the Authorization header as Bearer followed by a space and the key: Bearer logquill_...

In every example below, replace logquill_... with the key you copied, and keep Bearer in front of it. Pick your assistant:

Claude Desktop connects to LogQuill through a small helper, mcp-remote, that it starts for you. The helper needs Node.js on your computer: install it first if you don't have it (to check, open a terminal and type node -v: a version number means it's there).

  1. Open Claude Desktop and go to its settings. On Windows, click the menu (☰, top left), then File, then Settings. On macOS, click Claude in the menu bar, then Settings.

  2. Open Developer, then click Edit Config. This doesn't open an editor: it shows a file named claude_desktop_config.json in your file explorer (Finder on macOS).

    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  3. Open that file in a text editor: right-click it, then Open with, then Notepad (Windows) or TextEdit (macOS).

  4. If the file is empty, or holds only {}, replace everything in it with this:

    {
      "mcpServers": {
        "logquill": {
          "command": "npx",
          "args": [
            "-y",
            "mcp-remote",
            "https://api.logquill.com/mcp",
            "--header",
            "Authorization:${LOGQUILL_AUTH}"
          ],
          "env": { "LOGQUILL_AUTH": "Bearer logquill_..." }
        }
      }
    }

    If the file already has other settings, keep them. Add the "logquill": { ... } part inside the existing "mcpServers" (with a comma after the server before it), or add the whole "mcpServers" block if there is none yet.

  5. Put your key in place of logquill_... (on the LOGQUILL_AUTH line), and save the file. The key sits on its own line, in env, so that the space after Bearer reaches LogQuill intact on every system.

  6. Quit Claude Desktop completely and open it again. Closing the window isn't enough: on Windows, right-click Claude's icon near the clock and choose Quit; on macOS, use Claude, then Quit.

  7. Back in Settings, Developer, LogQuill shows as running. In a chat, the tools button (under the message box) lists LogQuill and its tools.

In a terminal, run:

claude mcp add --transport http --scope user logquill https://api.logquill.com/mcp \
  --header "Authorization: Bearer logquill_..."

--scope user makes LogQuill available in all your projects. Leave it out to add it to the current project only. Then, in Claude Code, /mcp lists LogQuill and its tools.

Using Claude Code in VS Code? See the Claude in VS Code tab.

For the Claude Code extension in VS Code. Adding a server from the chat panel needs Claude Code v2.1.261 or later: update the extension first if it's older.

  1. Open the Claude Code panel in VS Code.
  2. In the chat box, type /mcp and press Enter. A dialog opens with your MCP servers.
  3. Add a server with these values:
    • name: logquill
    • type: HTTP
    • address: https://api.logquill.com/mcp
    • header: Authorization with the value Bearer logquill_...
  4. Start a new conversation, and type /mcp again: LogQuill shows as Connected. Failed means the key is wrong or revoked.

If you also have Claude Code's command line installed, you can instead run the command from the Claude Code tab in VS Code's terminal (Ctrl+**, or **Cmd+ on macOS). Both save to the same place, so LogQuill then works in the terminal and in the extension. Installing the extension alone doesn't add the claude command to your terminal.

For OpenAI's Codex: the command line (codex), the Codex extension in VS Code and other editors, and the ChatGPT desktop app. All three read the same settings file, so you add LogQuill once.

  1. Open Codex's settings file, config.toml, in a text editor. Create it if it doesn't exist.

    • Windows: %USERPROFILE%\.codex\config.toml
    • macOS and Linux: ~/.codex/config.toml

    In the Codex extension, the gear menu, then MCP servers, then Add server opens the same setup.

  2. Add these lines at the end of the file (keep anything already in it):

    [mcp_servers.logquill]
    url = "https://api.logquill.com/mcp"
    http_headers = { "Authorization" = "Bearer logquill_..." }
  3. Save. Then:

    • command line: start codex again; /mcp lists LogQuill and its tools (or run codex mcp list);
    • Codex extension: Restart extension from its gear menu;
    • ChatGPT desktop app: type /mcp in the message box.

To keep the key out of the file, give Codex the name of an environment variable that holds it instead. Replace the http_headers line with bearer_token_env_var = "LOGQUILL_API_KEY", then set LOGQUILL_API_KEY to your key alone (logquill_..., without Bearer), and restart Codex so it sees it.

  1. Open Cursor Settings, then MCP (or Tools & Integrations), then Add new MCP server (or New MCP Server). Cursor opens its mcp.json file.

    • for all your projects: ~/.cursor/mcp.json
    • for one project only: .cursor/mcp.json in that project
  2. Add LogQuill inside "mcpServers" (keep any servers already there):

    {
      "mcpServers": {
        "logquill": {
          "url": "https://api.logquill.com/mcp",
          "headers": { "Authorization": "Bearer logquill_..." }
        }
      }
    }
  3. Save. Back in MCP settings, LogQuill shows with a green dot and its tools. Use it in the chat in agent mode.

LogQuill works with GitHub Copilot's chat in agent mode. For the Claude Code extension in VS Code, see the Claude in VS Code tab.

  1. In your project, create .vscode/mcp.json (or run MCP: Add Server from the command palette).

  2. Paste this. VS Code asks for the key the first time it starts LogQuill, keeps it in its own secret storage, and never writes it in the file:

    {
      "servers": {
        "logquill": {
          "type": "http",
          "url": "https://api.logquill.com/mcp",
          "headers": { "Authorization": "Bearer ${input:logquill-key}" }
        }
      },
      "inputs": [
        { "type": "promptString", "id": "logquill-key", "description": "LogQuill API key", "password": true }
      ]
    }
  3. Click Start above "logquill" in the file, and paste your key (just logquill_..., without Bearer) when asked.

  4. In the Copilot chat, switch to Agent: the tools button lists LogQuill.

  1. Open Windsurf Settings, then Cascade, then MCP servers, then View raw config. Windsurf opens ~/.codeium/windsurf/mcp_config.json.

  2. Add LogQuill inside "mcpServers" (keep any servers already there):

    {
      "mcpServers": {
        "logquill": {
          "serverUrl": "https://api.logquill.com/mcp",
          "headers": { "Authorization": "Bearer logquill_..." }
        }
      }
    }
  3. Save, then click Refresh in the MCP servers panel: LogQuill shows with its tools.

  1. Open Gemini CLI's settings file: ~/.gemini/settings.json for all your projects, or .gemini/settings.json in a project. Create it if it doesn't exist.

  2. Add LogQuill inside "mcpServers" (keep anything already in the file). Use httpUrl, not url:

    {
      "mcpServers": {
        "logquill": {
          "httpUrl": "https://api.logquill.com/mcp",
          "headers": { "Authorization": "Bearer logquill_..." }
        }
      }
    }
  3. Save and start Gemini CLI again. /mcp lists LogQuill and its tools.

The key in these files is a password for your time in LogQuill. Don't commit a project-level file that holds it to Git, and don't share it in a screenshot.

Assistants that can't connect yet

ChatGPT (the chat), claude.ai (connectors on the web) and the Gemini app only connect to servers that sign you in (OAuth). They can't send an API key, so they can't reach LogQuill yet. Use one of the assistants above: Codex for OpenAI's models, Claude Code or Claude Desktop for Claude's.

Check that it works

Ask the assistant: "Who am I in LogQuill?" It calls LogQuill's me tool and answers with your name, the Jira site and what the key may do. Then try "How many hours did I log this week?".

If it doesn't connect

What you seeWhat to check
Claude Desktop: "Server disconnected" or "failed"Node.js is installed (node -v in a terminal), and you quit and reopened Claude Desktop.
Claude in VS Code: no way to add a server under /mcpThe extension is older than Claude Code v2.1.261: update it.
Claude in VS Code: LogQuill is missing or FailedStart a new conversation after adding it. Failed means the key is wrong or revoked.
Codex: LogQuill isn't listedThe lines are under [mcp_servers.logquill] with the quotes as shown, and Codex (or the extension) was restarted. With bearer_token_env_var, the variable was set before Codex started.
"Missing, unknown or expired API key"The key is copied whole, after Bearer and a space. The key isn't revoked or expired (API keys in LogQuill).
"The public API is turned off for this site"An admin turned it off in Admin, API.
A tool says a scope is missingThe key doesn't have that scope: make a new key with it ticked.
The file won't load after your editA missing comma or bracket: paste the file into a JSON checker, or start again from the example above.

What the assistant can do

One tool per API endpoint, each needing the same scope as the endpoint. A tool outside your key's scopes answers that it's missing one, and the assistant can tell you which.

ToolsWhat they doScope
meWho the key acts as, on which Jira site, and what it may doany
worklogs_list, worklogs_getRead worklogs: a period, an issue, a project, an accountWorklogs: Read
worklogs_create, worklogs_update, worklogs_deleteLog time, change or delete a worklog, in Jira as youWorklogs: Write
plans_list, plans_getRead planned timePlans: Read
plans_create, plans_update, plans_deletePlan time, change or delete a planPlans: Write
timesheets_get, timesheets_teamYour timesheet for a period, or a team'sTimesheets: Read
timesheets_submit, timesheets_approve, timesheets_rejectSubmit yours, review your team'sTimesheets: Write
timeTotals for a period, grouped by person, project, issue, account, work type or dayTime: Read
issues, projectsThe keys and names of issues and projects the other answers give by idTime: Read
teams_list, teams_getYour teams and their membersTeams: Read
absences_list, absences_get, absences_typesAbsences you may see, and the typesAbsences: Read
absences_balancesLeave balances of the people whose absence types you may knowAbsences: Read

Dates are yyyy-MM-dd and durations are in seconds, as in the API. Long lists come a page at a time; the assistant asks for the next page itself. API reference

Good to know

  • It acts as you. What the assistant logs is yours, in Jira as you. Most assistants ask before using a tool that changes something; check what it's about to log before you allow it.
  • The audit log says so. Changes made through an assistant show Through an AI assistant (MCP) with the key's first characters. Audit log
  • The same limits as the API. Calls per key per minute, and writes to Jira per site per hour. An assistant that loops on a tool hits them like a script would.
  • Stopping it. Revoke the key in API keys: the assistant loses access at once. An admin can revoke any key, or turn the API off for the site, which turns the MCP server off too.
  • What the assistant's maker sees. The answers LogQuill gives go to the assistant, and so to the company running it, under its own terms. Give it a read-only key if that matters for your data.