Skip to content

Conversation

@atharva1051
Copy link

Summary

Adds HTTP server mode enabling multi-tenant deployments where each client provides their own GitHub token via Authorization: Bearer <token> header.

Why

Enterprise scenarios require centralized MCP infrastructure serving multiple authenticated clients concurrently, which stdio mode's single-token-per-process model cannot support.

What changed

  • Added http subcommand with --port flag (default 8080)
  • Implemented RunHTTPServer() using MCP SDK's StreamableHTTPHandler
  • Per-request token extraction from Authorization header
  • HTTPServerConfig struct for HTTP-specific configuration
  • Exposed port 8080 in Dockerfile
  • Comprehensive documentation: VS Code/Claude Desktop configs, Docker deployment, GHES/GHEC support, security considerations

MCP impact

  • No tool or API changes

HTTP mode uses existing tools—only the transport and authentication model changed.

Prompts tested (tool changes only)

N/A

Security / limits

  • Auth / permissions considered

Tokens validated per-request, never stored. Each client's token creates isolated server instance with their permissions. Token scope filtering applied for PAT tokens.

Tool renaming

  • I am not renaming tools as part of this PR

Lint & tests

  • Linted locally with ./script/lint
  • Tested locally with ./script/test

Docs

  • Updated (README / docs / examples)

Added HTTP mode section to README with client configuration examples (VS Code, Claude Desktop), Docker deployment patterns (basic, production with docker-compose), and troubleshooting guide.

Copilot AI and others added 5 commits January 19, 2026 05:26
Co-authored-by: atharva1051 <53966412+atharva1051@users.noreply.github.com>
Co-authored-by: atharva1051 <53966412+atharva1051@users.noreply.github.com>
Co-authored-by: atharva1051 <53966412+atharva1051@users.noreply.github.com>
Add HTTP server mode with per-request authentication
@atharva1051 atharva1051 changed the title http mode for github mcp server. feat: http mode for github mcp server. Jan 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant