Skip to main content
Glama

Convex MCP server

Official
by get-convex
api.ts2.85 kB
import { useCallback, useContext } from "react"; import { Id } from "system-udfs/convex/_generated/dataModel"; import { useAdminKey, useDeploymentAuthHeader, useDeploymentUrl, } from "@common/lib/deploymentApi"; import { toast } from "@common/lib/utils"; import { ConnectedDeploymentContext, DeploymentInfoContext, } from "@common/lib/deploymentContext"; export function useUpdateEnvVars(): ( changes: { name: string; value: string | null; }[], ) => Promise<void> { const deploymentUrl = useDeploymentUrl(); const adminKey = useAdminKey(); const { reportHttpError } = useContext(DeploymentInfoContext); return async (changes) => { const body = JSON.stringify({ changes }); const res = await fetch( `${deploymentUrl}/api/update_environment_variables`, { method: "POST", headers: { Authorization: `Convex ${adminKey}`, "Content-Type": "application/json", }, body, }, ); if (res.status !== 200) { const err = await res.json(); reportHttpError("POST", res.url, err); toast("error", err.message); } }; } export function useDeleteComponent() { const deploymentUrl = useDeploymentUrl(); const adminKey = useAdminKey(); const { reportHttpError } = useContext(DeploymentInfoContext); return useCallback( async (id: Id<"_components">) => { const res = await fetch(`${deploymentUrl}/api/delete_component`, { method: "POST", headers: { Authorization: `Convex ${adminKey}`, "Content-Type": "application/json", }, body: JSON.stringify({ componentId: id }), }); if (res.status !== 200) { const err = await res.json(); reportHttpError("DELETE", res.url, err); toast("error", err.message); } }, [deploymentUrl, adminKey, reportHttpError], ); } export function useChangeDeploymentState(): ( newState: "paused" | "running" | "disabled", ) => Promise<void> { const deployment = useContext(ConnectedDeploymentContext); if (!deployment) { throw Error("Must be used inside a loaded connected deployment!"); } const deploymentUrl = useDeploymentUrl(); const authHeader = useDeploymentAuthHeader(); const { reportHttpError } = useContext(DeploymentInfoContext); return async (newState) => { const body = JSON.stringify({ newState }); const res = await fetch(`${deploymentUrl}/api/change_deployment_state`, { method: "POST", headers: { Authorization: authHeader, "Content-Type": "application/json", }, body, }); if (res.status !== 200) { const err = await res.json(); reportHttpError("POST", res.url, err); toast("error", err.message); } else { toast("success", `Deployment is now ${newState}`); } }; }

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