Claude, ChatGPT and other AI assistants

Connect Claude, ChatGPT, Cursor or another MCP client to Tillage so an assistant can look up clients, draft quotes and contracts, and work with invoices.

Tillage runs an MCP (Model Context Protocol) server, so an AI assistant can work in your account directly: find a client, draft a quote from a project description, create a contract, or check which invoices are unpaid. This page covers connecting, what the assistant can and can’t do, and how to revoke access.

Connection details

Server URL https://app.tillage.ai/api/mcp
Transport Streamable HTTP
Sign-in OAuth (you approve access in Tillage), or a Tillage API key

Most assistants find the sign-in automatically. You’ll be sent to a Tillage consent page, where you sign in and approve the access the assistant is asking for. No keys to copy.

Connect Claude

Claude (claude.ai or the desktop app):

  1. In Claude’s settings, add a custom connector.
  2. Enter the URL https://app.tillage.ai/api/mcp.
  3. Claude opens the Tillage consent page. Sign in and approve.

Claude Code:

claude mcp add --transport http tillage https://app.tillage.ai/api/mcp

Then run /mcp in Claude Code to finish signing in.

Connect ChatGPT

ChatGPT can use remote MCP servers as custom connectors, on plans and settings where OpenAI makes them available.

  1. In ChatGPT’s settings, create a custom connector.
  2. Enter the URL https://app.tillage.ai/api/mcp and choose OAuth for authentication.
  3. Sign in on the Tillage consent page and approve.

ChatGPT’s menu names change from time to time; look for connectors or apps in its settings.

Connect Cursor and other clients

Add the server to .cursor/mcp.json in your project, or ~/.cursor/mcp.json for all projects:

{
  "mcpServers": {
    "tillage": {
      "url": "https://app.tillage.ai/api/mcp"
    }
  }
}

Cursor asks you to sign in the first time you use it. Any MCP client that supports remote servers with OAuth connects the same way.

Use an API key instead

For scripts and automation where no one is there to sign in, use an API key as a bearer token:

  1. Go to Team Settings → Developers.
  2. Under API Keys, enter a name and click Create MCP Key. This selects all eight read and write scopes for clients, quotes, invoices and contracts.
  3. Copy the key. You’ll only see it once.
  4. Send it as a header:
{
  "mcpServers": {
    "tillage": {
      "url": "https://app.tillage.ai/api/mcp",
      "headers": {
        "Authorization": "Bearer tk_live_..."
      }
    }
  }
}

See API and webhooks for more on keys and scopes.

Teams

  • OAuth connections act as you, on any team you belong to. Without a team named, the assistant uses your current team.
  • API keys are locked to the team they were created in.

The assistant can call list_teams to see where it can work, and every response says which team it used. If you’re on several teams, tell the assistant which one you mean.

What the assistant can do

Area Tools
Teams list_teams
Clients list_clients, get_client, create_client, update_client
Quotes list_quotes, get_quote, create_quote, update_quote
Invoices list_invoices, list_recurring_schedules, get_invoice, create_invoice, update_invoice
Contract templates list_contract_templates, get_contract_template, create_contract_template, update_contract_template
Contracts list_contracts, get_contract, create_contract, update_contract

Two built-in prompts help with drafting:

  • draft_quote writes a quote from a project description: 4 to 10 phase-based line items priced as hours × rate, saved as a draft. It can also add items to an existing quote.
  • draft_contract_template writes a reusable contract template with clauses that use smart variables and a signature block.

Some details worth knowing:

  • Quotes are priced the way Tillage prices them: hours × rate, with variance and profit margin applied on top. Your team defaults fill in when the assistant doesn’t set them. See Formulas.
  • list_invoices filters by status, client, invoice type, issue date or due date. list_recurring_schedules shows billing schedules with their next run date.
  • update_invoice can mark an invoice paid, with a past payment date if you give one.
  • create_invoice creates an invoice from an approved quote, or a standalone invoice for a client with a due date.

What it can’t do

  • Send email. Marking a quote, contract or invoice as sent gives the assistant a client link to share, but nothing is emailed. Send from Tillage, or share the link yourself.
  • Delete anything.
  • Take payments, issue refunds or change settings, including fee settings and Stripe.
  • Work across teams in one change.

Everything the assistant creates appears in Tillage like anything else you’d made, so you can review and edit it.

Revoke access

  • OAuth connections: go to Account Settings → Connected Apps and disconnect the app. Its access ends immediately.
  • API keys: go to Team Settings → Developers and click Revoke next to the key.