[recipes] Vercel + Neon + Telegram alternative architecture#37
[recipes] Vercel + Neon + Telegram alternative architecture#37geoff-price wants to merge 4 commits intoNateBJones-Projects:mainfrom
Conversation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Appreciate the work here, but a couple of things: Neon: We considered Neon early on for Open Brain but it was a dealbreaker — no pgvector support (or at least not at parity with Supabase's implementation). Vector search is core to how Open Brain works, so we can't recommend an alternative stack that doesn't have it. If Neon has added pgvector support since then, happy to be corrected, but as-is this isn't a viable alternative stack for OB1. Telegram capture: This piece is valuable, but @alanshurafa already has PR #43 open for Telegram capture as a standalone integration. Would be great if you two could collaborate on that PR rather than duplicating effort. Your implementation might have patterns or ideas that complement what's in #43. Ask: Could you split this PR? Pull out the Telegram capture piece and coordinate with @alanshurafa on #43. The Vercel + Neon stack would need to solve the vector search gap before we could move forward with it. |
justfinethanku
left a comment
There was a problem hiding this comment.
Code Review
Thank you for this comprehensive alternative architecture contribution! The implementation quality is excellent — well-structured code, thorough testing (30 unit tests), proper error handling, and thoughtful security considerations. The README is detailed and user-friendly.
What's Good
Strong implementation:
- Clean separation of concerns (auth, rate limiting, capture pipeline, DB access)
- Proper input validation with Zod schemas
- Security best practices (timing-safe auth, rate limiting, input caps)
- Comprehensive test coverage across auth, rate limiting, and types
- SQL is safe (no destructive operations, creates new tables only)
- No hardcoded credentials (all use environment variables)
- README has all required sections with clear, step-by-step instructions
- metadata.json is valid and complete
- Proper folder structure under
recipes/ - PR title follows correct format:
[recipes] Description
Thoughtful design:
- The Vercel AI SDK integration is clean
- Parallel embedding + extraction is smart
- Multiple capture channels (MCP, Telegram, HTTP, CLI) provide good flexibility
- Data portability preserved (identical thoughts table and match_thoughts function)
Critical Issue: Local MCP Pattern
The README instructs users to edit claude_desktop_config.json (Step 8) to set up Claude Desktop MCP connection. This violates CONTRIBUTING.md Rule #14.
From CONTRIBUTING.md (lines 253-254):
Remote MCP pattern — MCP servers must be deployed as Supabase Edge Functions and connected via custom connectors (URL-based). Do NOT use local Node.js servers or
claude_desktop_config.json.
The automated review workflow (Rule 14, lines 430-457 of .github/workflows/ob1-review.yml) will flag this when it runs.
Why this matters: The OB1 project requires consistent MCP setup patterns across all contributions. Extensions and integrations must use remote MCP via the Claude Desktop custom connectors UI (Settings → Connectors → Add custom connector → paste URL), not the local config file approach.
Required fix:
Replace the Claude Desktop section in Step 8 with:
**Claude Desktop** (Settings → Connectors → Add custom connector):
1. Open Claude Desktop
2. Go to Settings → Connectors
3. Click "Add custom connector"
4. Paste your MCP endpoint URL: `https://your-project.vercel.app/api/mcp?key=YOUR_ACCESS_KEY`
5. Click "Add"
The connector will appear as "open-brain" in your MCP tools list.(Note: If the ?key= query param approach doesn't work with Claude Desktop's custom connectors, you may need to use the x-brain-key header instead. The Claude Code example in your README shows the correct header-based auth pattern.)
Additional Observations (Nice-to-Haves, Not Blocking)
- Troubleshooting section is excellent — covers 5+ common issues with clear solutions
- File structure diagram — helpful for navigation
- Architecture diagram — nice visual explanation
- Testing confirmation — you mention personal deployment testing with cross-client verification, which is great
- Consider adding a note about ChatGPT Developer Mode disabling built-in Memory (you do mention it briefly, which is good)
- The comparison table between default OB1 stack and this recipe is very helpful for users choosing between approaches
Verdict: Significant changes needed
This is a high-quality contribution that just needs one critical fix to align with the project's MCP setup pattern. Once the claude_desktop_config.json instructions are replaced with the custom connector approach, this will be ready to merge.
Action items:
- Replace Claude Desktop MCP setup instructions (Step 8) to use custom connectors instead of
claude_desktop_config.json - Verify the header-based auth works with Claude Desktop custom connectors (or adjust if needed)
- Update the Troubleshooting section's MCP connection issue accordingly
Once these are addressed, this will be an excellent addition to the recipes collection. The Vercel + Neon + Telegram stack offers a compelling alternative architecture, and your implementation demonstrates strong engineering practices.
…dback) Replace claude_desktop_config.json + mcp-remote bridge instructions with Claude Desktop custom connectors UI approach in both Step 8 and the Troubleshooting section, aligning with CONTRIBUTING.md Rule NateBJones-Projects#14. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
@justfinethanku Thanks for the review and appreciate the detail. Fixed in 6408891:
Cool project. Looking forward to getting this merged and contributing more down the line. -G |
Summary
What it does
Deploys a complete Open Brain on the Vercel + Neon stack. The
thoughtstable schema andmatch_thoughts()function are identical to OB1's — data is portable between stacks.Requirements
Testing
Tested on a personal deployment (engram) with cross-client verification:
npm test(30 tests, vitest)Test plan
recipes/directoryrecipes/vercel-neon-telegram/🤖 Generated with Claude Code