# Multi Tenant Patterns

> > Header-based multi-tenant authentication patterns.

- Skill: `majiayu000/multi-tenant-patterns` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/multi-tenant-patterns`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/multi-tenant-patterns/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/multi-tenant-patterns

---


# Multi-Tenant Patterns Skill

> Header-based multi-tenant authentication patterns.

---

## Request Headers

```
x-n8n-url: https://n8n.example.com
x-n8n-key: n8n_api_key_here
x-instance-id: optional-instance-id
x-session-id: optional-session-id
```

## Auth Flow

```
1. Request arrives with headers
2. Extract n8n credentials from headers
3. Validate credentials against n8n instance
4. Create or resume session
5. Execute MCP tool with tenant context
6. Return response
```

## Session Management

```typescript
interface Session {
  id: string;
  n8nUrl: string;
  n8nApiKey: string;
  instanceId?: string;
  createdAt: Date;
  lastUsedAt: Date;
}
```

## Rate Limiting Per Tenant

```typescript
const key = `rate:${apiKey}:${hour}`;
const count = await kv.get(key) || 0;
if (count >= limit) {
  throw new RateLimitError();
}
await kv.put(key, count + 1, { expirationTtl: 3600 });
```

