UNPKG

@auth0/auth0-mcp-server

Version:

Auth0 Model Context Protocol (MCP) Server (Beta) — A secure and extendable implementation of an MCP server that provides AI assistants with controlled access to the Auth0 Management API through natural language. This project is in beta and not intended fo

84 lines (83 loc) • 3.68 kB
import { z } from 'zod'; import type { HandlerResponse } from './types.js'; declare const QuickstartSpecSchema: z.ZodObject<{ appType: z.ZodEnum<{ spa: "spa"; webapp: "webapp"; native: "native"; }>; defaultAppOrigin: z.ZodObject<{ scheme: z.ZodString; domain: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{ inputKey: z.ZodString; }, z.core.$strip>]>; port: z.ZodOptional<z.ZodNumber>; }, z.core.$strip>; callbackPath: z.ZodString; logoutPath: z.ZodString; llmPromptPath: z.ZodOptional<z.ZodString>; envSnippet: z.ZodOptional<z.ZodObject<{ type: z.ZodString; language: z.ZodString; fileName: z.ZodString; entries: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"separator">; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"var">; name: z.ZodString; value: z.ZodString; comment: z.ZodOptional<z.ZodString>; sensitive: z.ZodOptional<z.ZodBoolean>; }, z.core.$strip>], "type">>; }, z.core.$strip>>; placeholders: z.ZodRecord<z.ZodString, z.ZodUnknown>; inputs: z.ZodRecord<z.ZodString, z.ZodUnknown>; environment: z.ZodRecord<z.ZodString, z.ZodString>; }, z.core.$strip>; export type QuickstartSpec = z.infer<typeof QuickstartSpecSchema> & { llmPromptUrl?: string; }; export type QuickstartAppType = QuickstartSpec['appType']; export type DefaultAppOrigin = QuickstartSpec['defaultAppOrigin']; export declare const fetchQuickstartSpec: (framework: string) => Promise<QuickstartSpec | null>; /** * Whether `raw` is a well-formed SHA256 certificate fingerprint (64 hex digits). Deliberately * lenient on separators and case so a paste from `./gradlew signingReport` or `keytool` is accepted * either way. Does not transform the value; the original is registered as-is. */ export declare function isValidSha256Fingerprint(raw: string): boolean; /** * Whether `raw` is a well-formed Android package name. Beyond catching typos, this keeps the value * safe to concatenate into the callback URL path (%APPLICATION_ID%), which is never re-parsed or * escaped downstream. */ export declare function isValidAndroidPackageName(raw: string): boolean; /** * Whether `raw` is a scheme usable in Auth0.Android's `<data android:scheme>` intent filter. * Lowercase-only: `WebAuthProvider.withScheme` warns but does not normalize, so an uppercase value * survives into the redirect_uri and fails as a dead redirect after login. Also gated because the * value reaches the `%AUTH0_SCHEME%` prompt token and the callback URL unescaped. */ export declare function isValidAndroidScheme(raw: string): boolean; /** * Canonical identity form of a fingerprint: separators stripped, lowercased. Used only for * equality/dedup — the caller's original text is what gets registered. */ export declare function normalizeFingerprint(raw: string): string; /** * Validate the Android-only callback configuration inputs. Returns null when they are valid (or * not Android). * * Values are format-checked, not just checked for presence: each flows unescaped into the * registered callback URL and/or the LLM prompt. Every problem is reported in one message, with a * hint on where to source each value, so the caller can gather everything in a single pass. */ export declare function validateAndroidInputs(params: { isAndroid: boolean; applicationId?: string; callbackUrlType?: string; androidSha256Fingerprint?: string; auth0Scheme?: string; baseUrl?: string; }): HandlerResponse | null; export {};