SkillAgentSearch skills...

sidedoor

Give your AI agent a side door into any web app you use: browse the app, Sidedoor records its API and serves it as an MCP server for Claude, Codex and Cursor.

Install / Use

claude mcp add kemal-arslan -- npx -y github:kemal-arslan/sidedoor

If the server publishes to npm under a different name, use that package instead — check the repo README.

About this skill
🔌

MCP Server

Model Context Protocol server

Quality Score

79/100

Supported Platforms

Claude Code
Claude Desktop
Cursor
OpenAI Codex

Our assessment of sidedoor

sidedoor scores 79/100 on our quality scale, 3641st of 4,606 Development & Engineering skills we index.

Its MCP Server is 6.2 KB long, well organised into 13 sections with 3 code examples: a thorough specification that gives an agent plenty to work with.

It has 3 GitHub stars, so there is little community track record yet; judge it on its content.

Substance
29/30
Structure
18/20
Description
15/15
Adoption
3/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated today, so sidedoor is actively maintained.
  • It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 92/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

Safety scan

No issues found

Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands.

Automated pattern scan on 2026-10-23. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.

sidedoor compared with similar skills

All 4 of these similar skills score higher than sidedoor; compare them before choosing.

SkillScoreStarsUpdatedFormat
sidedoor (this skill)by kemal-arslan793todayMCP Server
taste-skillby Leonxlnx100101.1k2d agoCLAUDE.md
Agent-Reachby Panniantong100101.0k2d agoCLAUDE.md
headroomby headroomlabs-ai10077.5ktodayCLAUDE.md
ai-job-searchby ai-job-search-dev10063.5k1d agoCLAUDE.md

Frequently asked questions

How do I install sidedoor?
Run claude mcp add kemal-arslan -- npx -y github:kemal-arslan/sidedoor. The install tabs above show the steps for each supported agent.
Which AI agents does sidedoor work with?
It is written for Claude Code, Claude Desktop, Cursor and OpenAI Codex, as a MCP Server file. Other agents that read the same format can often use it too.
Is sidedoor safe to use?
Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. It is MIT-licensed and scores 92/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is sidedoor still maintained?
The repository was last updated today, so sidedoor is actively maintained.

Sidedoor

Give your AI agent a side door into any web app you use.

Use a web app for a couple of minutes. Sidedoor watches the calls it makes to its own API, turns them into tools, and serves them over MCP, so Claude, Codex or Cursor can use the app with your logged-in session. No official API, admin-issued key or hand-written MCP server needed.

npm CI License: MIT Buy Me a Coffee

<img src="docs/terminal.png" alt="sidedoor record turns five API calls into four read tools and one write tool, then adds them to Claude Code" width="760" />

Quick start

Requires Node.js 20+ and Google Chrome (or Edge, or npx playwright install chromium).

# 1. Open the app, log in, and use the features you want your agent to have. Close the window when done.
npx sidedoor-mcp record https://app.example.com

# 2. See how to add it to your agent
npx sidedoor-mcp setup example

# 3. For Claude Code, that prints something like:
claude mcp add sidedoor-example -- npx -y sidedoor-mcp serve example

Then ask your agent things like "list my open projects" or "what changed in issue ENG-142?".

How it works

<img src="docs/how-it-works.svg" alt="Record: you use the app and Sidedoor watches its API calls. Infer: calls become typed tools. Serve: your agent uses them over MCP with your session." width="760" />
  1. Record. sidedoor record <url> opens a real browser window with its own persistent profile, so you log in once. Every fetch/XHR call the app makes is recorded. You can also export a HAR file from your usual browser and run sidedoor import.
  2. Infer. Calls are grouped into endpoints: /projects/42 and /projects/43 become GET /projects/{projectId}. Query parameters, request bodies and responses are turned into JSON Schemas from the real traffic. GraphQL operations become one tool each (Viewer, CreateIssue), including batched and persisted queries. Analytics, telemetry, pages and assets are dropped. Tools get readable names: list_projects, get_project, create_project, close_issue.
  3. Serve. sidedoor serve <app> is an MCP server (stdio). Each tool call replays the request against the app's API with your cookies and auth headers, and returns the response to the agent. Cookies the server rotates are saved, so sessions keep working.

sidedoor generate is deterministic, and ~/.sidedoor/apps/<app>/openapi.json gives you an OpenAPI 3.1 document of everything that was found.

Safety and privacy

  • Read-only by default. Tools that change data (POST, PUT, PATCH, DELETE, GraphQL mutations) are only exposed with --allow-writes, and are marked as destructive or not for your MCP client.
  • Credentials stay on your machine. Cookies and auth-like headers (Authorization, CSRF tokens, API keys) are stored in ~/.sidedoor/apps/<app>/session.json with 600 permissions, and never in the capture, the tool specs or the OpenAPI file. Sidedoor only talks to the app itself.
  • No bot-protection bypass. The recording browser is a normal automated browser. If a site refuses it, or blocks sign-in (some Google logins do), export a HAR from your own browser instead.
  • App content is data, not instructions. The server tells the agent to treat responses that way. Still, only connect apps whose content you trust your agent to read.
  • Your accounts, your responsibility. Use Sidedoor with accounts you own, for your own automation, and respect each service's terms. Private APIs can change without notice; run sidedoor refresh <app> to record again.

Your agent's model provider sees tool descriptions and responses, as with any MCP server.

Commands

| Command | What it does | | --- | --- | | sidedoor record <url> [--name app] | Browse and record; logins persist in the app's profile | | sidedoor import <file.har> [--name app] [--url start-url] | Build tools from a HAR exported from your browser | | sidedoor refresh <app> | Log in again or record more features; keeps what you have | | sidedoor tools <app> | List tools and their descriptions | | sidedoor setup <app> [--allow-writes] | Print config for Claude Code, Codex, Cursor and other MCP clients | | sidedoor serve <app> [--allow-writes] [--only a,b] | Run the MCP server over stdio | | sidedoor generate <app> | Rebuild tools from what was recorded | | sidedoor list / sidedoor remove <app> | Manage recorded apps |

Options: --browser auto|chrome|msedge|chromium, --all-hosts (keep API calls to other domains too), SIDEDOOR_HOME to move the data directory.

Importing a HAR file

In Chrome or Edge: open DevTools → Network, reload the app and use it, then right-click a request → Save all as HAR (with sensitive data). The "sensitive data" part includes your cookies, which the tools need. Then:

npx sidedoor-mcp import ~/Downloads/app.example.com.har --name example

Delete the HAR file afterwards: it contains your session.

Limitations

  • HTTP APIs only: WebSockets, server-sent events and streaming responses are not replayed.
  • Requests signed per call (HMAC, timestamps, rotating nonces) and very short-lived tokens refreshed by app code won't replay. sidedoor refresh helps with the second.
  • File uploads, CAPTCHAs and multi-step flows are out of scope.
  • Endpoint grouping is heuristic. If two things got merged or split oddly, record a bit more and run sidedoor generate.

Development

npm install
npx playwright-core install chromium   # for the end-to-end tests
npm test            # unit tests, plus end-to-end tests that log into a local app in Chromium,
                    # record it, and drive the MCP server with a real MCP client
npm run typecheck
npm run build
npm run dev -- --help

Support

Sidedoor is free and open source. If it saved you from writing an MCP server, you can buy me a coffee.

License

MIT

Related Skills

View on GitHub
GitHub Stars3
CategoryDevelopment
Updated5h ago
Forks0

Languages

TypeScript

Trust signals

92/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

1 low