Skip to content

Security considerations section can be improved #3361

Open

Description

@loganaden

What's broken?

The spec doesn't cover a case it clearly should

Where in the spec or docs?

5948f5c

What should happen?

All endpoints, including token bearing endpoints should use HTTPS.

Please see this PR:
5948f5c

What actually happens?

All endpoints, including token bearing endpoints should use HTTPS.

Anything else?

No response

Activity

  1. Babbar-rules commented on Sep 24, 2026

    @Babbar-rules

    @aaronpk @pcarleton
    The linked commit's direction makes sense to me: today the draft spec only requires HTTPS for authorization server endpoints, but bearer tokens are also sent to the MCP server itself, and Protected Resource Metadata tells the client which authorization server to trust. If either is served over plain HTTP, a network attacker can capture tokens or send the client to their own authorization server.

    I'd propose this wording for docs/specification/draft/basic/authorization/security-considerations.mdx (Communication Security):

    1. All authorization server endpoints, including authorization server metadata and client registration endpoints, MUST be served over HTTPS.
    2. MCP server endpoints that accept access tokens, and their Protected Resource Metadata endpoints, MUST be served over HTTPS, unless the MCP server is only reachable on a loopback interface.
    3. All redirect URIs MUST be either localhost or use HTTPS.

    The loopback exception keeps local HTTP MCP servers compliant. It matches the existing localhost exception for redirect URIs and OAuth 2.1's loopback handling.

    Would a PR with this change be welcome? Happy to open one.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions