# Kurlo > Kurlo is a free, open-source (MIT) desktop API client for HTTP, GraphQL, gRPC, WebSocket, Socket.IO, SSE and MCP. No account, no seats, no cloud, no telemetry: collections are plain YAML files on your disk, and Git is how a team shares them. It runs Postman `pm.*` scripts as written, imports Postman, Insomnia, Bruno, OpenAPI and HAR, and has a local mock server, a collection runner, and browser CORS and CSP checks. For AI agents, `kurlo mcp` is an MCP server that lists, runs and edits the saved requests of a workspace and reads what the user sent from the app. `npx -y @kurlo/cli mcp install` adds it to Claude Code, Cursor, Codex, VS Code and other clients. `kurlo run` runs collections in CI. All of the documentation in one file: https://kurlo.dev/llms-full.txt ## Docs - [Overview](https://kurlo.dev/docs/): Everything you need to send, test, mock and ship API requests with Kurlo. ## Getting started - [Installation](https://kurlo.dev/docs/getting-started/installation/): Install Kurlo on macOS, Windows or Linux, and get past the first-run prompts. - [Your first request](https://kurlo.dev/docs/getting-started/first-request/): Send a request, save it to a collection, parameterize it with an environment. - [Migrating from Postman / Insomnia](https://kurlo.dev/docs/getting-started/migrating/): How to move your collections, environments, and auth setups from Postman or Insomnia into Kurlo without losing work. ## Guides - [App settings](https://kurlo.dev/docs/guides/settings/): Configure saving, scripts, themes, proxying, shortcuts, updates, support, and local data handling. - [Authentication](https://kurlo.dev/docs/guides/authentication/): Configure Bearer, Basic, Digest, NTLM, API Key, JWT Bearer, OAuth 1.0, OAuth 2.0, and AWS Signature v4 auth. - [Environments & variables](https://kurlo.dev/docs/guides/environments/): Switch between staging, prod, and local without rewriting every request. - [Workspaces & collections](https://kurlo.dev/docs/guides/workspaces/): How Kurlo organizes your requests — workspaces, collections, folders, drag-and-drop, and starred favourites. - [Collection defaults](https://kurlo.dev/docs/guides/collection-defaults/): Reuse headers, variables, auth, scripts, tests, and transport settings across every request in a collection or folder. - [Request types](https://kurlo.dev/docs/guides/request-types/): HTTP, GraphQL, SSE, WebSocket, Socket.IO, gRPC, MCP, and AI requests in Kurlo. - [Response viewer](https://kurlo.dev/docs/guides/response-viewer/): Reading the body, headers, test results, paging through large payloads, search, and copying responses. - [Response examples](https://kurlo.dev/docs/guides/examples/): Save what an endpoint actually returned, next to the request that asked for it — as a reviewable file in your workspace, and as the fixture the mock server replays. - [Mock server](https://kurlo.dev/docs/guides/mock-server/): Serve a collection's saved examples over HTTP on a local port, so a client can be built against an endpoint that does not exist yet. - [Per-request settings](https://kurlo.dev/docs/guides/request-settings/): HTTP version, redirect policy, TLS verification, cookie jar, timeout, URL encoding, proxy, and protocol controls for one request. - [Browser security emulation](https://kurlo.dev/docs/guides/browser-security/): Reproduce browser-like Origin headers, credentials mode, CORS preflights, and CSP connect-src blocking. - [Proxy configuration](https://kurlo.dev/docs/guides/proxy/): Configure Kurlo's global, collection, and request proxy behavior, including system settings, SOCKS5, authentication, and bypass rules. - [Cookies](https://kurlo.dev/docs/guides/cookies/): How Kurlo stores, sends, edits, and disables cookies. - [Request history](https://kurlo.dev/docs/guides/history/): Every response is archived locally for 14 days. How to find it, replay it, or save it back into a collection. - [Scripting (pre-request & tests)](https://kurlo.dev/docs/guides/scripting/): Pre-request and test scripts in JavaScript or Tengo — inject headers, assert responses, set variables. - [Collection Runner](https://kurlo.dev/docs/guides/collection-runner/): Run saved requests as smoke tests, regressions, or data-driven checks. - [Load testing with k6](https://kurlo.dev/docs/guides/load-testing/): Build a load-test flow from a collection, choose the load and pass criteria, and export or run it with local Grafana k6. - [CLI runner (run & load)](https://kurlo.dev/docs/guides/cli-runner/): Run requests, test scripts and k6 load tests from a Kurlo YAML workspace in the terminal or CI. - [Agent](https://kurlo.dev/docs/guides/agent/): Ask Kurlo's built-in agent to run requests, explain failures and edit your collections, with your own model and an approval for every change. - [MCP server (kurlo mcp)](https://kurlo.dev/docs/guides/mcp-server/): Let Claude, Codex, Cursor and other AI assistants run your saved Kurlo requests and keep your collections up to date through the Model Context Protocol. - [Git-backed workspaces](https://kurlo.dev/docs/guides/git-workspaces/): Store Kurlo workspaces as YAML files, keep secrets local, and collaborate through Git. - [Import & export](https://kurlo.dev/docs/guides/import-export/): Move collections and workspaces between Kurlo, Postman, Insomnia, Bruno/OpenCollection, OpenAPI, HAR, curl, and Git. - [OpenAPI sync](https://kurlo.dev/docs/guides/openapi-sync/): Keep a collection in step with an OpenAPI spec from a URL or a file, review every change before it lands, and check for drift in CI. - [Backup & recovery](https://kurlo.dev/docs/guides/backup-recovery/): Back up, restore, migrate, and recover Kurlo data without losing encryption keys or external Git workspaces. - [Code generation](https://kurlo.dev/docs/guides/code-generation/): Copy the current HTTP or AI request as a runnable snippet in one of 14 targets. ## Reference - [Scripting API](https://kurlo.dev/docs/reference/scripting-api/): Full pm.* reference for pre-request and test scripts. - [Kurlo YAML format](https://kurlo.dev/docs/reference/kurlo-yaml-format/): Public contract for Git-backed Kurlo workspaces. - [Performance fixtures](https://kurlo.dev/docs/reference/performance-fixtures/): Reproducible large workspaces and responses for local performance checks. - [Keyboard shortcuts](https://kurlo.dev/docs/reference/keyboard-shortcuts/): Default key bindings for Kurlo. All shortcuts can be remapped in Settings → Shortcuts. ## Optional - [Troubleshooting](https://kurlo.dev/docs/troubleshooting/): Common installation, network, and runtime problems — and how to fix them. - [FAQ](https://kurlo.dev/docs/faq/): Common questions about Kurlo — data, auth, updates, troubleshooting. - [Support Kurlo](https://kurlo.dev/docs/support/): Kurlo is free for teams of any size. Here is how to help it keep going. - [Privacy & security](https://kurlo.dev/privacy/): Kurlo is local-first. What stays on your machine, what leaves it, and how your data is protected. - [Changelog](https://kurlo.dev/changelog/): Notable Kurlo changes and links to the exact notes for each published release.