v2.1.0Last updated: Aug 2026

Getting Started with Kankali

Kankali acts as a high-performance, self-custodial transport and persistent memory hub for Model Context Protocol (MCP) clients. It connects Claude, Cursor, ChatGPT, and Grok to your private Google Drive AppData and GitHub context vault.

Primary Endpoints

Kankali provides three specialized remote MCP connectors:

  • Master Dual-Cloud Router: https://kankali-context.vercel.app/mcp/master β€” Seamlessly searches and syncs across both Google Drive & GitHub.
  • Google Drive AppData Connector: https://kankali-context.vercel.app/mcp/Drive β€” Direct access to hidden Google Drive AppData sandbox.
  • GitHub Context Connector: https://kankali-context.vercel.app/mcp/git β€” Direct access to your personal GitHub repository vault.

Stateless Zero-Custody Model

Kankali nodes operate on a 100% stateless proxy model. Your data resides exclusively in your private cloud storage, protected by military-grade AES-256-GCM token encryption and OAuth 2.1 with PKCE verification.

Initialization Code Snippet

To connect custom AI agents or scripts, initialize the Kankali transport client:

TYPESCRIPT SDK INITIALIZATION
import { KankaliClient } from '@kankali/sdk';

// Initialize the transport client targeting Master Dual-Cloud endpoint
const client = new KankaliClient({
  apiKey: process.env.KANKALI_API_KEY,
  ingressUrl: 'https://kankali-context.vercel.app/mcp/master',
  tls: {
    rejectUnauthorized: true
  }
});

await client.connect();
console.log('Kankali Master Session established:', client.sessionId);

Progressive Anchor Chunking

Rather than loading or overwriting multi-megabyte files, AI assistants read and edit specific document headings (`## heading`), saving up to 90% in token consumption.

PROGRESSIVE CHUNK READ & WRITE
// Progressive anchor read example
const outline = await client.readOutline({ path: "architecture.md" });
console.log("Document Headings:", outline.headings);

// Scoped heading read (saves 90%+ tokens)
const authSection = await client.readFile({ 
  path: "architecture.md", 
  section: "auth-flow" 
});

// Update specific heading without overwriting rest of file
await client.writeFile({
  path: "architecture.md",
  section: "auth-flow",
  content: "## auth-flow\nUpdated OAuth 2.1 specifications..."
});