Skip to main content
Glama

Convex MCP server

Official
by get-convex
deployments.ts2.75 kB
import { useRouter } from "next/router"; import { useInitialData } from "hooks/useServerSideData"; import { useProfile } from "./profile"; import { useCurrentProject } from "./projects"; import { useBBMutation, useBBQuery } from "./api"; export function useDeployments(projectId?: number) { const [initialData] = useInitialData(); const { data, isLoading } = useBBQuery({ path: "/projects/{project_id}/instances", pathParams: { project_id: projectId?.toString() || "", }, swrOptions: { revalidateOnMount: initialData === undefined, refreshInterval: 30 * 1000, }, }); return { deployments: data, isLoading }; } export function useDefaultDevDeployment(projectId: number | undefined) { const member = useProfile(); const { deployments } = useDeployments(projectId); const cloudDev = deployments?.find( (d) => d.deploymentType === "dev" && d.kind === "cloud" && d.creator === member?.id, ); const localDev = deployments?.find( (d) => d.deploymentType === "dev" && d.kind === "local" && d.creator === member?.id && d.isActive, ); // Prefer local deployments if they exist. return localDev ?? cloudDev; } export function useCurrentDeployment() { const project = useCurrentProject(); const { deployments, isLoading } = useDeployments(project?.id); const { push, query } = useRouter(); const deployment = deployments?.find((d) => d.name === query?.deploymentName); // The deployment doesn't exist. if ( !isLoading && project && deployments && deployments.length > 0 && !deployment && !!query.deploymentName ) { void push("/404"); } return deployment; } export function useProvisionDeployment(projectId: number) { return useBBMutation({ path: "/projects/{project_id}/provision", pathParams: { project_id: projectId.toString(), }, mutateKey: `/projects/{project_id}/instances`, mutatePathParams: { project_id: projectId.toString(), }, }); } export function useDeploymentById( teamId: number, deploymentId?: number | string, ) { const { data: deployment } = useBBQuery({ path: "/teams/{team_id}/deployments/{deployment_id}", pathParams: { team_id: teamId, deployment_id: deploymentId?.toString() || "", }, }); return deployment; } export function useDeletePreviewDeployment(projectId?: number) { return useBBMutation({ path: "/projects/{project_id}/delete_preview_deployment", pathParams: { project_id: projectId?.toString() || "" }, mutateKey: `/projects/{project_id}/instances`, mutatePathParams: { project_id: projectId?.toString() || "" }, successToast: "Deleted preview deployment.", }); }

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