Skip to main content
Glama
Feyfa

Exact Match Site ID MCP Connector

by Feyfa

Exact Match Site ID MCP-Connector

Dieser Dienst stellt Exact Match Site ID-Daten für MCP-kompatible KI-Clients wie ChatGPT, Claude, Cursor und andere Tools bereit, die MCP-Server aufrufen können.

Stack

  • TypeScript

  • Hono für HTTP-Routen

  • Offizielles MCP SDK für die Handhabung des MCP-Protokolls

  • Zod für die Eingabevalidierung

  • Laravel data als Quelle der Wahrheit

Lokale Einrichtung

  1. Kopieren Sie .env.example nach .env.

  2. Setzen Sie LARAVEL_API_BASE_URL auf die Basis-URL der Laravel-API.

  3. Setzen Sie LARAVEL_MCP_PROXY_TOKEN auf denselben Wert, der in Laravel für services.mcp_proxy.internal_token konfiguriert ist.

  4. Setzen Sie OAUTH_TOKEN_SECRET auf mindestens 32 zufällige Zeichen.

  5. Installieren Sie die Abhängigkeiten mit npm install.

  6. Starten Sie die lokale Entwicklung mit npm run dev.

Die Standard-URL für den lokalen Dienst ist http://localhost:8787.

Nützliche URLs

  • Status: GET /health

  • MCP-Endpunkt: POST /mcp

  • OAuth-Autorisierungs-Metadaten: GET /.well-known/oauth-authorization-server

  • MCP-Metadaten: GET /.well-known/mcp-server

  • Widget: GET /widgets/site-id

Entwicklungs-Authentifizierung

Wenn MCP_DEV_AUTH_ENABLED=true gesetzt ist, kann ein lokaler Authentifizierungscode durch folgenden Aufruf erstellt werden:

GET /oauth/dev/start?clerk_user_id=user_xxx

In der Produktion sollte diese Entwicklungs-Übergabe durch den echten Exact Match/Clerk-Login-Callback ersetzt werden.

Lokaler OAuth-Testablauf

Verwenden Sie diesen Ablauf, um OAuth lokal zu testen, bevor Sie den Server mit ChatGPT-Apps verbinden.

  1. Stellen Sie sicher, dass .env eine lokale Redirect-Allowlist enthält:

OAUTH_ALLOWED_REDIRECT_URIS=http://localhost:8787/oauth/dev/callback
MCP_DEV_AUTH_ENABLED=true
  1. Starten Sie den MCP-Server:

npm run dev
  1. Öffnen Sie die Entwicklungs-Autorisierungs-URL mit einer echten Clerk-Benutzer-ID:

http://localhost:8787/oauth/dev/start?clerk_user_id=user_xxx

Der Browser leitet weiter zu:

http://localhost:8787/oauth/dev/callback?code=...&state=...
  1. Kopieren Sie den code-Wert aus der Callback-Antwort.

  2. Tauschen Sie den Code gegen ein MCP-Zugriffstoken aus:

$code = "paste-code-here"

Invoke-RestMethod `
  -Method Post `
  -Uri "http://localhost:8787/oauth/token" `
  -ContentType "application/x-www-form-urlencoded" `
  -Body @{
    grant_type = "authorization_code"
    client_id = "local-dev"
    redirect_uri = "http://localhost:8787/oauth/dev/callback"
    code = $code
  }

Erfolgreiche Antwort:

{
  "access_token": "...",
  "token_type": "Bearer",
  "expires_in": 3600,
  "refresh_token": "...",
  "scope": "site_id:read"
}

Verwenden Sie access_token wie folgt:

Authorization: Bearer <access_token>

Dieses Token authentifiziert Anfragen von KI-Apps gegenüber dem MCP-Server. Der MCP-Server authentifiziert sich weiterhin separat gegenüber Laravel mit LARAVEL_MCP_PROXY_TOKEN.

Related MCP Connectors