Skip to main content
Glama

Convex MCP server

Official
by get-convex
LogMetadata.stories.tsx10.1 kB
import type { Meta, StoryObj } from "@storybook/nextjs"; import { functionIdentifierValue } from "@common/lib/functions/generateFileTree"; import { LogMetadata } from "./LogMetadata"; const meta: Meta<typeof LogMetadata> = { component: LogMetadata, parameters: { layout: "padded", }, }; export default meta; type Story = StoryObj<typeof meta>; const mockQueryLogs = [ { id: "1", udfType: "Query" as const, localizedTimestamp: "2023-10-15 10:30:00", timestamp: 1697365800000, call: functionIdentifierValue("api/users:list"), cachedResult: false, requestId: "req_123", executionId: "exec_1", caller: "SyncWorker", environment: "isolate", identityType: "user", parentExecutionId: null, executionTimestamp: 1697365800000, kind: "outcome" as const, outcome: { status: "success" as const, statusCode: null, }, executionTimeMs: 45.5, usageStats: { databaseReadBytes: 5120, databaseReadDocuments: 25, databaseWriteBytes: 0, storageReadBytes: 0, storageWriteBytes: 0, vectorIndexReadBytes: 0, vectorIndexWriteBytes: 0, actionMemoryUsedMb: 0, }, returnBytes: 2048, }, ]; const mockMutationLogs = [ { id: "1", udfType: "Mutation" as const, localizedTimestamp: "2023-10-15 10:30:00", timestamp: 1697365800000, call: functionIdentifierValue("api/users:create"), cachedResult: false, requestId: "req_456", executionId: "exec_2", caller: "HttpApi", environment: "isolate", identityType: "user", parentExecutionId: null, executionTimestamp: 1697365800000, kind: "outcome" as const, outcome: { status: "success" as const, statusCode: null, }, executionTimeMs: 120.3, usageStats: { databaseReadBytes: 1024, databaseReadDocuments: 3, databaseWriteBytes: 4096, storageReadBytes: 0, storageWriteBytes: 0, vectorIndexReadBytes: 0, vectorIndexWriteBytes: 0, actionMemoryUsedMb: 0, }, returnBytes: 512, }, ]; const mockActionLogs = [ { id: "1", udfType: "Action" as const, localizedTimestamp: "2023-10-15 10:30:00", timestamp: 1697365800000, call: functionIdentifierValue("api/email:send"), cachedResult: false, requestId: "req_789", executionId: "exec_3", caller: "Scheduler", environment: "node", identityType: "system", parentExecutionId: null, executionTimestamp: 1697365800000, kind: "outcome" as const, outcome: { status: "success" as const, statusCode: null, }, executionTimeMs: 2500, usageStats: { databaseReadBytes: 2048, databaseReadDocuments: 5, databaseWriteBytes: 1024, storageReadBytes: 10240, storageWriteBytes: 5120, vectorIndexReadBytes: 0, vectorIndexWriteBytes: 0, actionMemoryUsedMb: 128, }, returnBytes: 1024, }, ]; const mockHttpActionLogs = [ { id: "1", udfType: "HttpAction" as const, localizedTimestamp: "2023-10-15 10:30:00", timestamp: 1697365800000, call: functionIdentifierValue("http:webhook"), cachedResult: false, requestId: "req_http_1", executionId: "exec_http_1", caller: "HttpEndpoint", environment: "node", identityType: "user", parentExecutionId: null, executionTimestamp: 1697365800000, kind: "outcome" as const, outcome: { status: "success" as const, statusCode: "200", }, executionTimeMs: 850, usageStats: { databaseReadBytes: 8192, databaseReadDocuments: 10, databaseWriteBytes: 2048, storageReadBytes: 0, storageWriteBytes: 0, vectorIndexReadBytes: 0, vectorIndexWriteBytes: 0, actionMemoryUsedMb: 64, }, returnBytes: 4096, }, ]; const mockCachedQueryLogs = [ { id: "1", udfType: "Query" as const, localizedTimestamp: "2023-10-15 10:30:00", timestamp: 1697365800000, call: functionIdentifierValue("api/users:list"), cachedResult: true, requestId: "req_cached_1", executionId: "exec_cached_1", caller: "SyncWorker", environment: "isolate", identityType: "user", parentExecutionId: null, executionTimestamp: 1697365800000, kind: "outcome" as const, outcome: { status: "success" as const, statusCode: null, }, executionTimeMs: 5.2, usageStats: { databaseReadBytes: 0, databaseReadDocuments: 0, databaseWriteBytes: 0, storageReadBytes: 0, storageWriteBytes: 0, vectorIndexReadBytes: 0, vectorIndexWriteBytes: 0, actionMemoryUsedMb: 0, }, returnBytes: 2048, }, ]; const mockAdminLogs = [ { id: "1", udfType: "Mutation" as const, localizedTimestamp: "2023-10-15 10:30:00", timestamp: 1697365800000, call: functionIdentifierValue("admin/users:delete"), cachedResult: false, requestId: "req_admin_1", executionId: "exec_admin_1", caller: "Tester", environment: "isolate", identityType: "instance_admin", parentExecutionId: null, executionTimestamp: 1697365800000, kind: "outcome" as const, outcome: { status: "success" as const, statusCode: null, }, executionTimeMs: 75.8, usageStats: { databaseReadBytes: 512, databaseReadDocuments: 1, databaseWriteBytes: 512, storageReadBytes: 0, storageWriteBytes: 0, vectorIndexReadBytes: 0, vectorIndexWriteBytes: 0, actionMemoryUsedMb: 0, }, }, ]; const mockLogsWithVectorData = [ { id: "1", udfType: "Query" as const, localizedTimestamp: "2023-10-15 10:30:00", timestamp: 1697365800000, call: functionIdentifierValue("api/search:vectors"), cachedResult: false, requestId: "req_vector_1", executionId: "exec_vector_1", caller: "SyncWorker", environment: "isolate", identityType: "user", parentExecutionId: null, executionTimestamp: 1697365800000, kind: "outcome" as const, outcome: { status: "success" as const, statusCode: null, }, executionTimeMs: 125.5, usageStats: { databaseReadBytes: 2048, databaseReadDocuments: 5, databaseWriteBytes: 0, storageReadBytes: 0, storageWriteBytes: 0, vectorIndexReadBytes: 16384, vectorIndexWriteBytes: 8192, actionMemoryUsedMb: 0, }, returnBytes: 8192, }, ]; const mockMultipleExecutionsLogs = [ { id: "1", udfType: "Query" as const, localizedTimestamp: "2023-10-15 10:30:00", timestamp: 1697365800000, call: functionIdentifierValue("api/users:list"), cachedResult: false, requestId: "req_multi_1", executionId: "exec_multi_1", caller: "SyncWorker", environment: "isolate", identityType: "user", parentExecutionId: null, executionTimestamp: 1697365800000, kind: "outcome" as const, outcome: { status: "success" as const, statusCode: null, }, executionTimeMs: 45.5, usageStats: { databaseReadBytes: 5120, databaseReadDocuments: 25, databaseWriteBytes: 0, storageReadBytes: 0, storageWriteBytes: 0, vectorIndexReadBytes: 0, vectorIndexWriteBytes: 0, actionMemoryUsedMb: 0, }, returnBytes: 2048, }, { id: "2", udfType: "Mutation" as const, localizedTimestamp: "2023-10-15 10:30:01", timestamp: 1697365801000, call: functionIdentifierValue("api/users:update"), cachedResult: false, requestId: "req_multi_1", executionId: "exec_multi_2", caller: "Action", environment: "isolate", identityType: "user", parentExecutionId: "exec_multi_1", executionTimestamp: 1697365801000, kind: "outcome" as const, outcome: { status: "success" as const, statusCode: null, }, executionTimeMs: 80.2, usageStats: { databaseReadBytes: 1024, databaseReadDocuments: 3, databaseWriteBytes: 2048, storageReadBytes: 0, storageWriteBytes: 0, vectorIndexReadBytes: 0, vectorIndexWriteBytes: 0, actionMemoryUsedMb: 0, }, returnBytes: 512, }, { id: "3", udfType: "Action" as const, localizedTimestamp: "2023-10-15 10:30:02", timestamp: 1697365802000, call: functionIdentifierValue("api/email:send"), cachedResult: false, requestId: "req_multi_1", executionId: "exec_multi_3", caller: "Action", environment: "node", identityType: "user", parentExecutionId: "exec_multi_2", executionTimestamp: 1697365802000, kind: "outcome" as const, outcome: { status: "success" as const, statusCode: null, }, executionTimeMs: 1500, usageStats: { databaseReadBytes: 0, databaseReadDocuments: 0, databaseWriteBytes: 0, storageReadBytes: 0, storageWriteBytes: 0, vectorIndexReadBytes: 0, vectorIndexWriteBytes: 0, actionMemoryUsedMb: 96, }, returnBytes: 256, }, ]; export const QueryRequest: Story = { args: { requestId: "req_123", logs: mockQueryLogs, }, }; export const MutationRequest: Story = { args: { requestId: "req_456", logs: mockMutationLogs, }, }; export const ActionRequest: Story = { args: { requestId: "req_789", logs: mockActionLogs, }, }; export const HttpActionRequest: Story = { args: { requestId: "req_http_1", logs: mockHttpActionLogs, }, }; export const CachedQuery: Story = { args: { requestId: "req_cached_1", logs: mockCachedQueryLogs, }, }; export const AdminRequest: Story = { args: { requestId: "req_admin_1", logs: mockAdminLogs, }, }; export const WithVectorData: Story = { args: { requestId: "req_vector_1", logs: mockLogsWithVectorData, }, }; export const MultipleExecutions: Story = { args: { requestId: "req_multi_1", logs: mockMultipleExecutionsLogs, }, }; export const ExecutionView: Story = { args: { requestId: "req_multi_1", logs: mockMultipleExecutionsLogs, executionId: "exec_multi_2", }, };

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