Skip to main content
Glama

Convex MCP

Try Convex MCP instantly in the cloud - works out of the box with VibeFlow.

npm package Stars License: MIT Join Discord

Build a stateless MCP endpoint on top of Convex.

This package provides a simple wrapper to automatically translate your Convex backend functions into a standard MCP server, allowing any AI agent (like Claude, Cursor, etc.) to discover and interact with them.

Testing inside VibeFlow

You can easily test your Convex MCP server inside VibeFlow:

Testing Convex MCP in VibeFlow

Install

npm install @vibeflowai/convex-mcp

Features

  • Tools – Expose Convex functions as MCP tools

  • Prompts – Define MCP prompts with Zod args

  • Resources – Serve static and templated MCP resources

Quick Start

Define your MCP server:

// convex/mcp.ts
import { api, internal } from "./_generated/api";
import { defineMcpServer, tool, prompt, resource, promptResult, assistantText, userText } from "@vibeflowai/convex-mcp";

export const mcp = defineMcpServer({
  name: "my-app",
  version: "0.1.0",
  tools: {
    users: {
      get: tool(api.users.get, {
        kind: "query",
        description: "Fetch a user by id",
        args: (z) => ({ userId: z.string() }),
      }),
    },
  },
  prompts: {
    onboarding: prompt(
      { args: (z) => ({ name: z.string() }) },
      async ({ name }) => promptResult([assistantText(`Welcome ${name}!`)])
    ),
  },
  resources: {
    config: resource(api.resources.config, {
      kind: "query",
      uri: "config://app",
      mimeType: "application/json",
    }),
  },
});

Mount it:

// convex/http.ts
import { httpRouter } from "convex/server";
import { mcp } from "./mcp";

const http = httpRouter();
mcp.addHttpRoutes(http);

export default http;

Auth

import { bearerAuth } from "@vibeflowai/convex-mcp";

mcp.addHttpRoutes(http, {
  auth: bearerAuth({ env: "MCP_AUTH_TOKEN" }),
});

API Reference

Function

Description

defineMcpServer(...)

Create an MCP server with tools, prompts, and resources

tool(ref, opts)

Register a Convex function as an MCP tool

prompt(opts, handler)

Register an MCP prompt

resource(ref, opts)

Register a fixed MCP resource

resourceTemplate(ref, opts)

Register a templated MCP resource

bearerAuth(opts)

Add Bearer token auth

License

MIT

Contacts

For custom work or enterprise needs, reach out to Alessia & Elia directly: šŸ“© founders@vibeflow.ai

Follow Alessia Follow Elia

Latest Blog Posts

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/vibeflowing-inc/convex-mcp'

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