---
title: "SvelteKit"
description: "Use Integrate with SvelteKit"
---
## Installation

Install the Integrate SDK in your SvelteKit project:

```bash
bun add integrate-sdk
```

## Setup

### 1. Server Configuration

Create a server configuration file with your OAuth credentials:

```typescript
// lib/integrate.ts
import { createMCPServer, githubIntegration } from "integrate-sdk/server";
import {
  INTEGRATE_API_KEY,
  GITHUB_CLIENT_ID,
  GITHUB_CLIENT_SECRET,
} from "$env/static/private";

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

You can get an API key from the [Integrate Dashboard](https://integrate.dev/dashboard/login).

### 2. Mount the Handler

Create a catch-all API route at `routes/api/integrate/[...all]/+server.ts`:

```typescript
import { toSvelteKitHandler } from "integrate-sdk/server";
import { serverClient } from "$lib/integrate";

const svelteKitHandler = toSvelteKitHandler(serverClient);

export const POST = svelteKitHandler;
export const GET = svelteKitHandler;
```

## Configuration

Add your OAuth credentials to your `.env` file:

```bash
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.

```typescript
import { client } from "integrate-sdk";

await client.authorize("github");
```
