Integrate
FrameworksFrontend

Waku

Use Integrate with Waku

Installation

Install the Integrate SDK in your Waku project:

bun add integrate-sdk

Setup

1. Server Configuration

Create a server configuration file with your OAuth credentials:

// lib/integrate.ts
import { createMCPServer, githubIntegration } from "integrate-sdk/server";
import { getEnv } from "waku";

export const { client: serverClient } = createMCPServer({
  apiKey: getEnv("INTEGRATE_API_KEY")!,
  integrations: [
    githubIntegration({
      clientId: getEnv("GITHUB_CLIENT_ID")!,
      clientSecret: getEnv("GITHUB_CLIENT_SECRET")!,
      scopes: ["repo", "user"],
    }),
  ],
});

You can get an API key from the Integrate Dashboard.

2. Mount the Handler

Create a catch-all API route at pages/api/integrate/[...route].ts:

import { serverClient } from "@/lib/integrate";

export const GET = serverClient.handler;
export const POST = serverClient.handler;

Configuration

Add your OAuth credentials to your .env file:

GITHUB_CLIENT_ID=your_github_client_id
GITHUB_CLIENT_SECRET=your_github_client_secret

Usage Examples

Client-Side Authorization

The client is automatically configured when making requests to the server.

import { client } from "integrate-sdk";

await client.authorize("github");