{"domain":"cotlet.dev","name":"Cotlet","url":"https://inite.ai/en/atlas/cotlet.dev","site":"https://cotlet.dev","summary":"Lets AI agents operate apps without APIs by running signed-in sessions in a cloud browser and exposing them through MCP and REST.","forWhom":"Teams and agencies automating work in web apps that have no API, such as booking, payroll or CRM tools","useCases":["Move bookings in a booking app with no API","Export payslips from a payroll portal without an API","Fetch weekly sales reports from a CRM without an API"],"categories":["dev"],"pricing":{"model":"usage","freeTier":false,"startsAt":{"amount":29,"currency":"USD","per":"one-time","billed":null},"page":"https://cotlet.dev/pricing","readOn":"2026-10-28"},"priceMoves":[],"interfaces":{"readOn":"2026-10-28","apiDocs":"https://cotlet.dev/docs","openapi":null,"mcp":[{"name":"dev.cotlet/bookingkoala","tie":"namespace","registered":true,"remotes":["https://cotlet.dev/mcp/v1/bookingkoala/connect","https://cotlet.dev/mcp/v1/bookingkoala"],"packages":["pypi"],"probe":{"state":"auth","checkedOn":"2026-10-28","toolCount":null,"tools":[],"serverName":null}},{"name":"dev.cotlet/booksy","tie":"namespace","registered":true,"remotes":["https://cotlet.dev/mcp/v1/booksy/connect","https://cotlet.dev/mcp/v1/booksy"],"packages":["pypi"],"probe":{"state":"auth","checkedOn":"2026-10-28","toolCount":null,"tools":[],"serverName":null}},{"name":"dev.cotlet/contractor-foreman","tie":"namespace","registered":true,"remotes":["https://cotlet.dev/mcp/v1/contractor-foreman/connect","https://cotlet.dev/mcp/v1/contractor-foreman"],"packages":["pypi"],"probe":{"state":"auth","checkedOn":"2026-10-28","toolCount":null,"tools":[],"serverName":null}},{"name":"dev.cotlet/cotlet","tie":"namespace","registered":true,"remotes":["https://cotlet.dev/mcp/v1/cotlet/connect","https://cotlet.dev/mcp/v1/cotlet"],"packages":[],"probe":null},{"name":"dev.cotlet/fresha","tie":"namespace","registered":true,"remotes":["https://cotlet.dev/mcp/v1/fresha/connect","https://cotlet.dev/mcp/v1/fresha"],"packages":["pypi"],"probe":null},{"name":"dev.cotlet/milanote","tie":"namespace","registered":true,"remotes":["https://cotlet.dev/mcp/v1/milanote/connect","https://cotlet.dev/mcp/v1/milanote"],"packages":["pypi"],"probe":null},{"name":"dev.cotlet/partiful","tie":"namespace","registered":true,"remotes":["https://cotlet.dev/mcp/v1/partiful/connect","https://cotlet.dev/mcp/v1/partiful"],"packages":["pypi"],"probe":null},{"name":"dev.cotlet/peopleperhour","tie":"namespace","registered":true,"remotes":["https://cotlet.dev/mcp/v1/peopleperhour/connect","https://cotlet.dev/mcp/v1/peopleperhour"],"packages":["pypi"],"probe":null},{"name":"dev.cotlet/pirate-ship","tie":"namespace","registered":true,"remotes":["https://cotlet.dev/mcp/v1/pirate-ship/connect","https://cotlet.dev/mcp/v1/pirate-ship"],"packages":["pypi"],"probe":null},{"name":"dev.cotlet/skool","tie":"namespace","registered":true,"remotes":["https://cotlet.dev/mcp/v1/skool/connect","https://cotlet.dev/mcp/v1/skool"],"packages":["pypi"],"probe":null},{"name":"dev.cotlet/substack","tie":"namespace","registered":true,"remotes":["https://cotlet.dev/mcp/v1/substack/connect","https://cotlet.dev/mcp/v1/substack"],"packages":["pypi"],"probe":null},{"name":"dev.cotlet/tradify","tie":"namespace","registered":true,"remotes":["https://cotlet.dev/mcp/v1/tradify/connect","https://cotlet.dev/mcp/v1/tradify"],"packages":["pypi"],"probe":null}],"mcpServerCard":null,"status":{"url":"https://status.cotlet.dev","indicator":null}},"mcpMeasured":{"server":"https://cotlet.dev/mcp/v1/bookingkoala/connect","checkedSince":"2026-10-28","dailyChecks":5,"uptimePercent":null,"medianMs":831,"signIn":"oauth","clientRegistration":"self","tools":null,"contextTokens":null,"definitionsGrade":null,"definitionsScore":null,"typedResults":null,"failingChecks":null,"warnings":null,"coverage":null,"adoption":{"npmWeekly":null,"pypiWeekly":963,"githubStars":4},"score":null,"advice":{"verdict":"unproven","why":["checked on 5 of the 7 days it takes to judge reliability"],"how":["signs in by OAuth: the client opens the sign-in on first connect"]},"method":"https://inite.ai/en/atlas/mcp/report"},"connect":{"order":["mcp","apiDocs","llmsTxt"],"mcp":[{"name":"dev.cotlet/bookingkoala","url":"https://cotlet.dev/mcp/v1/bookingkoala/connect","answers":"sign-in","checkedOn":"2026-10-28","weakTie":false,"registry":"https://registry.modelcontextprotocol.io/v0/servers?search=dev.cotlet%2Fbookingkoala","config":{"mcpServers":{"cotlet":{"url":"https://cotlet.dev/mcp/v1/bookingkoala/connect"}}},"install":{"transport":"http","claudeCode":"claude mcp add --transport http cotlet https://cotlet.dev/mcp/v1/bookingkoala/connect","cursor":"cursor://anysphere.cursor-deeplink/mcp/install?name=cotlet&config=eyJ1cmwiOiJodHRwczovL2NvdGxldC5kZXYvbWNwL3YxL2Jvb2tpbmdrb2FsYS9jb25uZWN0In0%3D","vscode":"vscode:mcp/install?%7B%22name%22%3A%22cotlet%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fcotlet.dev%2Fmcp%2Fv1%2Fbookingkoala%2Fconnect%22%7D","connector":{"url":"https://cotlet.dev/mcp/v1/bookingkoala/connect","note":"Add it as a custom connector in the client’s settings; the client opens the sign-in itself when the server asks for one."}}},{"name":"dev.cotlet/booksy","url":"https://cotlet.dev/mcp/v1/booksy/connect","answers":"sign-in","checkedOn":"2026-10-28","weakTie":false,"registry":"https://registry.modelcontextprotocol.io/v0/servers?search=dev.cotlet%2Fbooksy","config":{"mcpServers":{"cotlet":{"url":"https://cotlet.dev/mcp/v1/booksy/connect"}}},"install":{"transport":"http","claudeCode":"claude mcp add --transport http cotlet https://cotlet.dev/mcp/v1/booksy/connect","cursor":"cursor://anysphere.cursor-deeplink/mcp/install?name=cotlet&config=eyJ1cmwiOiJodHRwczovL2NvdGxldC5kZXYvbWNwL3YxL2Jvb2tzeS9jb25uZWN0In0%3D","vscode":"vscode:mcp/install?%7B%22name%22%3A%22cotlet%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fcotlet.dev%2Fmcp%2Fv1%2Fbooksy%2Fconnect%22%7D","connector":{"url":"https://cotlet.dev/mcp/v1/booksy/connect","note":"Add it as a custom connector in the client’s settings; the client opens the sign-in itself when the server asks for one."}}},{"name":"dev.cotlet/contractor-foreman","url":"https://cotlet.dev/mcp/v1/contractor-foreman/connect","answers":"sign-in","checkedOn":"2026-10-28","weakTie":false,"registry":"https://registry.modelcontextprotocol.io/v0/servers?search=dev.cotlet%2Fcontractor-foreman","config":{"mcpServers":{"cotlet":{"url":"https://cotlet.dev/mcp/v1/contractor-foreman/connect"}}},"install":{"transport":"http","claudeCode":"claude mcp add --transport http cotlet https://cotlet.dev/mcp/v1/contractor-foreman/connect","cursor":"cursor://anysphere.cursor-deeplink/mcp/install?name=cotlet&config=eyJ1cmwiOiJodHRwczovL2NvdGxldC5kZXYvbWNwL3YxL2NvbnRyYWN0b3ItZm9yZW1hbi9jb25uZWN0In0%3D","vscode":"vscode:mcp/install?%7B%22name%22%3A%22cotlet%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fcotlet.dev%2Fmcp%2Fv1%2Fcontractor-foreman%2Fconnect%22%7D","connector":{"url":"https://cotlet.dev/mcp/v1/contractor-foreman/connect","note":"Add it as a custom connector in the client’s settings; the client opens the sign-in itself when the server asks for one."}}},{"name":"dev.cotlet/cotlet","url":"https://cotlet.dev/mcp/v1/cotlet/connect","answers":"unknown","checkedOn":null,"weakTie":false,"registry":"https://registry.modelcontextprotocol.io/v0/servers?search=dev.cotlet%2Fcotlet","config":{"mcpServers":{"cotlet":{"url":"https://cotlet.dev/mcp/v1/cotlet/connect"}}},"install":{"transport":"http","claudeCode":"claude mcp add --transport http cotlet https://cotlet.dev/mcp/v1/cotlet/connect","cursor":"cursor://anysphere.cursor-deeplink/mcp/install?name=cotlet&config=eyJ1cmwiOiJodHRwczovL2NvdGxldC5kZXYvbWNwL3YxL2NvdGxldC9jb25uZWN0In0%3D","vscode":"vscode:mcp/install?%7B%22name%22%3A%22cotlet%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fcotlet.dev%2Fmcp%2Fv1%2Fcotlet%2Fconnect%22%7D","connector":{"url":"https://cotlet.dev/mcp/v1/cotlet/connect","note":"Add it as a custom connector in the client’s settings; the client opens the sign-in itself when the server asks for one."}}},{"name":"dev.cotlet/fresha","url":"https://cotlet.dev/mcp/v1/fresha/connect","answers":"unknown","checkedOn":null,"weakTie":false,"registry":"https://registry.modelcontextprotocol.io/v0/servers?search=dev.cotlet%2Ffresha","config":{"mcpServers":{"cotlet":{"url":"https://cotlet.dev/mcp/v1/fresha/connect"}}},"install":{"transport":"http","claudeCode":"claude mcp add --transport http cotlet https://cotlet.dev/mcp/v1/fresha/connect","cursor":"cursor://anysphere.cursor-deeplink/mcp/install?name=cotlet&config=eyJ1cmwiOiJodHRwczovL2NvdGxldC5kZXYvbWNwL3YxL2ZyZXNoYS9jb25uZWN0In0%3D","vscode":"vscode:mcp/install?%7B%22name%22%3A%22cotlet%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fcotlet.dev%2Fmcp%2Fv1%2Ffresha%2Fconnect%22%7D","connector":{"url":"https://cotlet.dev/mcp/v1/fresha/connect","note":"Add it as a custom connector in the client’s settings; the client opens the sign-in itself when the server asks for one."}}},{"name":"dev.cotlet/milanote","url":"https://cotlet.dev/mcp/v1/milanote/connect","answers":"unknown","checkedOn":null,"weakTie":false,"registry":"https://registry.modelcontextprotocol.io/v0/servers?search=dev.cotlet%2Fmilanote","config":{"mcpServers":{"cotlet":{"url":"https://cotlet.dev/mcp/v1/milanote/connect"}}},"install":{"transport":"http","claudeCode":"claude mcp add --transport http cotlet https://cotlet.dev/mcp/v1/milanote/connect","cursor":"cursor://anysphere.cursor-deeplink/mcp/install?name=cotlet&config=eyJ1cmwiOiJodHRwczovL2NvdGxldC5kZXYvbWNwL3YxL21pbGFub3RlL2Nvbm5lY3QifQ%3D%3D","vscode":"vscode:mcp/install?%7B%22name%22%3A%22cotlet%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fcotlet.dev%2Fmcp%2Fv1%2Fmilanote%2Fconnect%22%7D","connector":{"url":"https://cotlet.dev/mcp/v1/milanote/connect","note":"Add it as a custom connector in the client’s settings; the client opens the sign-in itself when the server asks for one."}}},{"name":"dev.cotlet/partiful","url":"https://cotlet.dev/mcp/v1/partiful/connect","answers":"unknown","checkedOn":null,"weakTie":false,"registry":"https://registry.modelcontextprotocol.io/v0/servers?search=dev.cotlet%2Fpartiful","config":{"mcpServers":{"cotlet":{"url":"https://cotlet.dev/mcp/v1/partiful/connect"}}},"install":{"transport":"http","claudeCode":"claude mcp add --transport http cotlet https://cotlet.dev/mcp/v1/partiful/connect","cursor":"cursor://anysphere.cursor-deeplink/mcp/install?name=cotlet&config=eyJ1cmwiOiJodHRwczovL2NvdGxldC5kZXYvbWNwL3YxL3BhcnRpZnVsL2Nvbm5lY3QifQ%3D%3D","vscode":"vscode:mcp/install?%7B%22name%22%3A%22cotlet%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fcotlet.dev%2Fmcp%2Fv1%2Fpartiful%2Fconnect%22%7D","connector":{"url":"https://cotlet.dev/mcp/v1/partiful/connect","note":"Add it as a custom connector in the client’s settings; the client opens the sign-in itself when the server asks for one."}}},{"name":"dev.cotlet/peopleperhour","url":"https://cotlet.dev/mcp/v1/peopleperhour/connect","answers":"unknown","checkedOn":null,"weakTie":false,"registry":"https://registry.modelcontextprotocol.io/v0/servers?search=dev.cotlet%2Fpeopleperhour","config":{"mcpServers":{"cotlet":{"url":"https://cotlet.dev/mcp/v1/peopleperhour/connect"}}},"install":{"transport":"http","claudeCode":"claude mcp add --transport http cotlet https://cotlet.dev/mcp/v1/peopleperhour/connect","cursor":"cursor://anysphere.cursor-deeplink/mcp/install?name=cotlet&config=eyJ1cmwiOiJodHRwczovL2NvdGxldC5kZXYvbWNwL3YxL3Blb3BsZXBlcmhvdXIvY29ubmVjdCJ9","vscode":"vscode:mcp/install?%7B%22name%22%3A%22cotlet%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fcotlet.dev%2Fmcp%2Fv1%2Fpeopleperhour%2Fconnect%22%7D","connector":{"url":"https://cotlet.dev/mcp/v1/peopleperhour/connect","note":"Add it as a custom connector in the client’s settings; the client opens the sign-in itself when the server asks for one."}}},{"name":"dev.cotlet/pirate-ship","url":"https://cotlet.dev/mcp/v1/pirate-ship/connect","answers":"unknown","checkedOn":null,"weakTie":false,"registry":"https://registry.modelcontextprotocol.io/v0/servers?search=dev.cotlet%2Fpirate-ship","config":{"mcpServers":{"cotlet":{"url":"https://cotlet.dev/mcp/v1/pirate-ship/connect"}}},"install":{"transport":"http","claudeCode":"claude mcp add --transport http cotlet https://cotlet.dev/mcp/v1/pirate-ship/connect","cursor":"cursor://anysphere.cursor-deeplink/mcp/install?name=cotlet&config=eyJ1cmwiOiJodHRwczovL2NvdGxldC5kZXYvbWNwL3YxL3BpcmF0ZS1zaGlwL2Nvbm5lY3QifQ%3D%3D","vscode":"vscode:mcp/install?%7B%22name%22%3A%22cotlet%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fcotlet.dev%2Fmcp%2Fv1%2Fpirate-ship%2Fconnect%22%7D","connector":{"url":"https://cotlet.dev/mcp/v1/pirate-ship/connect","note":"Add it as a custom connector in the client’s settings; the client opens the sign-in itself when the server asks for one."}}},{"name":"dev.cotlet/skool","url":"https://cotlet.dev/mcp/v1/skool/connect","answers":"unknown","checkedOn":null,"weakTie":false,"registry":"https://registry.modelcontextprotocol.io/v0/servers?search=dev.cotlet%2Fskool","config":{"mcpServers":{"cotlet":{"url":"https://cotlet.dev/mcp/v1/skool/connect"}}},"install":{"transport":"http","claudeCode":"claude mcp add --transport http cotlet https://cotlet.dev/mcp/v1/skool/connect","cursor":"cursor://anysphere.cursor-deeplink/mcp/install?name=cotlet&config=eyJ1cmwiOiJodHRwczovL2NvdGxldC5kZXYvbWNwL3YxL3Nrb29sL2Nvbm5lY3QifQ%3D%3D","vscode":"vscode:mcp/install?%7B%22name%22%3A%22cotlet%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fcotlet.dev%2Fmcp%2Fv1%2Fskool%2Fconnect%22%7D","connector":{"url":"https://cotlet.dev/mcp/v1/skool/connect","note":"Add it as a custom connector in the client’s settings; the client opens the sign-in itself when the server asks for one."}}},{"name":"dev.cotlet/substack","url":"https://cotlet.dev/mcp/v1/substack/connect","answers":"unknown","checkedOn":null,"weakTie":false,"registry":"https://registry.modelcontextprotocol.io/v0/servers?search=dev.cotlet%2Fsubstack","config":{"mcpServers":{"cotlet":{"url":"https://cotlet.dev/mcp/v1/substack/connect"}}},"install":{"transport":"http","claudeCode":"claude mcp add --transport http cotlet https://cotlet.dev/mcp/v1/substack/connect","cursor":"cursor://anysphere.cursor-deeplink/mcp/install?name=cotlet&config=eyJ1cmwiOiJodHRwczovL2NvdGxldC5kZXYvbWNwL3YxL3N1YnN0YWNrL2Nvbm5lY3QifQ%3D%3D","vscode":"vscode:mcp/install?%7B%22name%22%3A%22cotlet%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fcotlet.dev%2Fmcp%2Fv1%2Fsubstack%2Fconnect%22%7D","connector":{"url":"https://cotlet.dev/mcp/v1/substack/connect","note":"Add it as a custom connector in the client’s settings; the client opens the sign-in itself when the server asks for one."}}},{"name":"dev.cotlet/tradify","url":"https://cotlet.dev/mcp/v1/tradify/connect","answers":"unknown","checkedOn":null,"weakTie":false,"registry":"https://registry.modelcontextprotocol.io/v0/servers?search=dev.cotlet%2Ftradify","config":{"mcpServers":{"cotlet":{"url":"https://cotlet.dev/mcp/v1/tradify/connect"}}},"install":{"transport":"http","claudeCode":"claude mcp add --transport http cotlet https://cotlet.dev/mcp/v1/tradify/connect","cursor":"cursor://anysphere.cursor-deeplink/mcp/install?name=cotlet&config=eyJ1cmwiOiJodHRwczovL2NvdGxldC5kZXYvbWNwL3YxL3RyYWRpZnkvY29ubmVjdCJ9","vscode":"vscode:mcp/install?%7B%22name%22%3A%22cotlet%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fcotlet.dev%2Fmcp%2Fv1%2Ftradify%2Fconnect%22%7D","connector":{"url":"https://cotlet.dev/mcp/v1/tradify/connect","note":"Add it as a custom connector in the client’s settings; the client opens the sign-in itself when the server asks for one."}}}],"openapi":null,"apiDocs":"https://cotlet.dev/docs","llmsTxt":"https://cotlet.dev/llms.txt","status":"https://status.cotlet.dev","readOn":"2026-10-28"},"trust":{"readOn":"2026-10-28","certifications":["gdpr"],"training":{"stance":"no","about":"vendor","quote":"We do not use your data or Connected App content to train AI models.","url":"https://cotlet.dev/privacy"}},"used":0,"alive":100,"traits":{"buyer":null,"deployment":"saas-only","developerFocus":null,"readAt":"2026-10-28"},"verifiedPlans":null,"fromVendor":null}