AM

adamsiwiec1/mcp-sse-authenticated-cloud-run

Developer tools

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る

24 stars 5 forks 品質 52 トレンド 10MIT

Host an Model Context Protocol SSE deployment on Cloud Run, Authenticating with IAM.

概要

At the moment (03/04/2024) MCP is still addressing Authentication and Authorization. They plan to complete this in H1 2025. The issue is, I want to share my MCP server with my team NOW. So here we are. The only immediate answer to use a SSE MCP server in Cursor, etc.. right now is a network layer based solution (e.g., a proxy). Basic auth, api keys, forget about it. Utilizing GCP Cloud Run and User Based IAM Authentication, I have created a simple, secure way to allow clients to access a custom MCP server over the internet. The MCP server is hosted on Google Cloud Run. Utilizing Cloud Run IAM Authentication, we can securely connect to the server from the internet by utilizing the Google Cloud SDK to create a proxy connection. This *** with minimal config if you already have docker and the gcloud CLI set up locally. Update deploy.sh with your project id, service account email, etc. On deploy success, grab the cloud run URL that was provided, and add it to mcp_proxy.

README

以下は原文 README の抜粋です。原文を見る。

Host MCP SSE Server on Google Cloud Run

At the moment (03/04/2024) MCP is still addressing Authentication and Authorization. They plan to complete this in H1 2025. The issue is, I want to share my MCP server with my team NOW. So here we are. The only immediate answer to use a SSE MCP server in Cursor, etc… right now is a network layer based solution (e.g., a proxy). Basic auth, api keys, forget about it.

Utilizing GCP Cloud Run and User Based IAM Authentication, I have created a simple, secure way to allow clients to access a custom MCP server over the internet.

MCP Roadmap

How it works

The MCP server is hosted on Google Cloud Run. Utilizing Cloud Run IAM Authentication, we can securely connect to the server from the internet by utilizing the Google Cloud SDK to create a proxy connection.

TLDR README

This should work out of the box with minimal config if you already have docker and the gcloud CLI set up locally.

Step 1: Update deploy.sh with your project id, service account email, etc.

Step 2: On deploy success, grab the cloud run URL that was provided, and add it to mcp_proxy.ts along with your project id.

Step 3: Run the proxy npx ts-node mcp_proxy.ts

Step 3: Access your MCP server using http://localhost:3030 - Add it to Cursor under Settings > Features > MCP Servers (make sure you select SSE not command)

LONG BORING README

Deployment Steps

  1. Clone the repository
  2. Run npm install to install the dependencies
  3. Run npm run dev to start the server locally

Deployment to Google Cloud Run

To deploy your MCP server to Google Cloud Run:

  1. Make sure you have the Google Cloud SDK installed
  2. Update the deploy.sh script with your project details:
    • PROJECT_ID: Your Google Cloud project ID
    • REGION: Your preferred GCP region
    • SERVICE_ACCOUNT_EMAIL: The service account email with appropriate permissions
  3. Run the deployment script:
    chmod +x deploy.sh
    ./deploy.sh
    

The deployment script will:

  • Build a Docker container for your MCP server
  • Push it to Google Container Registry
  • Deploy it to Cloud Run with authentication enabled

Connecting to your deployed MCP server

To connect to your deployed MCP server:

  1. Run the MCP proxy locally:

    npx ts-node mcp_proxy.ts
    
  2. The proxy will:

    • Check if you’re authenticated with Google Cloud
    • Obtain authentication tokens automatically
    • Create a local proxy server (default: http://localhost:3030)
    • Forward authenticated requests to your Cloud Run service
  3. Configure your MCP client to connect to the local proxy URL

Use the MCP server in Cursor

GitHub で README 全文を見る

インストール

npx ts-node mcp_proxy.ts
MCP 初心者?mcpskill.org のガイドから始めましょう →