MCP-Insomnia is an MCP server that enables AI agents to create, manage, import, export, and execute API collections in Insomnia-compatible format, with direct integration to the local Insomnia application database.
Collection & Folder Management
Create, list, export (Insomnia V4 JSON), and get statistics for API collections/workspaces
Create folders within collections to organize requests
Request Management
Create, update, delete, list, and retrieve details for API requests (HTTP methods, headers, body, parameters, auth)
Execute stored requests with optional environment variables and view execution history
Environment Management
Set and retrieve environment variables associated with collections
Import Tools
Import from cURL commands, Postman Collection v2.1 JSON, OpenAPI/Swagger v3.0 specs, and Insomnia V4 export files
Code Generation
Generate code snippets for requests in 17+ languages and frameworks (JavaScript, Python, Go, Java, Shell, etc.)
Search & Statistics
Search across all collections, folders, and requests; get global statistics
Direct Insomnia App Integration (NeDB)
List projects and workspaces/collections from the local Insomnia app
Get full details of specific Insomnia workspaces and requests
Sync collections between MCP storage and Insomnia (import single/all workspaces, export back to Insomnia)
Execute requests directly from the Insomnia app with environment variable substitution and override support
Allows importing and parsing cURL commands to create new requests within API collections.
Enables comprehensive management of API collections, folders, and requests, including the ability to execute requests, manage environments, and synchronize with the local Insomnia application.
Integrates directly with the local Insomnia NeDB database on macOS to sync collections and execute requests with environment support.
Supports importing existing Postman collections (v2.1) into the Insomnia-compatible format.
Provides the capability to import API definitions from OpenAPI and Swagger (v3.0) JSON specifications.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP-Insomniaimport this curl command into a new request: curl https://api.example.com/users"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP-Insomnia
MCP-Insomnia is an MCP (Model Context Protocol) server that enables AI agents to create and manage API collections in Insomnia-compatible format. This server provides tools and resources for managing collections, requests, and environments that can be exported to Insomnia.
Installation and Usage
Prerequisites
Node.js 18+
npm or yarn
There are three ways to use mcp-insomnia.
1. Run with NPX (Recommended)
You can run mcp-insomnia directly using npx without a global installation.
Configuration:
{
"mcpServers": {
"insomnia": {
"command": "npx",
"args": ["mcp-insomnia"]
}
}
}2. Install Globally from NPM
Install the package globally using npm.
Installation:
npm install -g mcp-insomniaConfiguration:
{
"mcpServers": {
"insomnia": {
"command": "mcp-insomnia"
}
}
}3. Install from Source
Clone the repository and build the project.
Installation:
git clone https://github.com/anggasct/mcp-insomnia.git
cd mcp-insomnia
npm install
npm run buildConfiguration:
{
"mcpServers": {
"insomnia": {
"command": "node",
"args": ["/path/to/mcp-insomnia/dist/index.js"]
}
}
}Available Tools
Collection Management
create_collection- Create new collection/workspacelist_collections- List all collectionsget_collection_detail- Get full details and statistics of a collectionexport_collection- Export collection to JSON format
Folder Management
create_folder- Create folder within collection
Request Management
list_requests- List all requests, optionally filter by collectionget_request- Get full details of a specific requestcreate_request_in_collection- Create new requestupdate_request- Update existing requestdelete_request- Delete requestexecute_request- Execute request and view responseget_request_history- Get execution history of a requestgenerate_code_snippet- Generate a code snippet for a request in various languages/frameworks
Import Tools
import_from_curl- Parse cURL command into a requestimport_from_postman- Import Postman Collection (v2.1) JSONimport_from_openapi- Import OpenAPI/Swagger (v3.0) JSONimport_from_insomnia_export- Import collections from a standard Insomnia V4 export file
Insomnia Direct Integration (NeDB)
Interact directly with the local Insomnia application database (macOS, Linux, Windows).
list_insomnia_projects- List all projects/teams from Insomnialist_insomnia_collections- List all workspaces/collections from Insomniaget_insomnia_collection- Get full details of a specific Insomnia workspaceget_insomnia_request- Get full details of a specific Insomnia requestsync_from_insomnia- Import a workspace from Insomnia to MCPsync_all_from_insomnia- Import all workspaces from Insomnia to MCPsync_to_insomnia- Export an MCP collection back to Insomniaexecute_insomnia_request- Execute a request directly from Insomnia (with env support)
Environment Management
set_environment_variable- Set environment variableget_environment_variables- Get environment variables
Search & Statistics
search- Search across all collections, folders, and requestsget_stats- Get global statistics of all collections
Usage Examples
Create Collection
Create a new Insomnia collection named "API Testing" for testing endpointsAdd Request
Add GET request to "API Testing" Insomnia collection with:
- Name: Get Users
- URL: https://jsonplaceholder.typicode.com/users
- Headers: Content-Type: application/jsonSet Environment Variable
Set Insomnia environment variable "baseUrl" with value "https://api.example.com" for "API Testing" collectionExecute Request
Execute "Get Users" request using the configured environment variablesGenerate Code Snippet
Generate a code snippet for Insomnia request "Get Users" in "javascript"Data Storage
Data is stored in two locations:
MCP Storage:
~/.mcp-insomnia/collections.jsonWorking area for building/editing collections before syncing
Changes here do NOT affect the Insomnia App until synced
Ideal for generating new collections, importing from OpenAPI, or mass-refactoring
Insomnia App Storage (NeDB)
The database used by Insomnia App
Changes here are visible in the App (may require restart)
Default paths:
macOS:
~/Library/Application Support/InsomniaLinux:
~/.config/InsomniaLinux (Flatpak):
~/.var/app/rest.insomnia.Insomnia/config/InsomniaWindows:
%APPDATA%/Insomnia
Custom Insomnia Data Directory
If Insomnia is installed in a non-default location, you can set the INSOMNIA_DATA_DIR environment variable to specify the path:
{
"mcpServers": {
"insomnia": {
"command": "npx",
"args": ["mcp-insomnia"],
"env": {
"INSOMNIA_DATA_DIR": "~/.var/app/rest.insomnia.Insomnia/config/Insomnia"
}
}
}
}Note: Flatpak installations on Linux are auto-detected — you only need
INSOMNIA_DATA_DIRif your Insomnia data is in a truly custom location.
Recommended Workflow
Scenario A: Creating/Modifying Content
Import/Fetch: Pull data from Insomnia (
sync_from_insomniaorimport_from_openapi)Edit: Modify requests/folders using MCP tools (
create_request,update_request)Publish: Sync changes back to Insomnia (
sync_to_insomnia)
Scenario B: Running Existing Requests
Use
execute_insomnia_requestto run requests directly from Insomnia App without syncing
Contributing
Contributions are welcome! Bug fixes, new tools, and improvements are all appreciated.
git clone https://github.com/anggasct/mcp-insomnia.git
cd mcp-insomnia
npm install
npm run build
npx @modelcontextprotocol/inspector node dist/index.js # test via MCP InspectorFork the repo, create a branch from main, and open a PR. Use conventional commits (feat:, fix:, docs:, etc.).
Found a bug or have an idea? Open an issue.
License
Changelog
See CHANGELOG.md for release history.
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.