Skip to main content
Glama

How to connect Joist to ChatGPT, Claude and any AI agent

Yes, ChatGPT, Claude and other AI agents can work in your Joist account. Joist has no public API and no official MCP server. Cotlet.dev connects your own signed-in Joist account to any AI agent, so you can ask in plain words and the AI writes estimates, sends invoices and keeps your client list up to date for you.

What you can ask

Write an estimate for Mike Torres: replace 40 ft of deck boards, $1,850 labor plus $640 materials.

Which invoices have been unpaid for more than 30 days? List client, amount and due date.

Invoice Sarah Lee for Tuesday's bathroom tile job, $2,300, due in 14 days.

Add a new client, Dave Patel, 555-0142, 18 Oak Street, and draft an estimate for a kitchen faucet swap.

Send a friendly payment reminder to every client with an invoice overdue since last Friday. Show me the drafts first.

Related MCP server: Taskade MCP Server

Connect in 2 minutes

Get your API key at https://cotlet.dev/app and export it as COTLET_API_KEY.

Claude Code

claude mcp add --transport http cotlet https://cotlet.dev/mcp/v1 --header "Authorization: Bearer $COTLET_API_KEY"

ChatGPT

Settings → Apps → add connector URL https://cotlet.dev/mcp/v1, then sign in with Cotlet.dev. No API key needed.

Cursor

Copy .cursor/mcp.json from this repo into your project:

{
  "mcpServers": {
    "cotlet": {
      "url": "https://cotlet.dev/mcp/v1",
      "headers": {
        "Authorization": "Bearer ${COTLET_API_KEY}"
      }
    }
  }
}

Run it locally (stdio)

This repo is a real MCP server. It speaks MCP over stdio, lists its Joist tools without any key, and forwards every tool call to the hosted Cotlet.dev server. The hosted URL above stays the recommended way. Use this when your client only starts local servers.

{"mcpServers":{"joist":{"command":"uvx","args":["joist-mcp"],"env":{"COTLET_API_KEY":"your-key"}}}}

Or with Docker:

docker build -t joist-mcp .
docker run -i --rm -e COTLET_API_KEY joist-mcp

Tools: joist_guide, joist_status, joist_open, joist_read, joist_click, joist_type, joist_close. Without COTLET_API_KEY a tool call answers: "Set COTLET_API_KEY. Get a key at https://cotlet.dev/app".

Command line

Python 3.10+, nothing else to install. From PyPI:

pip install joist-mcp        # or run it once: uvx joist-mcp connect
joist-mcp connect

Or straight from this repo:

export COTLET_API_KEY="your-key"
python3 joist_agent.py connect   # ready config for Claude Code, Cursor, ChatGPT
python3 joist_agent.py status    # is Joist ready in your Cotlet.dev account
python3 joist_agent.py guide     # Joist screens and sign-in link
python3 joist_agent.py read      # open Joist, read the page, close the browser
python3 joist_agent.py tools     # list Cotlet.dev tools
python3 joist_agent.py serve     # start the stdio MCP server (same as no argument)

Questions from Joist users

Does Joist have an API for developers?

Joist has no public, documented API for developers. Cotlet.dev works in your own Joist account directly, so your AI agent can create estimates, send invoices and look up clients without one.

How do I connect Joist to ChatGPT?

There is no official Joist app in ChatGPT. Add Cotlet.dev as an app in ChatGPT (Settings → Apps, connector URL https://cotlet.dev/mcp/v1), sign in to Joist once in your Cotlet.dev Cloud Browser, and ask ChatGPT in plain words. No code and no Joist API key.

Is there a way to use Claude with Joist?

Yes. In Claude Code run the one-line claude mcp add command above; in the Claude app add https://cotlet.dev/mcp/v1 as a custom connector. Claude then works in your own Joist account.

Is there a Joist MCP server?

Joist has no official MCP server. Cotlet.dev is a hosted MCP server that works in your Joist account for you, with ChatGPT, Claude, Cursor, Codex and n8n.

Find it on

Also works with


More: https://cotlet.dev/integrations/joist-api-mcp-server?utm_source=github&utm_medium=readme&utm_campaign=joist

Start free: https://cotlet.dev/signup?app=joist&utm_source=github&utm_medium=readme&utm_campaign=joist

Available Tools

7 tools
joist_clickB

Click a numbered element on the current Joist page.

Inputs: element (required).

joist_closeA

Close the Joist browser session when the work is done, so credits stop running.

Inputs: no named parameters.

joist_guideA

How to work in Joist (estimates, invoices and clients): its screens and the sign-in link. Call this first.

Inputs: task.

joist_openB

Open a Joist page in your signed-in Cloud Browser (default https://pro.joistapp.com) to work with estimates, invoices and clients.

Inputs: url.

joist_readB

Read the current Joist page: its text and numbered buttons, links and fields.

Inputs: element.

joist_statusB

Check that your Cotlet.dev account and Joist are ready: account, credits and Joist connection.

Inputs: no named parameters.

joist_typeB

Type text into a numbered field on the current Joist page.

Inputs: text (required), element (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.6/5.0

    Scored across 7 tools

    Disambiguation4/5

    Each tool maps to a distinct step in a browser workflow (guide, status, open, read, click, type, close), so misselection risk is low. The only mild overlap is between joist_guide (instructions/screens) and joist_status (account and connection readiness), both described as first-call tools, which could cause a hesitant agent to pick the wrong one initially.

    Naming Consistency5/5

    All tools use the same joist_ prefix followed by a short, lowercase verb (guide, status, open, read, click, type, close). The pattern is predictable and readable throughout.

    Tool Count5/5

    Seven tools is a tight, well-scoped set for a browser-automation wrapper: one per primitive action plus onboarding/status helpers. No tool feels redundant or out of place.

    Completeness3/5

    The surface covers the core loop (open, read, click, type, close) plus onboarding, but generic browser primitives like selecting a dropdown option, pressing keys/Enter, scrolling, or waiting for page loads are absent. In Joist forms with dropdowns or multi-step flows, these gaps could create dead ends, though agents may work around some by clicking.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    • Joist MCP server for ChatGPT, Claude and any AI agent: create estimate, convert estimate to invoice, list invoices, add client and record payment in your own Joist account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Joist yourself; Cotlet does not store your password and you need no Joist API key. About the official Joist API: Joist has no public API (checked 26 Oct 2026): its help center and pricing page document none, and there are no webhooks. The only built-in link out is QuickBooks Sync, part of Joist Pro, which copies issued estimates and invoices to QuickBooks Online once a night. Setup and FAQ: https://cotlet.dev/integrations/joist-api-mcp-server

      https://cotlet.dev/mcp/v1/joist
    • Contractor+ MCP server for ChatGPT, Claude and any AI agent: create estimate, send estimate, create job, send invoice and list unpaid invoices in your own Contractor+ account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Contractor+ yourself; Cotlet does not store your password and you need no Contractor+ API key. About the official Contractor+ API: Contractor+ has a public API with an account API key, but it comes with the Pro Team plan, together with Zapier; Freedom and Pro do not include it (checked 8 Nov 2026). There is no official MCP server. Setup and FAQ: https://cotlet.dev/integrations/contractor-plus-api-mcp-server

    • MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows

      https://mcp.flowra.dev/mcp
    • Jobber MCP server for ChatGPT, Claude and any AI agent: create quote, convert quote to job, create invoice, send invoice and list unpaid invoices in your own Jobber account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Jobber yourself; Cotlet does not store your password and you need no Jobber API key. About the official Jobber API: Yes, Jobber has a GraphQL API in its Developer Center (checked 14 Oct 2026), but you cannot use it without registering an app. Each Jobber account authorizes your app with OAuth 2.0 and tokens must be refreshed. Setup and FAQ: https://cotlet.dev/integrations/jobber-api-mcp-server

      https://cotlet.dev/mcp/v1/jobber

    Related MCP Servers

    • A
      license
      Not graded
      quality
      A
      maintenance
      Enables AI assistants like Claude, Cursor, VS Code, and Windsurf to manage workspaces, projects, tasks, and AI agents through natural language, with a hosted OAuth server or a local stdio package. Also supports generating MCP tools from any OpenAPI spec.
      2,203 npm
      MIT
    • A
      license
      Not graded
      quality
      A
      maintenance
      Enables AI clients such as Claude, Cursor, VS Code, and Windsurf to manage workspaces, projects, tasks, and AI agents through natural language, using a hosted OAuth-authenticated endpoint or a local stdio package. It also ships an OpenAPI codegen tool for generating MCP tools from any OpenAPI spec.
      2,203 npm
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Enables AI agents to read and change jobs, job status, customers, quotes with line items, invoices, quote and invoice email, payments, and Scheduler bookings in an account by reusing the user's own signed-in Chrome session, with no official API keys needed. Ships read-only hints and confirmation prompts for tools that reach other people, and can be run over stdio or streamable HTTP.
      2
      22
      403 PyPI
      6
      Elastic 2.0
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables AI agents and scripts to access clients, estimates, invoices, payments, and reports from a user's own Joist account through their Chrome session, over MCP or a local REST API.
      135 PyPI
      5
      Elastic 2.0