Osiris SQLite SDK
npm install @osiris-ai/sqlite-sdkSQLite database adapter for Osiris MCP authentication and session data storage with lightweight file-based storage.


The SQLite SDK provides lightweight, file-based database storage for the Osiris ecosystem. Perfect for local development, testing, and single-user MCPs with automatic schema management and zero-configuration setup.
``bash`
npm install @osiris-ai/sqlite-sdk sqlite3
npm install --save-dev @types/sqlite3
`typescript
import { createMcpServer } from '@osiris-ai/sdk';
import { SQLiteDatabaseAdapter } from '@osiris-ai/sqlite-sdk';
const sqliteAdapter = new SQLiteDatabaseAdapter('./data/mcp.db');
await createMcpServer({
name: 'my-mcp',
version: '1.0.0',
auth: {
useHub: true,
hubConfig: {
baseUrl: process.env.HUB_BASE_URL!,
clientId: process.env.OAUTH_CLIENT_ID!,
clientSecret: process.env.OAUTH_CLIENT_SECRET!,
},
database: sqliteAdapter
},
configure: (server) => {
// Your MCP tools here
}
});
`
`typescript
// Perfect for tests and temporary storage
const adapter = new SQLiteDatabaseAdapter(':memory:');
// Or use default (also in-memory)
const adapter = new SQLiteDatabaseAdapter();
`
`typescript
// Local file storage
const adapter = new SQLiteDatabaseAdapter('./mcp-data.db');
// Development storage
const adapter = new SQLiteDatabaseAdapter('./dev/auth.sqlite');
// Production with full path
const adapter = new SQLiteDatabaseAdapter('/var/data/production.db');
// Testing (in-memory)
const adapter = new SQLiteDatabaseAdapter(':memory:');
`
The adapter automatically creates these tables with proper relationships:
`sql
-- Core tables
connections -- MCP connection records (primary table)
authentications -- OAuth tokens (references connections)
sessions -- Authentication sessions
secrets -- Encrypted credentials (references connections)
-- Legacy table
tokens -- Backward compatibility
`
Lightweight database adapter implementing the Osiris DatabaseAdapter interface.
`typescript`
class SQLiteDatabaseAdapter implements DatabaseAdapter
#### Constructor
`typescript`
new SQLiteDatabaseAdapter(dbPath?: string)
Parameters:
- dbPath: Database file path (defaults to ':memory:' for in-memory storage)
#### Core Methods
`typescript
// Authentication management
await adapter.storeAuthentication(auth);
await adapter.getAuthentication(connectionId, service);
await adapter.updateAuthentication(id, updates);
// Session management
await adapter.storeSession(session);
await adapter.cleanupExpiredSessions();
// Connection management
await adapter.storeConnection(connection);
await adapter.getConnectionsForPackage(packageId);
`
`typescript
import { SQLiteDatabaseAdapter } from '@osiris-ai/sqlite-sdk';
import path from 'path';
const dbPath = path.join(process.cwd(), 'data', 'dev.db');
const adapter = new SQLiteDatabaseAdapter(dbPath);
// Use with createMcpServer
await createMcpServer({
name: 'dev-mcp',
version: '1.0.0',
auth: {
useHub: true,
hubConfig: {
baseUrl: process.env.HUB_BASE_URL!,
clientId: process.env.OAUTH_CLIENT_ID!,
clientSecret: process.env.OAUTH_CLIENT_SECRET!,
},
database: adapter
},
configure: (server) => {
// Your development MCP configuration
}
});
`
1. Install the adapter:
`bash`
npm install @osiris-ai/sqlite-sdk sqlite3
2. Basic setup:
`typescript`
import { SQLiteDatabaseAdapter } from '@osiris-ai/sqlite-sdk';
const adapter = new SQLiteDatabaseAdapter('./mcp.db');
3. For testing:
`typescript``
const adapter = new SQLiteDatabaseAdapter(':memory:');
We welcome contributions! Please see our Contributing Guide for details.
- Documentation: https://docs.osirislabs.xyz
- GitHub Issues: https://github.com/fetcchx/osiris-ai/issues
- Discord Community: Join our Discord
MIT License - see LICENSE file for details.
---
Built with ❤️ by the Osiris Labs team.