Skip to content

feat: Add remote MCP server support (Streamable HTTP transport) #59

@MatejGomboc-Claude-MCP

Description

@MatejGomboc-Claude-MCP

Summary

Add support for Streamable HTTP transport alongside the existing STDIO transport, enabling git-proxy-mcp to function as a remote MCP server. This would allow users to connect to the server from Claude.ai, Claude mobile apps, and other MCP clients without requiring Claude Desktop or local installation.

Motivation

Currently, git-proxy-mcp only supports STDIO transport, which requires:

  • Local installation on each user's machine
  • Claude Desktop to spawn the process
  • No access from web or mobile clients

With remote MCP server support, users could:

  • Access their Git repositories from Claude.ai on any device (desktop, phone, tablet)
  • Self-host a secure, configurable Git integration
  • Share a single instance across a team
  • Avoid local setup and maintenance

Claude.ai has supported remote MCP servers (called "Integrations" or "Custom Connectors") since May 2025, making this a timely addition.

Complementary Use with GitHub MCP

A remote git-proxy-mcp becomes especially powerful when combined with the existing GitHub MCP server. The two tools are complementary:

GitHub MCP (API-based)

  • GitHub-specific operations: issues, PRs, reviews, code search
  • Repository metadata, branches, releases
  • File reading/writing via GitHub's content API
  • Limited to what the GitHub API exposes

git-proxy-mcp (Git protocol-based)

  • Raw Git operations: clone, fetch, pull, push
  • Direct commits and branch manipulation
  • Works with any Git remote (GitHub, GitLab, Bitbucket, self-hosted)
  • Full repository operations at the protocol level
  • Proper rebases, merges, cherry-picks — things the GitHub API doesn't support

Combined Capabilities

With both servers connected as remote MCP integrations, an AI assistant could:

  1. Clone a repository to work on it properly (git-proxy-mcp)
  2. Make complex multi-file changes with proper commits (git-proxy-mcp)
  3. Push branches to the remote (git-proxy-mcp)
  4. Create PRs and request reviews via the GitHub API (GitHub MCP)
  5. Work with non-GitHub repositories that GitHub MCP can't access (git-proxy-mcp)
  6. Perform advanced Git operations like rebases and cherry-picks (git-proxy-mcp)

This transforms an AI assistant from "commenting on code through a web interface" to "actually working on the codebase like a developer at a terminal" — all accessible from a phone or any browser, with no local PC required.

Technical Requirements

1. Streamable HTTP Transport

Implement the modern MCP transport protocol:

  • Single endpoint: POST /mcp
  • JSON-RPC 2.0 message format (already used by STDIO)
  • Optional SSE streaming for server-initiated messages
  • HTTPS required for production

Reference: MCP Architecture - Transports

2. Authentication

Claude.ai supports multiple auth options:

Option A: Authless (simplest, for personal use)

  • No authentication required
  • Suitable for use behind a VPN or private network

Option B: OAuth 2.0 (recommended for public deployment)

  • Claude supports the 3/26 and 6/18 auth specs
  • Dynamic Client Registration (DCR) supported
  • Callback URL: https://claude.ai/api/mcp/auth_callback

Option C: Bearer token / API key

  • Simple token-based auth
  • Good middle ground for personal remote access

Reference: Building Custom Connectors via Remote MCP Servers

3. Configuration

Extend the existing config structure:

{
    "transport": {
        "type": "http",
        "bind_address": "0.0.0.0",
        "port": 3000,
        "tls": {
            "cert_path": "/path/to/cert.pem",
            "key_path": "/path/to/key.pem"
        }
    },
    "auth": {
        "type": "bearer",
        "token": "your-secret-token"
    }
}

4. Deployment Considerations

The server should be deployable on:

  • Standard VPS / cloud VM
  • Docker containers
  • Cloudflare Workers (via WASM) — would require investigation
  • Azure Functions / AWS Lambda (if stateless design is feasible)

Implementation Approach

Phase 1: Basic HTTP Transport

  • Add HTTP server capability (e.g., using axum or warp)
  • Implement /mcp endpoint for JSON-RPC messages
  • Route requests through existing MCP handler logic
  • Add --transport CLI flag or config option to select STDIO vs HTTP

Phase 2: Authentication

  • Implement bearer token authentication
  • Add OAuth 2.0 support (optional, more complex)

Phase 3: Production Hardening

  • TLS support
  • CORS configuration for browser clients
  • Health check endpoint
  • Graceful shutdown
  • Connection limits and request size limits

Resources

Benefits

  • Accessibility: Use git-proxy-mcp from anywhere — browser, phone, any device
  • Self-hosted: Full control over your Git integration, no third-party dependencies
  • Security: Existing security features (branch protection, repo filtering, rate limiting) apply to remote access
  • Community value: Provides a privacy-conscious, configurable alternative to hosted integrations
  • Complementary: Works alongside GitHub MCP for complete Git + GitHub workflow coverage

This feature would transform git-proxy-mcp from a local development tool into a fully-fledged remote Git integration for the MCP ecosystem.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions