{"id":"95d667d5-6c95-491b-ae5c-a7adc932dc97","name":"get-convex/convex-backend","slug":"get-convexconvex-backend","description":"📇 ☁️ - Convex database integration to introspect tables, functions, and run oneoff queries ([Source](https://github.com/get-convex/convex-backend/blob/main/npm-packages/convex/src/cli/mcp.ts))","website_url":"https://stack.convex.dev/convex-mcp-server","category":["developer","ai","mcp"],"score":{"overall":75,"raw":76,"capped":true,"verified":false,"breakdown":{"latency":8,"consistency":6,"doc_quality":8,"error_clarity":6,"auth_simplicity":6,"token_efficiency":9,"first_try_success":8,"response_parseability":7},"source":"prowl_capped","credential_tested":false,"probe_health":{"status":"healthy","up_pct":1.0,"samples":3,"target":"website","p50_latency_ms":91,"last_probed":"2026-10-09T04:52:02.413462+00:00","lookback_hours":24,"no_response":0}},"latency":null,"uptime_30d":null,"protocols":["rest"],"auth_type":null,"mcp_manifest_url":null,"openapi_spec_url":null,"verified":false,"domain_verified":false,"claimed":false,"vendor_id":null,"status":"active","profile":null,"pricing":{"free_tier":true,"entry_cost":"$0","billing_model":"Usage-based above free tier","agent_friendly":8},"last_crawled":"2026-10-08T19:33:46.854370+00:00","last_benchmarked":"2026-09-03T22:49:35.029023+00:00","supports_x402":false,"agent_auth_methods":null,"supports_streaming":false,"has_sandbox":false,"sdks":null,"llms_txt_url":null,"similarity_score":null,"telemetry_evidence":null,"agent_signal":null,"mycelio":{"signed":false,"source":"heuristic","outline":[{"id":"convex-mcp-server","depth":1,"heading":"Convex MCP Server","preview":"Hey everyone! We just shipped Convex 1.19.5, which includes a beta MCP server for Convex. Give it a spin and send us all…","size_bytes":901},{"id":"installation-cursor","depth":2,"heading":"Installation (Cursor)","preview":"On Cursor go to \"Cursor Settings > Tools & Integrations\", and click on \"Add a Custom MCP Server\". Then, fill out this \"c…","size_bytes":602},{"id":"other-agents","depth":3,"heading":"Other agents","preview":"For the MCP server beta, we've only tested it with Cursor on macOS Sequoia. We'll be testing more agents (e.g. Windsurf…","size_bytes":364},{"id":"tools","depth":2,"heading":"Tools","preview":"Let's walk through each of the tools on my Claude at Home project. It's a simple ChatGPT clone that I use as a sandbox f…","size_bytes":165},{"id":"deployments","depth":3,"heading":"Deployments","preview":"Each app deployed to Convex corresponds to an project, which can have multiple deployments: a single production deployme…","size_bytes":354},{"id":"tables","depth":3,"heading":"Tables","preview":"The model can list all of a deployments tables with the tables tool. In addition to listing the table's names, this tool…","size_bytes":970},{"id":"functions","depth":3,"heading":"Functions","preview":"The functionSpec tool similarly lets the model see all of the functions deployed along with their types and visibility.…","size_bytes":645},{"id":"environment-variables","depth":3,"heading":"Environment variables","preview":"These aren't as exciting, but the envList, envGet, envSet, and envRemove tools let the agent manipulate a deployment's e…","size_bytes":141},{"id":"implementation-notes","depth":2,"heading":"Implementation notes","preview":"MCP servers and their clients are still pretty early, and we're curious to see what patterns emerge over time. Here are…","size_bytes":212},{"id":"global-vs-project-server","depth":3,"heading":"Global vs. project server?","preview":"Cursor just recently added \"project-specific MCP configuration,\" which allows configuring a different set of MCP servers…","size_bytes":1195},{"id":"transport-and-protocol","depth":3,"heading":"Transport and protocol","preview":"MCP supports a rich set of interfaces (Resources, Prompts, Tools, Sampling, Roots, and Notifications), but Cursor and Wi…","size_bytes":741},{"id":"conclusion","depth":2,"heading":"Conclusion","preview":"It's really fun to get surprised by how much agents can do with access to a few tools. When writing this article, I was…","size_bytes":654}],"readiness":80,"fetched_at":1788475775,"affordances":[{"kind":"link","label":"https://stack.convex.dev/","target":"https://stack.convex.dev/"},{"kind":"link","label":"Patterns","target":"https://stack.convex.dev/tag/Patterns"},{"kind":"link","label":"Perspectives","target":"https://stack.convex.dev/tag/Perspectives"},{"kind":"link","label":"Walkthroughs","target":"https://stack.convex.dev/tag/Walkthroughs"},{"kind":"link","label":"Local-First","target":"https://stack.convex.dev/tag/Local-First"},{"kind":"link","label":"Marketing","target":"https://stack.convex.dev/tag/Marketing"},{"kind":"link","label":"AI","target":"https://stack.convex.dev/tag/AI"},{"kind":"link","label":"Sujay Jayakar","target":"https://stack.convex.dev/author/sujay-jayakar"},{"kind":"link","label":"Model Context Protocol","target":"http://modelcontextprotocol.io/"},{"kind":"link","label":"Cursor Docs on MCP","target":"https://docs.cursor.com/en/context/mcp"},{"kind":"link","label":"Claude at Home","target":"https://claude-at-home.vercel.app/"},{"kind":"link","label":"automatically tracks","target":"https://docs.convex.dev/database/advanced/schema-philosophy"},{"kind":"link","label":"express as much as possible in code","target":"https://stack.convex.dev/introducing-fullstack-bench#express-as-much-as-possible-in-standard-procedural-code"},{"kind":"link","label":"Fullstack-Bench experiments","target":"https://stack.convex.dev/introducing-fullstack-bench"},{"kind":"link","label":"Resources","target":"https://modelcontextprotocol.io/docs/concepts/resources"},{"kind":"link","label":"Prompts","target":"https://modelcontextprotocol.io/docs/concepts/prompts"},{"kind":"link","label":"Tools","target":"https://modelcontextprotocol.io/docs/concepts/tools"},{"kind":"link","label":"Sampling","target":"https://modelcontextprotocol.io/docs/concepts/sampling"},{"kind":"link","label":"Roots","target":"https://modelcontextprotocol.io/docs/concepts/roots"},{"kind":"link","label":"Notifications","target":"https://modelcontextprotocol.io/docs/concepts/architecture#message-types"},{"kind":"link","label":"stdio transport protocol","target":"https://modelcontextprotocol.io/docs/concepts/transports#standard-input%2Foutput-stdio"},{"kind":"link","label":"MCP Inspector Tool","target":"https://modelcontextprotocol.io/docs/tools/inspector#inspector"},{"kind":"link","label":"Join the Discord community","target":"https://convex.dev/community"},{"kind":"link","label":"AI Agents (and humans) do better with good abstractions","target":"https://stack.convex.dev/ai-gents-humans-good-abstractions"},{"kind":"link","label":"Emma Forman Ling","target":"https://stack.convex.dev/author/emma-forman-ling"},{"kind":"link","label":"Convex Evals: Behind the scenes of AI coding with Convex","target":"https://stack.convex.dev/convex-evals"},{"kind":"link","label":"Jordan Hunt","target":"https://stack.convex.dev/author/jordan-hunt"},{"kind":"link","label":"Convex","target":"https://convex.dev/"},{"kind":"link","label":"Docs","target":"https://docs.convex.dev/"},{"kind":"link","label":"Dashboard","target":"https://dashboard.convex.dev/"}],"ttl_seconds":86400,"content_length":8126},"featured":false,"sponsored":false,"source":null}