Docs

User Guide

A practical guide for teams using Schift through the dashboard, API, SDK, CLI, and MCP surface.

Schift is a managed RAG infrastructure product. You upload documents, search or chat against them, and integrate the same data surface into apps through the API, SDK, CLI, or MCP server.

Choose the right surface

SurfaceUse it whenEntry point
DashboardYou want to create API keys, manage billing, and inspect buckets in a browserhttps://schift.io/app
REST APIYou need the thinnest integration from your own backend or servicehttps://api.schift.io
Python SDKYou want fast scripting, ingestion, search, or migration workflowspip install schift
TypeScript SDKYou are integrating Schift from a TS or Node environmentnpm install @schift-io/sdk
CLIYou want repeatable terminal commands and ops-friendly workflowspip install schift-cli
MCPYou want Claude Desktop or Claude Code to access Schift directlynpx schift-mcp

Typical flow

  • Create or copy an API key from the dashboard.
  • Upload files into a bucket or write documents into a hosted collection.
  • Use bucket search, query, or RAG chat depending on the product flow you need.
  • Wire the same key into your SDK, CLI, or MCP setup so local tooling and production use the same account.

Integration checklist

bash# REST API
export SCHIFT_API_KEY=sch_your_key_here

# Python SDK
pip install schift

# TypeScript SDK
npm install @schift-io/sdk

# CLI
pip install schift-cli

# MCP
npx schift-mcp

Keep one source of truth

Use one live API key per environment and keep SCHIFT_API_KEY in the environment whenever possible. That lets the SDK, CLI, and MCP surfaces stay aligned without extra local config drift.

Most common operations

GoalRecommended path
Upload raw files and let Schift process OCR, chunking, and embeddingsPOST /v1/buckets/{id}/upload or the bucket helpers in the SDK
Run semantic retrieval across uploaded documentsPOST /v1/buckets/{id}/search or client.query(...)
Return an answer with source citations in one callPOST /v1/chat
Use Schift as an OpenAI-compatible LLM routerPOST /v1/chat/completions