@observee/auth
v1.0.0
Published
Observee AuthSDK - A TypeScript SDK for MCP auth
Readme
Observee Auth
A TypeScript SDK for seamless OAuth authentication with popular services including Gmail, Slack, Notion, and 15+ other platforms. Simplify your authentication workflows with built-in OAuth flows and secure token management.
Configure and manage OAuth for any supported service at observee.ai
Installation
# Basic installation
npm install @observee/authQuick Start
Simple Authentication Flow
import { callMcpAuthLogin, getAvailableServers } from "@observee/auth";
// Get list of supported authentication servers
const servers = await getAvailableServers();
console.log(`Available servers: ${servers.supportedServers}`);
// Start authentication flow for Gmail
const response = await callMcpAuthLogin({
authServer: "gmail",
});
console.log(`Visit this URL to authenticate: ${response.url}`);
// Start authentication flow for Slack
const slackResponse = await callMcpAuthLogin({
authServer: "slack",
});
// Use a custom redirect URL for auth callback (e.g., for self-hosted MCP servers)
const customResponse = await callMcpAuthLogin({
authServer: "notion",
customRedirectUrl: "https://your-custom-mcp-server.com/auth",
});
console.log(
`Visit this URL to authenticate with custom server: ${customResponse.url}`
);Authentication Flow Details
Using a Custom Redirect URL
If you provide a customRedirectUrl when calling callMcpAuthLogin, after the user completes authentication, they will be redirected to your specified URL. The redirect will include both client_id and customer_id as query parameters in the URL. This allows your application to capture these identifiers directly from the callback request and handle them as needed.
Default Flow (No Custom Redirect URL)
If you do not specify a customRedirectUrl, the user will complete authentication at the default Observee endpoint. After authentication, the flow will return a JSON response containing:
customer_id: Represents you, the authenticated user.client_id: The client you authenticated with.
You can use these values in your application to identify the user and the client associated with the authentication session.
Supported Services: Gmail, Google Calendar, Google Docs, Google Drive, Google Sheets, Slack, Notion, Linear, Asana, Outlook, OneDrive, Atlassian, Supabase, Airtable, Discord, and more.
