
Company News
Free Business Plan Upgrades for Open Source Maintainers
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.
@homenshum/convex-mcp-nodebench
Advanced tools
Convex-specific MCP server applying NodeBench self-instruct diligence patterns to Convex development. Schema audit, function compliance, deployment gates, persistent gotcha DB, and methodology guidance. Complements Context7 (raw docs) and official Convex
Convex-specific MCP server that audits, verifies, and guides Convex development. 36 tools across schema audit, function compliance, security, performance, deployment gates, SARIF reporting, persistent gotcha DB, and adaptive architecture planning.
Complements Context7 (raw library docs) and the official Convex MCP (deployment introspection) with structured verification workflows and persistent Convex knowledge.
| Tool | What it does |
|---|---|
convex_audit_schema | Scan schema.ts for anti-patterns: deprecated validators, v.any(), reserved fields, missing indexes |
convex_suggest_indexes | Analyze query patterns across all functions and suggest missing indexes |
convex_check_validator_coverage | Check all exported functions have args + returns validators |
convex_audit_functions | Audit function registration, validators, public/internal misuse, cross-call violations |
convex_check_function_refs | Validate api.x.y / internal.x.y references, detect direct function passing |
convex_check_type_safety | Find as any casts, undefined returns, loose ID types across all files |
convex_audit_authorization | Audit auth guard coverage: which public functions check getUserIdentity() |
convex_audit_actions | Audit actions for direct DB access, missing error handling, external API patterns |
convex_audit_transaction_safety | Find read-modify-write races, multiple runMutation in single functions |
convex_audit_query_efficiency | Detect unbounded .collect(), .filter() without index, mutation-as-read |
| Tool | What it does |
|---|---|
convex_analyze_http | Analyze http.ts: duplicate routes, missing CORS, OPTIONS preflight handlers |
convex_check_crons | Validate crons.ts: duplicate names, public handlers, interval issues |
convex_analyze_components | Parse convex.config.ts: active/conditional components, unused imports |
convex_audit_storage_usage | Audit storage: stores, deletes, missing null checks on getUrl() |
convex_audit_pagination | Find paginate calls missing validators or without proper cursor handling |
convex_audit_vector_search | Audit vector indexes, search calls, dimension mismatches |
convex_audit_schedulers | Find runAfter/runAt usage, self-scheduling loops, missing termination |
convex_audit_data_modeling | Audit tables: deep nesting, dangling refs, v.any(), arrays-of-arrays |
convex_audit_dev_setup | Check project hygiene: _generated dir, tsconfig, package deps, env files |
| Tool | What it does |
|---|---|
convex_pre_deploy_gate | Pre-deployment gate: schema, auth, validators, recent audits (blocks on critical) |
convex_check_env_vars | Check env vars referenced in code exist in .env files (Convex-filtered) |
convex_quality_gate | Composite quality score (A-F grade) with configurable thresholds |
convex_schema_migration_plan | Diff schema snapshots and generate migration steps with risk assessment |
| Tool | What it does |
|---|---|
convex_export_sarif | Export all audit results as SARIF 2.1.0 (GitHub Code Scanning compatible) |
convex_audit_diff | Compare current audit against baseline: new issues, fixed issues, trend |
| Tool | What it does |
|---|---|
convex_scan_capabilities | Regex scan of project structure: function types, data access, auth, storage, schema patterns |
convex_verify_concept | Verify if a concept (e.g. "Vector Search RAG") is implemented via regex signatures |
convex_generate_plan | Generate Convex-specific implementation steps for missing signatures |
Self-discovery loop: scan_capabilities → verify_concept → generate_plan → implement → re-verify
| Tool | What it does |
|---|---|
convex_record_gotcha | Persist a Convex gotcha/edge case for future reference |
convex_search_gotchas | Full-text search across known Convex gotchas (BM25 + FTS5) |
convex_get_methodology | Step-by-step guides: schema audit, function compliance, deploy verification |
convex_discover_tools | BM25 + optional embedding-enhanced semantic tool discovery |
convex_critter_check | Accountability check: scores task intent (why/who/what) before starting work |
| Tool | What it does |
|---|---|
convex_generate_rules_md | Generate Convex rules markdown from gotcha DB, recent audits, project stats |
convex_snapshot_schema | Capture schema snapshot for diffing (tables, indexes, size). Auto-diffs against previous |
convex_bootstrap_project | Comprehensive project health scan with improvement plan |
npm install @homenshum/convex-mcp-nodebench
{
"mcpServers": {
"convex-mcp-nodebench": {
"command": "npx",
"args": ["@homenshum/convex-mcp-nodebench"]
}
}
}
Audit the schema at /path/to/my-project, then run the quality gate
Set GOOGLE_API_KEY or OPENAI_API_KEY env var. The convex_discover_tools tool will automatically use embedding-enhanced search when available (Google text-embedding-004 or OpenAI text-embedding-3-small).
Every tool response includes a quickRef block guiding the agent to the next step:
{
"nextAction": "Run convex_check_validator_coverage to ensure all functions have validators",
"nextTools": ["convex_check_validator_coverage", "convex_audit_functions"],
"methodology": "convex_schema_audit",
"relatedGotchas": ["returns_validator_required", "new_function_syntax"],
"confidence": "high"
}
Ships with 32 gotchas extracted from Convex best practices, auto-upserted on upgrade:
Critical: pagination_cursor_null_first, query_no_side_effects, use_node_for_external_api, validator_bigint_deprecated
Warnings: ctx_auth_returns_null, http_cors_manual, http_route_no_wildcard, avoid_v_any, mutation_transaction_atomicity, db_get_returns_null, storage_get_returns_null, convex_1mb_document_limit, scheduled_function_must_be_internal, and 19 more covering index ordering, undefined handling, field naming, action patterns...
Persistent SQLite at ~/.convex-mcp-nodebench/convex.db:
| Table | Purpose |
|---|---|
convex_gotchas | Knowledge base with FTS5 full-text search |
schema_snapshots | Schema history for table + index diffing |
deploy_checks | Deployment gate audit trail |
audit_results | Per-file analysis cache |
concept_verifications | Architect concept verification history |
critter_checks | Task accountability records |
npm test
63 tests (53 unit + 10 E2E) verify all 36 tools against the real nodebench-ai codebase (3,158 Convex functions, 328 tables, 82 crons, 44 HTTP routes).
packages/convex-mcp-nodebench/
src/
index.ts -- MCP server, tool assembly (36 tools)
db.ts -- SQLite schema + upsert seed logic
types.ts -- Tool types, QuickRef interface
gotchaSeed.ts -- 32 pre-seeded Convex gotchas
tools/
schemaTools.ts -- Schema audit, index suggestions, validator coverage
functionTools.ts -- Function audit, cross-call detection, ref checking
httpTools.ts -- HTTP endpoint analysis
deploymentTools.ts -- Pre-deploy gate, env var checking
learningTools.ts -- Gotcha recording + FTS5 search
methodologyTools.ts -- Methodology guides, BM25 tool discovery
integrationBridgeTools.ts -- Rules generation, schema snapshots, project bootstrap
cronTools.ts -- Cron job validation
componentTools.ts -- Component config analysis
critterTools.ts -- Task accountability checking
authorizationTools.ts -- Auth guard audit
queryEfficiencyTools.ts -- Query performance audit
actionAuditTools.ts -- Action anti-pattern detection
typeSafetyTools.ts -- Type safety audit
transactionSafetyTools.ts -- Transaction race detection
storageAuditTools.ts -- Storage usage audit
paginationTools.ts -- Pagination pattern audit
dataModelingTools.ts -- Data modeling audit
devSetupTools.ts -- Dev environment audit
migrationTools.ts -- Schema migration planning
reportingTools.ts -- SARIF export, baseline diff
vectorSearchTools.ts -- Vector search audit
schedulerTools.ts -- Scheduler audit
qualityGateTools.ts -- Composite quality gate
architectTools.ts -- Capability scan, concept verify, plan generation
toolRegistry.ts -- Central catalog with quickRef + BM25 scoring
embeddingProvider.ts -- Optional semantic search (Google/OpenAI embeddings)
__tests__/
tools.test.ts -- 53 unit/integration tests
architectE2E.test.ts -- 10 E2E tests (industry-latest concept verification)
ctx.db.query, ctx.runMutation) now matched before generic keywords (query, mutation)convex_scan_capabilities, convex_verify_concept, convex_generate_plan -- adaptive architect with Convex-specific regex patterns, strategies, and file hintsinferConvexStrategy() with correct priority orderingproject-health, recent-audits, gotcha-dbfull-audit, pre-deploy-checklist, security-reviewconvex_critter_check -- task accountability with 10 calibrated checksconvex_analyze_http -- HTTP endpoint analysisctx.runMutation/ctx.runAction flagged as criticalFAQs
Convex-specific MCP server applying NodeBench self-instruct diligence patterns to Convex development. Schema audit, function compliance, deployment gates, persistent gotcha DB, and methodology guidance. Complements Context7 (raw docs) and official Convex
We found that @homenshum/convex-mcp-nodebench demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.

Security News
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.

Security News
During a UK cyber test, a Mythos 5 agent used sockpuppets, social engineering, and prompt injection to try to get a maintainer to merge malware.