dotts, visual feedback tool for freelancers made in europe
Features Pricing FAQ Blog Login
EN / DE
EN
English Deutsch
Start for free
Home/Features
Feature

Your AI assistant, connected to your client feedback

doby AI is the dotts MCP server. Connect Claude Code, Cursor or Codex to a project and your assistant reads the open comments itself, fixes the code, and writes the status back, live, where your client can see it.

Start for free
Free plan available. No credit card.
What your assistant can do

Client feedback, handled from your editor

Your feedback, in your editor

The assistant pulls open comments straight from the project, each with its page, element selector and screenshot.

Status that writes itself back

As it works, it marks comments in progress and resolved. Your client sees the change live in dotts.

It replies, too

The assistant can post replies, tagged "(doby AI)", so your client knows an agent answered.

One key, one command

Connect with a personal API key. Works with Claude Code, Cursor and Codex over MCP.

Set it up

Connected in three steps

01
Create an API key

In your dotts settings, generate a doby AI key. Keep up to five, and revoke any of them anytime.

02
Connect your assistant

One command in Claude Code, or a config snippet in Cursor or Codex.

03
Work through feedback

Ask your assistant to fetch the open comments for a project and work through them.

Connect it to Claude Code

# 1. Create a doby AI key in your dotts settings, then:
claude mcp add doby-ai --transport http \
  https://app.dotts.se/api/mcp \
  --header "Authorization: Bearer dotts_sk_…"

# 2. Then just ask your assistant:
"Get my open dotts comments for project X and work through them."

One key, one command. Your assistant does the rest.

From client comment to merged fix

This is the loop as it actually runs, with the tools your assistant calls. Everything below comes from a real run: only the comment itself has to come from a human, because dotts deliberately has no tool that writes comments on your client's behalf.

  1. Create the project, or find it

    create_project takes a name and a URL and returns the project id and the share link you send to your client. If the project already exists, list_projects returns id, URL, status and comment count for every project you own.

    create_project({ name: "Acme relaunch", url: "https://acme-staging.example/" })
    → { projectId: "pjYmdjly0wNoeoN75OmV",
        shareUrl: "https://app.dotts.se/share/cc04ce08-…",
        passwordProtected: false }
  2. Your client comments, you read the comments

    get_comments returns the open and in-progress comments by default, each with the page URL, the CSS selector or position, the viewport, the screenshot link, replies and attachments. That is the context your assistant needs to find the element in your code.

    get_comments({ projectId: "pjYmdjly0wNoeoN75OmV" })
    → { count: 0, comments: [] }   // nobody had commented yet on the test project
  3. Mark what you are working on

    set_comment_status moves a comment to in_progress when the assistant starts and to resolved when the change is in. Your client sees the status change on the same share link, without an email.

    set_comment_status({ commentId: "…", status: "in_progress" })
  4. Answer in the thread

    reply_to_comment posts a reply of up to 2000 characters. Replies from an agent are labelled "(doby AI)", so your client can always see that an assistant answered rather than you.

    reply_to_comment({ commentId: "…", content: "Fixed, the header is smaller on mobile now. Please take a look." })
  5. Check the page before you hand it back

    run_preflight_check runs the server-side half of the pre-flight: SEO basics, mixed content and the HTTP status of every outgoing link. Long link lists come back in slices, so the assistant calls it again with the cursor until it is done. get_preflight_report reads the latest report including the diff to the previous run.

    run_preflight_check({ projectId: "pjYmdjly0wNoeoN75OmV" })
    → { pagesChecked: 1, linksChecked: 40, linksTotal: 47, done: false, cursor: "…:40" }
    run_preflight_check({ projectId: "…", cursor: "…:40" })
    → { linksChecked: 47, linksTotal: 47, done: true,
        summary: { errors: 0, warnings: 0, notices: 0 } }

What the assistant cannot do: write a comment in your client's name, or run the in-app checks. Accessibility, placeholder text and the responsive checks happen inside the dotts preview and can be read through MCP but not started. doby AI is part of the Pro plan; Copy for AI works on every plan.

FAQs

doby AI (MCP), answered

How do I connect it?
plus icon

Create a doby AI API key in your dotts settings, then run the `claude mcp add doby-ai …` command in Claude Code, or paste the config snippet into Cursor or Codex.

Which tools work with it?
plus icon

Any MCP client over HTTP. Claude Code, Cursor and Codex connect with an API key; the claude.ai custom connector signs in with OAuth instead.

Is it secure?
plus icon

Auth is a personal API key you can revoke anytime, and it only reaches your own projects. Keys are stored hashed, never in plain text.

What can the assistant actually do?
plus icon

List your projects, read open comments with their full context, set a comment's status, reply to a comment, and create a new project with a share link.

Is it available on the free plan?
plus icon

No. doby AI is part of the Pro plan. Copy for AI, the one-click Markdown export, is available on every plan including Free.

How is it different from Copy for AI?
plus icon

Copy for AI is a manual, universal copy-paste into any tool. doby AI is the live connection: your assistant reads and writes by itself. Use doby AI inside your editor, Copy for AI everywhere else.

Keep exploring

Keep exploring

Copy for AI

The manual, universal way to hand feedback to any AI tool.

Screenshots & metadata

The context your assistant reads with every comment.

dotts vs. BugHerd

Feedback into your editor instead of a ticket queue.

Turn client comments into resolved issues

Connect your assistant to dotts and work through client feedback without leaving your editor. Free plan, one simple price.

Start for free
Free plan available. No credit card.
dotts logo
Product
All features Copy for AI No-login client access Click to comment Screenshots & metadata PDF & image feedback doby AI (MCP) Pricing
Compare
All comparisons dotts vs. MarkUp.io dotts vs. Pastel dotts vs. Ruttl dotts vs. BugHerd dotts vs. Figma dotts vs. Filestage dotts vs. Marker.io dotts vs. Usersnap dotts vs. Atarim dotts vs. BugSmash
Solutions
All solutions Feedback for Webflow Feedback for Wix Feedback for Squarespace Feedback for Framer Feedback on your own domain For WordPress For Shopify For freelance web designers For small web agencies For marketing teams For copywriters
Free Tools
All free tools Freelancer Pricing Calculator OG & Social Preview Tool Website Handoff Checklist Website QA Checklist Revision Request Generator Website Feedback Template llms.txt Generator
Company
Blog Privacy Policy Imprint Terms
© 2026 dotts. Build in Europe 🇪🇺
Made by MetaOne