Skip to main content
Glama
oauth-clients-store.ts1.09 kB
import { redis } from './redis.js'; const NS = (process.env.REDIS_NAMESPACE || 'mcp:oauth') + ':clients'; function key(clientId: string) { return `${NS}:${clientId}`; } function listKey() { return `${NS}:index`; } // set des client_ids export type OAuthClient = { redirect_uris: string[]; public: true; }; export async function saveClient(clientId: string, data: OAuthClient) { await redis.multi() .set(key(clientId), JSON.stringify(data)) .sadd(listKey(), clientId) .exec(); } export async function getClient(clientId: string): Promise<OAuthClient | undefined> { const raw = await redis.get(key(clientId)); return raw ? JSON.parse(raw) as OAuthClient : undefined; } export async function clientExists(clientId: string) { return !!(await redis.exists(key(clientId))); } export async function listClients(): Promise<string[]> { return await redis.smembers(listKey()); } export async function deleteClient(clientId: string) { await redis.multi() .del(key(clientId)) .srem(listKey(), clientId) .exec(); }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/paracetamol951/caisse-enregistreuse-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server