AppFlowy MCP Server and API by Cotlet
Server Details
AppFlowy MCP server for ChatGPT, Claude and any AI agent: list workspaces, read page tree, list database rows, create database row, update database row, create page, restore from trash and share page in your own AppFlowy account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to AppFlowy yourself; Cotlet does not store your password and you need no AppFlowy API key. About the official AppFlowy API: AppFlowy Cloud has a documented REST API for workspaces, the folder tree and database rows, but no hosted MCP server (checked 25 Oct 2026). The official MCP service is an optional part of the commercial self-hosted edition. Setup and FAQ: https://cotlet.dev/integrations/appflowy-api-mcp-server
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 35 tools
The nine appflowy_* tools are near-identical stubs whose only difference is the action name, and nothing in the name signals that they return instructions rather than performing the action, so an agent may call appflowy_create_page expecting a page to be created. The ~20 cotlet_browser_* primitives are genuinely distinct and their descriptions carefully separate near-neighbours (type vs fill_form, read vs find vs screenshot, browser_upload vs cotlet_upload_file). Once the appflowy/cotlet split is understood the set is workable, but that split is the main source of confusion.
Almost everything is snake_case with a clear namespace prefix and a verb-first pattern: appflowy_<verb>_<noun> and cotlet_browser_<verb>. Minor deviations are the noun-only cotlet_apps, cotlet_balance and cotlet_whoami, plus the one tool that mixes prefixes in cotlet_browser_* vs cotlet_upload_file for overlapping upload concerns. Predictable and readable overall.
35 tools is heavy, and the 9 appflowy_* entries are largely redundant because cotlet_app_guide already enumerates the exact same nine AppFlowy actions in its description. The browser primitives each earn their place, but the instruction-stub layer duplicates coverage and inflates the surface an agent must choose from. A single appflowy_action_guide parameterised by action would cut the set by roughly a quarter.
Browser coverage is strong (navigate, click, type, fill, select, drag, hover, scroll, press, wait, read, find, screenshot, evaluate, download, upload, tabs, open, close), leaving few dead ends. The AppFlowy surface is lopsided: it covers create page, list workspaces, read page tree, list/create/update rows, share, publish and restore, but has no delete page, delete row, update/move page, or read page content, so routine cleanup and editing workflows stall. Notable gaps for a toolset claiming workspace management.
Available Tools
35 toolsappflowy_create_database_rowCreate database row in AppFlowyARead-onlyIdempotentInspect
Create database row in the user's own AppFlowy account from ChatGPT, Claude or any AI agent. Returns how to do it in AppFlowy step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's AppFlowy Cloud Browser. AppFlowy's official API: AppFlowy Cloud has a documented REST API for workspaces, the folder tree and database rows, but no hosted MCP server (checked 25 Oct 2026).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
appflowy_create_pageCreate page in AppFlowyARead-onlyIdempotentInspect
Create page in the user's own AppFlowy account from ChatGPT, Claude or any AI agent. Returns how to do it in AppFlowy step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's AppFlowy Cloud Browser. AppFlowy's official API: AppFlowy Cloud has a documented REST API for workspaces, the folder tree and database rows, but no hosted MCP server (checked 25 Oct 2026).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
appflowy_list_database_rowsList database rows in AppFlowyARead-onlyIdempotentInspect
List database rows in the user's own AppFlowy account from ChatGPT, Claude or any AI agent. Returns how to do it in AppFlowy step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's AppFlowy Cloud Browser. AppFlowy's official API: AppFlowy Cloud has a documented REST API for workspaces, the folder tree and database rows, but no hosted MCP server (checked 25 Oct 2026).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
appflowy_list_workspacesList workspaces in AppFlowyARead-onlyIdempotentInspect
List workspaces in the user's own AppFlowy account from ChatGPT, Claude or any AI agent. Returns how to do it in AppFlowy step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's AppFlowy Cloud Browser. AppFlowy's official API: AppFlowy Cloud has a documented REST API for workspaces, the folder tree and database rows, but no hosted MCP server (checked 25 Oct 2026).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
appflowy_publish_pagePublish page in AppFlowyARead-onlyIdempotentInspect
Publish page in the user's own AppFlowy account from ChatGPT, Claude or any AI agent. Returns how to do it in AppFlowy step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's AppFlowy Cloud Browser. AppFlowy's official API: AppFlowy Cloud has a documented REST API for workspaces, the folder tree and database rows, but no hosted MCP server (checked 25 Oct 2026).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
appflowy_read_page_treeRead page tree in AppFlowyARead-onlyIdempotentInspect
Read page tree in the user's own AppFlowy account from ChatGPT, Claude or any AI agent. Returns how to do it in AppFlowy step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's AppFlowy Cloud Browser. AppFlowy's official API: AppFlowy Cloud has a documented REST API for workspaces, the folder tree and database rows, but no hosted MCP server (checked 25 Oct 2026).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
appflowy_restore_from_trashRestore from trash in AppFlowyARead-onlyIdempotentInspect
Restore from trash in the user's own AppFlowy account from ChatGPT, Claude or any AI agent. Returns how to do it in AppFlowy step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's AppFlowy Cloud Browser. AppFlowy's official API: AppFlowy Cloud has a documented REST API for workspaces, the folder tree and database rows, but no hosted MCP server (checked 25 Oct 2026).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
appflowy_update_database_rowUpdate database row in AppFlowyARead-onlyIdempotentInspect
Update database row in the user's own AppFlowy account from ChatGPT, Claude or any AI agent. Returns how to do it in AppFlowy step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's AppFlowy Cloud Browser. AppFlowy's official API: AppFlowy Cloud has a documented REST API for workspaces, the folder tree and database rows, but no hosted MCP server (checked 25 Oct 2026).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
cotlet_app_guideCotlet: how to work in an appARead-onlyIdempotentInspect
How to work in an app by clicking in the user's Cloud Browser with Cotlet's browser tools: which browser to use for this workspace and the sign-in link, the method step by step, the app's screens, menus and actions, notes, and the app's dedicated tools when Cotlet has them. Call it before the first browser step in an app. Works for any web app; one outside Cotlet's catalog gets the general method. Free, no browser session. For AppFlowy it covers these actions: List workspaces, Read page tree, List database rows, Create database row, Update database row, Create page, Restore from trash, Share page, Publish page.
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | The app's name or Cotlet slug. Default: AppFlowy. | |
| task | No | What the user wants done in the app, in their words. |
cotlet_appsCotlet: apps I can useBRead-onlyInspect
The apps of the user's workspace and whether each works now: the app account in the user's Cloud Browser (connected, signed out, signed in but not connected), and the one step the user has to take, with the console link. Free. Needs the user's Cotlet API key or sign-in.
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | Only this app, e.g. skool. |
cotlet_balanceCotlet: credit balanceARead-onlyInspect
The user's current credit balance. Free. Needs the user's Cotlet API key or sign-in.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
cotlet_browser_clickClick on the pageADestructiveInspect
Clicks element element, or point x, y of the screenshot; double double-clicks, button: right right-clicks. Answers the page after it: the elements and text in view, with the same numbers. Says when nothing changed. A link that would open a new tab opens in this one. Buttons that pay or buy, and sign-in and account pages, are refused.
| Name | Required | Description | Default |
|---|---|---|---|
| x | No | Instead of `element`: pixels from the left of the screenshot. | |
| y | No | With `x`: pixels from the top of the screenshot. | |
| app | No | Leave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote. | |
| button | No | right opens the page's own context menu. Default: left. | |
| dialog | No | How to answer a native dialog (confirm, prompt, 'leave this page?') this step opens: accept presses OK, dismiss presses Cancel. Default: OK for an alert, Cancel for every other dialog. | |
| double | No | Double-click. | |
| element | No | The element's number from the last read or step answer. | |
| dialog_text | No | Text for a prompt dialog this step opens; implies accept. |
cotlet_browser_closeClose the browserAIdempotentInspect
Ends the browser session when the task is done: the browser keeps its cookies and sleeps, and the per-minute charge stops. Answers the session's minutes and credits.
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | Leave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote. |
cotlet_browser_downloadDownload a fileADestructiveInspect
Gets the file that clicking element (a download link or button) or opening url starts: answers its name, type, size and a link valid 15 minutes; CSV, JSON and other text files also as text.
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | Leave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote. | |
| url | No | A public http or https address, e.g. https://example.com. | |
| element | No | The element's number from the last read or step answer. |
cotlet_browser_dragDrag on the pageADestructiveInspect
Drags from one element or point to another: a card between columns, a piece on a board, a slider's handle. Answers the page after it: the elements and text in view, with the same numbers.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | An element number, or x and y of the screenshot. | |
| app | No | Leave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote. | |
| from | Yes | An element number, or x and y of the screenshot. | |
| dialog | No | How to answer a native dialog (confirm, prompt, 'leave this page?') this step opens: accept presses OK, dismiss presses Cancel. Default: OK for an alert, Cancel for every other dialog. | |
| dialog_text | No | Text for a prompt dialog this step opens; implies accept. |
cotlet_browser_evaluateRun a script on the pageADestructiveInspect
Runs a JavaScript function body on the page and answers what it returns, as JSON. Use it to extract data the page holds (a table, a list, attributes); act with the other tools. It cannot send requests, click, submit, or read cookies or storage; a filled field's value reads [hidden by Cotlet]. Example: return [...document.querySelectorAll('h2')].map(h => h.innerText)
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | Leave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote. | |
| script | Yes | A function body that returns. |
cotlet_browser_fill_formFill in a formADestructiveInspect
Fills several fields in one step: text fields take text, drop-downs an option's label, checkboxes, radios and switches true or false. Stops at the first field that fails and names those filled. Does not send the form: click its button after. Answers the page after it: the elements and text in view, with the same numbers.
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | Leave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote. | |
| dialog | No | How to answer a native dialog (confirm, prompt, 'leave this page?') this step opens: accept presses OK, dismiss presses Cancel. Default: OK for an alert, Cancel for every other dialog. | |
| fields | Yes | The fields in the order a person fills them. | |
| dialog_text | No | Text for a prompt dialog this step opens; implies accept. |
cotlet_browser_findFind on the pageARead-onlyIdempotentInspect
Finds text on the whole current page, frames included: the elements whose label holds it, with their numbers, and each line of text that holds it. Use it instead of reading or scrolling a long page for one thing.
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | Leave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote. | |
| kind | No | Only elements of this kind. Default: any. | |
| text | Yes | Words to look for, any case. |
cotlet_browser_hoverPoint at the pageARead-onlyIdempotentInspect
Rests the pointer on an element or a point, to open a hover menu, a tooltip or a preview. Answers the page after it: the elements and text in view, with the same numbers.
| Name | Required | Description | Default |
|---|---|---|---|
| x | No | Instead of `element`: pixels from the left of the screenshot. | |
| y | No | With `x`: pixels from the top of the screenshot. | |
| app | No | Leave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote. | |
| element | No | The element's number from the last read or step answer. |
cotlet_browser_openOpen the browserARead-onlyInspect
Starts the user's Cloud Browser (a real Chrome on Cotlet, where the user is signed in to their sites) and opens url. Call it first. The URL goes to the site's open tab, else to a new tab, so the user's own tabs stay. Answers the page after it: the elements and text in view, with the same numbers. In AppFlowy it serves these actions: List workspaces, Read page tree, List database rows, Create database row, Update database row, Create page, Restore from trash, Share page, Publish page.
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | Leave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote. | |
| url | No | A public http or https address, e.g. https://example.com. |
cotlet_browser_pressPress a keyADestructiveInspect
Presses a key on the focused element: Enter to send, Tab to the next field, Escape to close a pop-up, arrows in a list or slider, or one character (a site's shortcut). Answers the page after it: the elements and text in view, with the same numbers.
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | Leave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote. | |
| key | Yes | One of Enter, Tab, Shift+Tab, Escape, Backspace, Delete, Space, ArrowDown, ArrowUp, ArrowLeft, ArrowRight, PageDown, PageUp, Home, End, or one character such as a or 5. | |
| dialog | No | How to answer a native dialog (confirm, prompt, 'leave this page?') this step opens: accept presses OK, dismiss presses Cancel. Default: OK for an alert, Cancel for every other dialog. | |
| repeat | No | Times to press it. Default 1. | |
| dialog_text | No | Text for a prompt dialog this step opens; implies accept. |
cotlet_browser_readRead the pageARead-onlyIdempotentInspect
The whole current page: its text (up to 20,000 characters) and a numbered list of its links, buttons, fields and other controls, open dialogs first. Use it on a new page or when a step's answer is not enough; element reads only inside one element (a dialog, a form, a list). Never returns field values, cookies or storage.
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | Leave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote. | |
| element | No | Read only inside this element. |
cotlet_browser_screenshotSee the pageARead-onlyIdempotentInspect
A JPEG of the visible part of the page. Use it for boards, canvases, maps, charts and layout that the text does not show, then click or drag by x, y of the image.
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | Leave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote. |
cotlet_browser_scrollScroll the pageARead-onlyIdempotentInspect
Scrolls with the mouse wheel: down or up by screens, to top or bottom, until element is in view, or inside a panel or list (inside). Content that loads on scroll appears. Answers the page after it: the elements and text in view, with the same numbers.
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | Leave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote. | |
| inside | No | Scroll inside this element, not the page. | |
| element | No | Scroll until this element is in view. | |
| screens | No | Viewport heights, for down and up. Default: 0.8. | |
| direction | No | Default: down. |
cotlet_browser_selectChoose from a listADestructiveInspect
Chooses option (its label as listed, or its value) in drop-down element. For a home-made drop-down, click it, then click the option. Answers the page after it: the elements and text in view, with the same numbers.
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | Leave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote. | |
| dialog | No | How to answer a native dialog (confirm, prompt, 'leave this page?') this step opens: accept presses OK, dismiss presses Cancel. Default: OK for an alert, Cancel for every other dialog. | |
| option | Yes | The option. | |
| element | Yes | The element's number from the last read or step answer. | |
| dialog_text | No | Text for a prompt dialog this step opens; implies accept. |
cotlet_browser_tabsBrowser tabsAInspect
The tabs of the user's web browser, where they keep their signed-in sites open. list (default) answers each tab's id, URL and title and which is shown; switch with tab shows that tab, and every later step acts on it; new with url opens a tab (at most 8); close with tab closes it. Work in the tab of the site the task is about and close only the tabs you opened.
| Name | Required | Description | Default |
|---|---|---|---|
| tab | No | A tab's id from list, for switch and close. | |
| url | No | For new: the public http or https address the tab opens. | |
| action | No | What to do. Default: list. |
cotlet_browser_typeType on the pageADestructiveInspect
Types text into field element, replacing what it held; submit presses Enter after it. For several fields use fill_form. Without element the text goes where the focus is, as a person types after clicking: for spreadsheet cells and editors that read does not number (Google Sheets, Docs), click the place first; there a tab in text presses Tab and a line break Enter, so one call fills a table. Answers the page after it: the elements and text in view, with the same numbers. Password, card and one-time code fields are refused: the user types them.
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | Leave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote. | |
| text | Yes | The text to type. | |
| dialog | No | How to answer a native dialog (confirm, prompt, 'leave this page?') this step opens: accept presses OK, dismiss presses Cancel. Default: OK for an alert, Cancel for every other dialog. | |
| slowly | No | Key by key, for a search or address field whose suggestions do not appear. | |
| submit | No | Press Enter after typing, e.g. to search. | |
| element | No | The field's number from the last read. Leave it out to type where the focus is. | |
| dialog_text | No | Text for a prompt dialog this step opens; implies accept. |
cotlet_browser_uploadUpload a fileADestructiveInspect
Puts files into file field or upload button element: each file is {"url": "https://..."} or {"file_id": "..."} of a file uploaded to Cotlet; up to 10 files, 20 MB each. Answers the page after it: the elements and text in view, with the same numbers.
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | Leave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote. | |
| files | Yes | The files. | |
| element | Yes | The element's number from the last read or step answer. |
cotlet_browser_waitWait for the pageARead-onlyIdempotentInspect
Waits until text shows on the page (at most seconds, default 5, up to 20), or just seconds: for results that load slowly. Says whether the text appeared. Answers the page after it: the elements and text in view, with the same numbers.
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | Leave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote. | |
| text | No | Text to wait for. | |
| seconds | No | At most. |
cotlet_get_callCotlet: check a callARead-onlyInspect
Status of an earlier Cotlet call, by its call_id: pending (waits for the owner's approval in the Cotlet console), approved, running, success, rejected, expired, blocked or failed. For a call that answered with status pending or running.
| Name | Required | Description | Default |
|---|---|---|---|
| call_id | Yes | call_id from the earlier call |
cotlet_report_issueCotlet: report a bug or a missing featureAInspect
Sends a report to the Cotlet team: a tool that failed or returned wrong data, an error you could not get past, or a step the browser could not do, with the page, the step and what you saw. A missing dedicated tool is not a problem to report: do the task in the browser. A feature the user asks for goes as feature_request. A report promises nothing: tell the user it was sent, never that something will be built or fixed, or when. The report carries the error text and call_id when there is one, never passwords or tokens. Needs the user's Cotlet API key or sign-in.
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | App slug the report is about, e.g. 'skool', or for a site in the web browser its host, e.g. 'app.example.com'. | |
| kind | Yes | bug: a tool did the wrong thing or returned wrong data. error: a call failed or returned an error you could not get past. feature_request: something new the user asked for. missing_feature: a step the task needed that you tried and could not do, in the browser or with a tool. other: anything else. | |
| tool | No | Tool or endpoint name, e.g. 'skool_list_members'. | |
| title | Yes | One line, e.g. 'skool_list_members stops after 50 members'. | |
| client | No | Agent or tool sending this, e.g. 'Claude Code'. | |
| call_id | No | call_id of the call that went wrong, if any. | |
| description | Yes | What the user asked for, what you tried, what you expected and what happened, with the error text if there was one. No passwords, tokens or other secrets. |
cotlet_upload_fileCotlet: upload a file for a toolAInspect
Returns a one-time upload_url and a file_id for a local file (an image for a post, an attachment). The file is sent to upload_url with an HTTP PUT; an argument that takes a file accepts {"file_id": "..."}. Up to 25 MB, the URL works once. Free. Needs the user's Cotlet API key or sign-in.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | File name, e.g. photo.jpg. | |
| content_type | No | MIME type, e.g. image/jpeg. |
cotlet_whoamiCotlet: who am IARead-onlyInspect
The Cotlet account this connection acts as: email, workspace, access status, the API key or OAuth client in use with its scope, the apps the workspace may call and its credit balance. Free. Needs the user's Cotlet API key or sign-in.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
9 tool updates
- Added
appflowy_create_database_row - Added
appflowy_create_page - Added
appflowy_list_database_rows - Added
appflowy_list_workspaces - Added
appflowy_publish_page - Added
appflowy_read_page_tree - Added
appflowy_restore_from_trash - Added
appflowy_share_page - Added
appflowy_update_database_row
26 tool updates
- First observed
cotlet_app_guide - First observed
cotlet_apps - First observed
cotlet_balance - First observed
cotlet_browser_click - First observed
cotlet_browser_close - First observed
cotlet_browser_download - First observed
cotlet_browser_drag - First observed
cotlet_browser_evaluate - First observed
cotlet_browser_fill_form - First observed
cotlet_browser_find - First observed
cotlet_browser_hover - First observed
cotlet_browser_navigate - First observed
cotlet_browser_open - First observed
cotlet_browser_press - First observed
cotlet_browser_read - First observed
cotlet_browser_screenshot - First observed
cotlet_browser_scroll - First observed
cotlet_browser_select - First observed
cotlet_browser_tabs - First observed
cotlet_browser_type - First observed
cotlet_browser_upload - First observed
cotlet_browser_wait - First observed
cotlet_get_call - First observed
cotlet_report_issue - First observed
cotlet_upload_file - First observed
cotlet_whoami
Publisher details
- Operator
- Cotlet.dev
- Operator website
- https://cotlet.dev
- Vendor relationship
- Independent
- Trust center
- https://cotlet.dev/security
- Restrictions
- Needs a Cotlet account (free trial, then credits). The user signs in to AppFlowy once in their own Cotlet Cloud Browser; no AppFlowy API key or paid AppFlowy plan is needed.
Related MCP Connectors
Nextcloud MCP server for ChatGPT, Claude and any AI agent: upload file, share file, create calendar event, add contact, create Deck card and search files in your own Nextcloud account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Nextcloud yourself; Cotlet does not store your password and you need no Nextcloud API key. About the official Nextcloud API: Yes. Every Nextcloud instance has WebDAV for files, CalDAV for calendars, CardDAV for contacts, an OCS Share API and a Deck API, and they accept an app password (checked 16 Oct 2026). Setup and FAQ: https://cotlet.dev/integrations/nextcloud-api-mcp-server
RemNote MCP server for ChatGPT, Claude and any AI agent: search notes, create note, create flashcards, edit note, add to daily document and check flashcard queue in your own RemNote account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to RemNote yourself; Cotlet does not store your password and you need no RemNote API key. About the official RemNote API: RemNote has no public REST API (checked 17 Oct 2026). Developers extend the app with the plugin SDK, which runs inside RemNote. Setup and FAQ: https://cotlet.dev/integrations/remnote-api-mcp-server
Slab MCP server for ChatGPT, Claude and any AI agent: search posts, read post, create post, verify post, archive post, list expired posts and get post insights in your own Slab account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Slab yourself; Cotlet does not store your password and you need no Slab API key. About the official Slab API: Slab has a GraphQL API, but only on the Business and Enterprise plans (checked 28 Oct 2026). Free and Startup teams have no API, Slab has no REST API, and it has no official MCP server. Setup and FAQ: https://cotlet.dev/integrations/slab-api-mcp-server
Chatwoot MCP server for ChatGPT, Claude and any AI agent: list conversations, reply to conversation, add private note, assign conversation, add labels and resolve or snooze conversation in your own Chatwoot account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Chatwoot yourself; Cotlet does not store your password and you need no Chatwoot API key. About the official Chatwoot API: Chatwoot has a full REST API, the Application API, and an official command-line client, but no official MCP server (checked 22 Oct 2026). The API covers conversations, messages, contacts, labels, teams and assignments with an access token from Profile Settings. Setup and FAQ: https://cotlet.dev/integrations/chatwoot-api-mcp-server
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceChrome extension + MCP server. Lets coding agents (Claude Code, Codex CLI) drive your real Chrome — sessions intact, 2FA stays with the user. 26 browser tools: form fill on React/CodeMirror/Monaco, privileged fetch that bypasses page CSP, authenticated downloads, in-extension docx parsing. Battle-tested by 400+ hours of real agentic browser work before public v0.9 release.106 npm3MIT
- AlicenseNot gradedqualityDmaintenanceAn extension-based MCP server that enables AI assistants to control your browser, leveraging existing sessions and login states for automation and content analysis. It provides over 20 tools for semantic tab search, interactive element manipulation, and network monitoring directly within your daily Chrome environment.MIT
- AlicenseNot gradedqualityCmaintenanceProvides a unified MCP interface to access 10 free web AI services (like Gemini, ChatGPT, and Claude) through your logged-in Chrome, enabling chat, parallel batch, pipeline, and provider status operations via an OpenAI-compatible gateway.1MIT
- AlicenseNot gradedqualityBmaintenanceA local MCP server that lets Claude Code and Codex drive your real, already-logged-in Chrome — reading pages, clicking, typing, filling forms, navigating, managing tabs and taking screenshots — without Playwright. It pairs with a companion extension over a local WebSocket, with an on/off switch and a domain blocklist so the AI acts only where you allow.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.