# Knowledge Provisioning Options

> You're reading the Mindset v3 documentation. v3 is no longer sold; this is reference for existing customers. Mindset 4 docs are at /docs.

Four ways to provide knowledge/context to agents

## The Four Methods

- **Method 1: Tenant Uploads Files**: **How it works:**
  - Tenant uses Context Builder or Context Configuration component
  - Tenant creates contexts manually
  - Tenant uploads files into those contexts
  - You provision these tenant-level contexts in agent sessions
  **When to use:** Tenants have unique, proprietary knowledge they need to provide
- **Method 2: You Provide App-Level Contexts**: **How it works:**
  - You create app-level contexts via Contexts API
  - You upload and manage files centrally
  - You provision these to tenants through agent sessions
  - Tenants don't need to upload anything
  **When to use:** You have standardized knowledge all tenants should access
- **Method 3: You Create Tenant-Level Contexts**: **How it works:**
  - Use Contexts API with `externalTenantId` parameter
  - Create contexts programmatically for specific tenants
  - Optional: Set up synced ingestion (e.g., from Google Drive)
  - Files automatically sync when changed
  **When to use:** You want to create tenant-specific knowledge programmatically or sync from external sources
- **Method 4: RAG MCP**: **How it works:**
  - Provision a RAG-type MCP instead of contexts
  - No context creation or file uploads needed
  - RAG MCP handles knowledge retrieval
  - Cannot be combined with contexts in same session
  **When to use:** You have an existing RAG system or prefer external knowledge retrieval

## Method Comparison

| Method             | Who Manages    | Context Level     | File Management            | Embed Context Components? |
| ------------------ | -------------- | ----------------- | -------------------------- | ------------------------- |
| Tenant Uploads     | Tenant         | Tenant-level      | Manual upload by tenant    | ✅ Yes - Required          |
| App-Level Contexts | You (Platform) | App-level         | Central management via API | ❌ No                      |
| Tenant-Level (API) | You (Platform) | Tenant-level      | Programmatic or synced     | ❌ No                      |
| RAG MCP            | You (Platform) | N/A (no contexts) | External RAG system        | ❌ No                      |

## Important: Contexts vs RAG MCP

> **Warning:** **Mutually Exclusive Options**
>
> In an agent session, you can provision either contexts or a RAG MCP:
>
> ❌ You cannot combine contexts and RAG MCP in the same agent session
>
> If using contexts: Up to 30 contexts per agent session
>
> If using RAG MCP: Exactly 1 RAG MCP per agent session
>
> Contexts can be mixed: app-level + tenant-level together

## Quick Decision Guide

### 1. Do tenants need to provide their own knowledge?

**YES** → Use Method 1 (Tenant Uploads Files)

**NO** → Continue to next step

### 2. Do you have standardized knowledge for all tenants?

**YES** → Use Method 2 (App-Level Contexts)

**NO** → Continue to next step

### 3. Do you need to create tenant-specific knowledge programmatically?

**YES** → Use Method 3 (Tenant-Level via API)

**NO** → Continue to next step

### 4. Do you have an existing RAG system?

**YES** → Use Method 4 (RAG MCP)

> **Info:** You can combine multiple methods! For example, provide app-level contexts for common knowledge while letting tenants upload their own files for specialized content.
