GitHub - onkernel/kernel-mcp-server: Open-source MCP server for secure, low-latency cloud-browser automation on Kernel. (original) (raw)

Kernel MCP Server

MIT License Node.js Next.js smithery badge

A Model Context Protocol (MCP) server that provides AI assistants with secure access to Kernel platform tools and browser automation capabilities.

Architecture Overview

🌐 Use instantly at https://mcp.onkernel.com/mcp — no installation required!

What is this?

The Kernel MCP Server bridges AI assistants (like Claude, Cursor, or other MCP-compatible tools) with the Kernel platform, enabling them to:

Open-source & fully-managed — the complete codebase is available here, and we run the production instance so you don't need to deploy anything.

The server uses OAuth 2.0 authentication via Clerk to ensure secure access to your Kernel resources.

For a deeper dive into why and how we built this server, see our blog post: Introducing Kernel MCP Server.

Setup Instructions

General (Transports)

Use the streamable HTTP endpoint where supported for increased reliability. If your client does not support remote MCP, use mcp-remote over stdio.

Kernel's server is a centrally hosted, authenticated remote MCP using OAuth 2.1 with dynamic client registration.

Connect in your client

Claude

Our remote MCP server is not compatible with the method Free users of Claude use to add MCP servers.

Pro, Max, Team & Enterprise (Claude.ai and Claude Desktop)

  1. Go to Settings → Connectors → Add custom connector.
  2. Enter: Integration name: Kernel, Integration URL: https://mcp.onkernel.com/mcp, then click Add.
  3. In Settings → Connectors, click Connect next to Kernel to launch OAuth and approve.
  4. In chat, click Search and tools and enable the Kernel tools if needed.

On Claude for Work (Team/Enterprise), only Primary Owners or Owners can enable custom connectors for the org. After it's configured, each user still needs to go to Settings → Connectors and click Connect to authorize it for their account.

Claude Code CLI

claude mcp add --transport http kernel https://mcp.onkernel.com/mcp

Then in the REPL run once to authenticate:

/mcp

Cursor

Automatic setup

Install MCP Server

Manual setup

  1. Press ⌘/Ctrl Shift J.
  2. Go to MCP & Integrations → New MCP server.
  3. Add this configuration:

{ "mcpServers": { "kernel": { "url": "https://mcp.onkernel.com/mcp" } } }

  1. Save. The server will appear in Tools.

Goose

Click here to install Kernel on Goose in one click.

Goose Desktop

  1. Click Extensions in the sidebar of the Goose Desktop.
  2. Click Add custom extension.
  3. On the Add custom extension modal, enter:
    • Extension Name: Kernel
    • Type: STDIO
    • Description: Access Kernel's cloud-based browsers via MCP
    • Command: npx -y mcp-remote https://mcp.onkernel.com/mcp
    • Timeout: 300
  4. Click Save Changes button.

Goose CLI

  1. Run the following command:
  2. Select Add Extension from the menu.
  3. Choose Command-line Extension.
  4. Follow the prompts:
    • Extension name: Kernel
    • Command: npx -y mcp-remote https://mcp.onkernel.com/mcp
    • Timeout: 300
    • Description: Access Kernel's cloud-based browsers via MCP

Visual Studio Code

{ "mcpServers": { "kernel": { "url": "https://mcp.onkernel.com/mcp", "type": "http" } } }

  1. Press ⌘/Ctrl P → search MCP: Add Server.
  2. Select HTTP (HTTP or Server-Sent Events).
  3. Enter: https://mcp.onkernel.com/mcp
  4. Name the server Kernel → Enter.

Windsurf

  1. Press ⌘/Ctrl , to open settings.
  2. Navigate Cascade → MCP servers → View raw config.
  3. Paste:

{ "mcpServers": { "kernel": { "command": "npx", "args": ["-y", "mcp-remote", "https://mcp.onkernel.com/mcp"] } } }

  1. On Manage MCPs, click Refresh to load Kernel MCP.

Zed

  1. Press ⌘/Ctrl , to open settings.
  2. Paste:

{ "context_servers": { "kernel": { "source": "custom", "command": "npx", "args": ["-y", "mcp-remote", "https://mcp.onkernel.com/mcp"] } } }

Smithery

You can connect directly to https://mcp.onkernel.com/mcp, or use Smithery as a proxy using its provided URL.

Others

Many other MCP-capable tools accept:

{ "kernel": { "command": "npx", "args": ["-y", "mcp-remote", "https://mcp.onkernel.com/mcp"] } }

Configure these values wherever the tool expects MCP server settings.

Tools

Browser Automation

Profile Management

App Management

Resources

Prompts

Troubleshooting

Examples

Invoke apps from anywhere

Human: Run my web-scraper app to get data from reddit.com
Assistant: I'll execute your web-scraper action with reddit.com as the target.
[Uses invoke_action tool to run your deployed app in the cloud]

Execute Playwright code dynamically

Human: Go to example.com and get me the page title
Assistant: I'll execute Playwright code to navigate to the site and retrieve the title.
[Uses execute_playwright_code tool with code: "await page.goto('https://example.com'); return await page.title();"]
Returns: { success: true, result: "Example Domain", replay_url: "https://..." }

Set up browser profiles for authentication

Human: Set up a profile for my work accounts
Assistant: I'll create a profile and guide you through the setup process.
[Uses setup_profile tool]

Human: I'm done setting up my accounts
Assistant: Perfect! I'll close the browser session and save your profile.
[Uses delete_browser tool to save profile]

🤝 Contributing

We welcome contributions! Please see our contributing guidelines:

  1. Fork the repository and create your feature branch
  2. Make your changes and add tests if applicable
  3. Run the linter and formatter:
    bun run lint
    bun run format
  4. Test your changes thoroughly
  5. Submit a pull request with a clear description

Development Guidelines

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

💬 Support


Built with ❤️ by the Kernel Team

Running this server locally

cp .env .env.local # Values for the .env.local file are in 1Password > DevEnvVars > MCP section bun install bun run dev

This will start the server on port 3002.