Skip to content

Enforce fail-closed startup when PAT/OAuth scope requirements are unmet #2075

@davidahmann

Description

@davidahmann

Problem
Insufficient scopes can lead to confusing partial functionality instead of explicit blocking.

Why now
Permission-scoped operation is a core safety expectation for the GitHub MCP server.

Current behavior is insufficient
Scope problems can surface late at tool-call time and appear as sporadic failures.

Expected behavior
At startup (or deterministic preflight), fail closed when required scope requirements for configured toolsets are unmet.

Acceptance criteria

  • Deterministic scope validation result before normal operation.
  • Explicit classification for scope/policy failures.
  • Clear remediation guidance in machine-readable + human-readable error output.

Validation

  • Add tests for scope-deficient and scope-sufficient configurations.
  • Verify deterministic error class and output shape.

Codepaths

  • pkg/scopes
  • pkg/http/oauth
  • cmd/github-mcp-server

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions