Getting Started with Kankali
Kankali acts as a high-performance, secure transport and memory layer for Model Context Protocol (MCP) communications. This guide covers the fundamental concepts of connecting AI assistants, initializing the endpoint, and routing payloads.
The Transport Layer Concept
At its core, Kankali decouples personal context formulation from local device locks. When you integrate Kankali, you are not writing business logic into a single proprietary assistant; instead, you are utilizing an optimized, encrypted pipe designed specifically for low-latency AI context persistence and state synchronization.
Architectural Note
Kankali nodes operate on a stateless proxy model. Your data vault resides exclusively in your private GitHub repository, protected by military-grade AES-256-GCM token encryption and OAuth 2.1 with PKCE verification.
Initialization
To begin routing through Kankali, connect your AI client with your endpoint and Bearer key or universal OAuth connector. We recommend using the remote connector endpoint:
import { KankaliClient } from '@kankali/sdk';
// Initialize the transport client
const client = new KankaliClient({
apiKey: process.env.KANKALI_API_KEY,
ingressUrl: 'https://kankali-context.vercel.app/mcp/git',
tls: {
rejectUnauthorized: true
}
});
await client.connect();
console.log('Transport layer established:', client.sessionId);Publishing & Synchronizing Context
Once connected, publishing context updates allows all attached assistants (Claude, ChatGPT, Grok, Cursor) to instantly read the unified project memory.
const contextPayload = {
domain: 'project-architecture',
timestamp: new Date().toISOString(),
sessionSummary: 'Security hardening & token isolation verification',
activeContext: {
keyDecisions: ['AES-256-GCM PAT Encryption', 'Strict JWT key separation'],
status: 'OPTIMAL'
}
};
// Publish asynchronously to your private GitHub repo
const receipt = await client.syncContext({
repo: 'kankali-ai-memory',
branch: 'main',
payload: contextPayload
});
console.log('Context synchronized. Commit SHA:', receipt.sha);