Skip to content

Feature Request: Add HTTP Streamable transport support for remote MCP servers #8058

Closed

Description

Summary

The current type: "remote" MCP configuration only supports SSE (Server-Sent Events) transport. However, the MCP protocol now includes HTTP Streamable transport (also called http or streamable-http), which is used by several major MCP servers including Sanity.

Problem

When configuring Sanity's hosted MCP server:

{
  "mcp": {
    "sanity": {
      "type": "remote",
      "url": "https://mcp.sanity.io",
      "oauth": {}
    }
  }
}

OpenCode fails with:

SSE error: Non-200 status code (405)

This is because Sanity uses HTTP Streamable transport, not SSE. The 405 "Method Not Allowed" occurs because OpenCode sends a GET request expecting SSE, but Sanity expects POST requests for HTTP streaming.

Current Workaround

Using mcp-remote as a local proxy:

{
  "mcp": {
    "sanity": {
      "type": "local",
      "command": ["npx", "-y", "mcp-remote", "https://mcp.sanity.io", "--transport", "http-only"],
      "timeout": 60000
    }
  }
}

This works but adds unnecessary overhead and complexity.

Proposed Solution

Add native support for HTTP Streamable transport in remote MCP configuration:

{
  "mcp": {
    "sanity": {
      "type": "remote",
      "transport": "http",  // or "streamable-http"
      "url": "https://mcp.sanity.io",
      "oauth": {}
    }
  }
}

Or alternatively, a new type:

{
  "mcp": {
    "sanity": {
      "type": "http",  // new type alongside "remote" (SSE) and "local"
      "url": "https://mcp.sanity.io",
      "oauth": {}
    }
  }
}

Reference

Other MCP clients already support this:

  • Claude Code: claude mcp add -t http sanity https://mcp.sanity.io
  • Cursor: { "type": "http", "url": "https://mcp.sanity.io" }
  • VS Code: { "type": "http", "url": "https://mcp.sanity.io" }

See: https://www.sanity.io/docs/compute-and-ai/mcp-server

Environment

Activity

  1. github-actions commented on Jan 12, 2026

    @github-actions
    Contributor

    This issue might be a duplicate of existing issues. Please check:

    Feel free to ignore if none of these address your specific case.

  2. necropheus commented on Jan 13, 2026

    @necropheus
    Contributor

    I tried your workaround with Figma, like this:

        "Figma": {
          "type": "local",
          "command": [
            "npx",
            "-y",
            "mcp-remote",
            "https://mcp.figma.com/mcp",
            "--transport",
            "http-only"
          ],
          "timeout": 60000
        }

    But got the following error: Figma MCP error -32000: Connection closed

  3. chindris-mihai-alexandru commented on Jan 13, 2026

    @chindris-mihai-alexandru
    Author

    @gusvianadev I see the issue! You're using the workaround approach, but looking at my working config, the Figma MCP actually works directly as a remote server with OAuth. Here's an alternative you might want to try:

    {
      "figma": {
        "type": "remote",
        "url": "https://mcp.figma.com/mcp",
        "timeout": 60000,
        "oauth": {}
      }
    }

    You don't actually need to do the MCP remote workaround for Figma. It supports remote type directly with OAuth authentication. It's probably because mcp-remote is trying to proxy a connection that Figma expects to handle directly through the OAuth flow.

    Just remove the workaround config and use the direct remote connection. OpenCode will take care of the OAuth flow for you when you first connect.

    If you also want the Figma Desktop integration (for local files), you can add this separately:

    {
      "figma-desktop": {
        "type": "remote",
        "url": "http://127.0.0.1:3845/mcp",
        "timeout": 30000
      }
    }

    But start with the main Figma remote config. Then you can decide whether you want to use Figma Desktop as well.

  4. necropheus commented on Jan 13, 2026

    @necropheus
    Contributor

    I tried that but I get a 405 error, and I'm on Linux so I can't use the Figma Desktop app

  5. chindris-mihai-alexandru commented on Jan 13, 2026

    @chindris-mihai-alexandru
    Author

    @gusvianadev, I guess that the 405 error you're encountering on Linux is due to Figma MCP requiring a streamable HTTP transport and a personal access token instead of OAuth. Here’s the new configuration you could try:

    {
      "figma": {
        "type": "local",
        "command": "npx",
        "args": ["-y", "mcp-remote", "https://mcp.figma.com/mcp", "--transport", "streamable-http"],
        "timeout": 120000,
        "env": {
          "FIGMA_ACCESS_TOKEN": "your-figma-personal-access-token"
        }
      }
    }

    And to get the PAT, go to figma.com, check "Personal Access Tokens" under your account settings, and create a new one there.

    Streamable HTTP (not HTTP-only) and token authentication should bypass the Linux OAuth issues.

  6. rekram1-node commented on Jan 13, 2026

    @rekram1-node
    Contributor

    we already support both actually rn it just infers the correct one by attempting to connect to sse and http streamable, if both fail i guess it is confusing cause u see the sse error instead of streamable http, we should adjust that

    But yeah we already support this

  7. necropheus commented on Jan 13, 2026

    @necropheus
    Contributor

    @rekram1-node the problem I've been having is this one:

    >  opencode mcp auth Figma
    
    ┌  MCP OAuth Authentication
    │
    ■  Authentication failed
    │
    ■  HTTP 403: Invalid OAuth error response: SyntaxError: JSON Parse error: Unexpected identifier "Forbidden". Raw body: Forbidden
    │
    └  Done

    This is my config:

      "mcp": {
        "Figma": {
          "type": "remote",
          "enabled": true,
          "url": "https://mcp.figma.com/mcp"
        },
      }

    Is that a problem with my config or is it a bug?

  8. rekram1-node commented on Jan 13, 2026

    @rekram1-node
    Contributor

    @gusvianadev that's separate and unrelated, figma Mcp requires them to whitelist us as a client, best thing u can do is go bug them to approve it, nothing we can do unless we impersonate a valid approved client

  9. CharlieDigital commented on Jul 2, 2026

    @CharlieDigital

    Must the MCP server support SSE?

    I get the following error (can connect and auth from Claude, VS Code Copilot)

    Image

    Is this because the server has /sse turned entirely off?

  10. limjonathan commented on Aug 6, 2026

    @limjonathan

    test

  11. computerquip-work commented on Aug 13, 2026

    @computerquip-work

    This does appear broken if the MCP remote doesn't support SSE.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions