Skip to main content
Glama

Convex MCP server

Official
by get-convex
wasm.ts2.18 kB
import { PluginBuild } from "esbuild"; import path from "path"; // TODO wasm contents aren't watched // eslint-disable-next-line no-restricted-imports import fs from "fs"; export const wasmPlugin = { name: "convex-wasm", setup(build: PluginBuild) { // Resolve ".wasm" files to a path with a namespace build.onResolve({ filter: /\.wasm$/ }, (args) => { // If this is the import inside the stub module, import the // binary itself. Put the path in the "wasm-binary" namespace // to tell our binary load callback to load the binary file. if (args.namespace === "wasm-stub") { return { path: args.path, namespace: "wasm-binary", }; } // Otherwise, generate the JavaScript stub module for this // ".wasm" file. Put it in the "wasm-stub" namespace to tell // our stub load callback to fill it with JavaScript. // // Resolve relative paths to absolute paths here since this // resolve callback is given "resolveDir", the directory to // resolve imports against. if (args.resolveDir === "") { return; // Ignore unresolvable paths } return { path: path.isAbsolute(args.path) ? args.path : path.join(args.resolveDir, args.path), namespace: "wasm-stub", }; }); // Virtual modules in the "wasm-stub" namespace are filled with // the JavaScript code for compiling the WebAssembly binary. The // binary itself is imported from a second virtual module. build.onLoad({ filter: /.*/, namespace: "wasm-stub" }, async (args) => ({ contents: `import wasm from ${JSON.stringify(args.path)} export default new WebAssembly.Module(wasm)`, })); // Virtual modules in the "wasm-binary" namespace contain the // actual bytes of the WebAssembly file. This uses esbuild's // built-in "binary" loader instead of manually embedding the // binary data inside JavaScript code ourselves. build.onLoad({ filter: /.*/, namespace: "wasm-binary" }, async (args) => ({ contents: await fs.promises.readFile(args.path), loader: "binary", })); }, };

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