Skip to main content
Glama
anggasct

MCP-Insomnia

by anggasct

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.

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-insomnia

Configuration:

{
  "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 build

Configuration:

{
  "mcpServers": {
    "insomnia": {
      "command": "node",
      "args": ["/path/to/mcp-insomnia/dist/index.js"]
    }
  }
}

Available Tools

Collection Management

  • create_collection - Create new collection/workspace

  • list_collections - List all collections

  • get_collection_detail - Get full details and statistics of a collection

  • export_collection - Export collection to JSON format

Folder Management

  • create_folder - Create folder within collection

Request Management

  • list_requests - List all requests, optionally filter by collection

  • get_request - Get full details of a specific request

  • create_request_in_collection - Create new request

  • update_request - Update existing request

  • delete_request - Delete request

  • execute_request - Execute request and view response

  • get_request_history - Get execution history of a request

  • generate_code_snippet - Generate a code snippet for a request in various languages/frameworks

Import Tools

  • import_from_curl - Parse cURL command into a request

  • import_from_postman - Import Postman Collection (v2.1) JSON

  • import_from_openapi - Import OpenAPI/Swagger (v3.0) JSON

  • import_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 Insomnia

  • list_insomnia_collections - List all workspaces/collections from Insomnia

  • get_insomnia_collection - Get full details of a specific Insomnia workspace

  • get_insomnia_request - Get full details of a specific Insomnia request

  • sync_from_insomnia - Import a workspace from Insomnia to MCP

  • sync_all_from_insomnia - Import all workspaces from Insomnia to MCP

  • sync_to_insomnia - Export an MCP collection back to Insomnia

  • execute_insomnia_request - Execute a request directly from Insomnia (with env support)

Environment Management

  • set_environment_variable - Set environment variable

  • get_environment_variables - Get environment variables

Search & Statistics

  • search - Search across all collections, folders, and requests

  • get_stats - Get global statistics of all collections

Usage Examples

Create Collection

Create a new Insomnia collection named "API Testing" for testing endpoints

Add Request

Add GET request to "API Testing" Insomnia collection with:
- Name: Get Users
- URL: https://jsonplaceholder.typicode.com/users
- Headers: Content-Type: application/json

Set Environment Variable

Set Insomnia environment variable "baseUrl" with value "https://api.example.com" for "API Testing" collection

Execute Request

Execute "Get Users" request using the configured environment variables

Generate Code Snippet

Generate a code snippet for Insomnia request "Get Users" in "javascript"

Data Storage

Data is stored in two locations:

  1. MCP Storage: ~/.mcp-insomnia/collections.json

    • Working 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

  2. 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/Insomnia

      • Linux: ~/.config/Insomnia

      • Linux (Flatpak): ~/.var/app/rest.insomnia.Insomnia/config/Insomnia

      • Windows: %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_DIR if your Insomnia data is in a truly custom location.

Scenario A: Creating/Modifying Content

  1. Import/Fetch: Pull data from Insomnia (sync_from_insomnia or import_from_openapi)

  2. Edit: Modify requests/folders using MCP tools (create_request, update_request)

  3. Publish: Sync changes back to Insomnia (sync_to_insomnia)

Scenario B: Running Existing Requests

  • Use execute_insomnia_request to 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 Inspector

Fork 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

MIT License

Changelog

See CHANGELOG.md for release history.

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

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.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/anggasct/mcp-insomnia'

If you have feedback or need assistance with the MCP directory API, please join our Discord server