Skip to main content
Glama

Convex MCP server

Official
by get-convex
generateDeleteData.ts2.23 kB
import { MutationCtx, internalMutation } from "./_generated/server"; import { internal } from "./_generated/api"; import { TableNames } from "./_generated/dataModel"; import { faker } from "@faker-js/faker"; import { didConvexYield } from "./yield"; export const generateUsers = internalMutation(async ({ db }) => { if (await didConvexYield(db)) { return; } faker.seed(); for (let i = 0; i < 1000; i++) { await db.insert("users", { name: faker.person.fullName(), userName: faker.internet.userName(), }); } }); export const generateMessages = internalMutation(async ({ db }) => { if (await didConvexYield(db)) { return; } faker.seed(); const users = await db.query("users").take(100); if (users.length === 0) { console.debug("No users, not inserting messages"); return; } for (let i = 0; i < 1000; i++) { await db.insert("messages", { body: faker.word.words(25), user: users[i % users.length]._id, }); } }); type CleanTableArgs = { cursor: string | null; timestamp: number | null; table: TableNames; }; export const cleanTable = internalMutation( async ( { db, scheduler }: MutationCtx, { cursor, timestamp, table }: CleanTableArgs, ) => { if (await didConvexYield(db)) { return; } if (timestamp === null) { const now = Date.now(); const anHourAgo = new Date(now); anHourAgo.setHours(anHourAgo.getHours() - 1); timestamp = anHourAgo.getTime(); } console.log(`Deleting items older than ${timestamp} from ${table}`); const { page, isDone, continueCursor } = await db .query(table) .withIndex("by_creation_time", (q) => q.lt("_creationTime", timestamp as number), ) .paginate({ numItems: 1000, cursor, }); console.log(`Deleting ${page.length} items, have more: ${!isDone}`); const deletePromises = []; for (const item of page) { deletePromises.push(db.delete(item._id)); } await Promise.all(deletePromises); if (!isDone) { scheduler.runAfter(0, internal.generateDeleteData.cleanTable, { cursor: continueCursor, timestamp, table, }); } }, );

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/get-convex/convex-backend'

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