Skip to content

Connect an AI assistant

Each app has an MCP server: an address an AI assistant connects to so it can use the app for you. With Invoicing connected, you can ask things like “What did I work on last week?”, “Log three hours on the Ashgrove survey for yesterday”, or “Draft an invoice for Ashgrove’s October work”.

The assistant acts as you: it sees what you can see and, if you let it change things, does only what you could do yourself.

  • A seat in the app, on a plan that includes API access. API access says if something’s missing.
  • The app’s MCP server address. It’s on the MCP screen (Account Settings, then MCP, under Integrations), with the Claude Code command ready to copy, and on the API access screen. For Invoicing it’s the app’s API address followed by /mcp, for example https://invoicing-api.eddish.app/mcp.

There are two ways to connect. Signing in through your browser is the easier one, and works with most assistants. A personal access token is for assistants that can’t open a browser.

Use this for claude.ai, the Claude apps, ChatGPT, VS Code, and Claude Code.

  1. In the assistant, add a connector (sometimes called a custom connector or MCP server) with the MCP server address.
  2. The assistant opens an Eddish page. Sign in if you need to.
  3. Eddish asks you to confirm: which account, if you’re in more than one, and whether the assistant may only read, or also change things. Choose Allow.
  4. You’re sent back to the assistant, connected.

The page shows the name the assistant gave itself and where it will send you back to. Anyone can call an app “Claude”, so only choose Allow if you started this yourself, from the assistant named.

We email you each time an assistant is connected. If it wasn’t you, disconnect it and change your password.

Terminal window
claude mcp add --transport http invoicing https://invoicing-api.eddish.app/mcp

Then start Claude Code, type /mcp, choose invoicing and Authenticate. Your browser opens the Eddish page.

For an assistant that connects to an MCP server with an Authorization header instead. Make a personal access token for the app, choosing Read only if the assistant only needs to answer questions. The screen shows a ready-to-paste Claude Code command, or add an MCP server with:

  • Type: HTTP (sometimes called Streamable HTTP)
  • URL: the MCP server address from the API access screen
  • Header: Authorization: Bearer <your token>

Read only is offered only the tools that read. Read and write is offered all of them.

Reads Writes (read and write only)
Who you are, and your team Add a client or a project
Clients, projects and their tasks Log time, start and stop your timer, delete a time entry
Time entries and your running timer Add an expense
Expenses and expense categories Draft an invoice from uninvoiced work (it stays a draft)
Invoices, and each client’s uninvoiced work Record a payment on an invoice

It can’t send invoices, change rates or settings, or manage people.

Anything it can’t do because of your role, a plan limit, or a missing seat is refused the same way it would be in the app, and the assistant is told why.

In API access, Disconnect an assistant under Connected apps, or revoke its token. It loses access on its next request. An Owner or Admin can disconnect anyone’s in API keys, and leaving the account disconnects all of yours.

A connected assistant stays connected while it’s used. One not used for 90 days has to be connected again.