Skip to main content
Glama
noqtar

Universal MCP OAuth Gateway

by noqtar

Universal MCP OAuth Gateway (with Excalidraw & Proxy Support)

A deployable, serverless Universal Model Context Protocol (MCP) OAuth Gateway & Proxy built on Next.js 14.

This project allows you to attach OAuth 2.0 authentication to Excalidraw OR ANY external MCP server so enterprise clients like Google Spark & Gemini Agents can connect seamlessly without OAuth rejection errors.


How It Works

[Google Spark Client] ──(OAuth 2.0 Auth + Discovery)──> [Universal MCP OAuth Gateway on Vercel]
                                                                  │
                                       ┌──────────────────────────┴──────────────────────────┐
                                       ▼                                                     ▼
                     [Built-in Tools: Excalidraw, SVG, Mindmaps]      [Proxy Mode: Any External Remote MCP Server]

Related MCP server: Remote MCP Server on Cloudflare

Features

  • 🔐 Universal OAuth 2.0 Auth Server: Implements /.well-known/oauth-authorization-server and /.well-known/openid-configuration with RFC 7591 dynamic client registration.

  • 🌐 MCP Server & Proxy Gateway:

    • Mode 1 (Built-in): Excalidraw tools (create_diagram, generate_flowchart, generate_mindmap, export_svg, view_diagram) & web utilities.

    • Mode 2 (Universal Proxy): Proxies JSON-RPC 2.0 requests to any unauthenticated remote MCP server specified via UPSTREAM_MCP_URL or X-MCP-Target-URL.

  • 🖼️ Interactive Web Viewer: Embedded viewer at /view/[id] allowing users & AI agents to inspect, copy, and download rendered Excalidraw diagrams as SVG.

  • 100% Vercel Native: Uses stateless JWT tokens—no database setup required.


Google Spark Connection & Deployment Instructions

Step 1: Deploy to Vercel

  1. Push this repository to GitHub.

  2. Import the project into Vercel.

  3. (Optional for Proxy Mode): If you want to proxy another unauthenticated MCP server, add an Environment Variable in Vercel:

    UPSTREAM_MCP_URL = https://your-other-mcp-server.com/api/mcp
  4. Click Deploy. Vercel will assign a public domain, e.g.: https://your-mcp-gateway.vercel.app

Step 2: Connect to Google Spark / Gemini

  1. In Google Spark, select Add Remote MCP Server.

  2. Enter your deployed MCP Endpoint URL:

    https://your-mcp-gateway.vercel.app/api/mcp
  3. Google Spark automatically discovers the OAuth endpoints at:

    https://your-mcp-gateway.vercel.app/.well-known/oauth-authorization-server
  4. Complete the one-click authorization prompt. Google Spark can now invoke tools from Excalidraw or your proxied MCP server!


API Endpoints

Endpoint

Description

GET /.well-known/oauth-authorization-server

OAuth 2.0 Server Discovery Metadata (RFC 8414)

GET /.well-known/openid-configuration

OpenID Connect Discovery Metadata

POST /api/auth/register

RFC 7591 Dynamic Client Registration

GET /api/auth/authorize

OAuth Authorization endpoint

POST /api/auth/token

OAuth Token Exchange endpoint

POST /api/mcp

MCP HTTP JSON-RPC 2.0 Tool Execution / Proxy Endpoint

GET /api/mcp/sse

MCP Server-Sent Events Transport

GET /view/[id]

Interactive Excalidraw Canvas Viewer

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    -
    quality
    C
    maintenance
    Enables deploying a Model Context Protocol (MCP) server on Cloudflare Workers with built-in OAuth authentication. It allows local clients like Claude Desktop to securely connect to and use remote tools through an HTTP/SSE transport.
  • F
    license
    -
    quality
    C
    maintenance
    Enables deploying and running a Model Context Protocol (MCP) server on Cloudflare Workers with built-in OAuth authentication. It allows users to host and access tools remotely via Server-Sent Events (SSE) transport from clients like Claude Desktop.

View all related MCP servers

Related MCP Connectors

  • MCP server for Argo RPG Platform — connects AI assistants to campaign data via OAuth2

  • Self-hosted federated MCP gateway: one OAuth 2.1 MCP server in front of N apps, user-level scopes.

  • Google-OAuth-gated LLM gateway: verify a Google ID token, then run a Gemini (Vertex AI) completion f

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/noqtar/excalidraw-mcp-oauth'

If you have feedback or need assistance with the MCP directory API, please join our Discord server