Skip to main content
Glama

Binal Digital Twin MCP Server

by binal182

Binal's AI-Powered Resume Platform

A modern, interactive resume website with AI-powered chat functionality using Next.js 15, Upstash Vector Database, and MCP (Model Context Protocol) integration for Claude Desktop.

πŸš€ Features

  • πŸ“± Professional Resume Website: Modern, responsive design optimized for recruiters

  • πŸ€– Interactive AI Chat: Ask questions about Binal's background, skills, and experience

  • πŸ” RAG-Powered Search: Vector database search through comprehensive professional data

  • πŸ–¨οΈ Print-Optimized: Professional PDF generation for download

  • πŸ’» MCP Integration: Claude Desktop integration for advanced AI interactions

πŸ› οΈ Tech Stack

  • Frontend: Next.js 15 with React 19, Tailwind CSS, shadcn/ui

  • Backend: Upstash Vector Database for RAG search

  • AI Integration: Claude Sonnet via MCP protocol

  • Deployment: Vercel-ready configuration

πŸ“ Project Structure

binalmcp/ β”œβ”€β”€ app/ β”‚ β”œβ”€β”€ actions/ # Server actions for database and MCP β”‚ β”œβ”€β”€ api/ # MCP API route β”‚ β”œβ”€β”€ resume/ # Professional resume page β”‚ β”œβ”€β”€ layout.tsx # Root layout β”‚ └── page.tsx # Main landing page β”œβ”€β”€ components/ β”‚ β”œβ”€β”€ ui/ # shadcn/ui components β”‚ β”œβ”€β”€ interactive-resume.tsx β”‚ β”œβ”€β”€ mcp-setup-guide.tsx β”‚ └── test-rag-search.tsx β”œβ”€β”€ lib/ β”‚ └── rag-search.ts # Vector database search logic β”œβ”€β”€ .env.local # Environment variables └── package.json

πŸ”§ Setup & Installation

Prerequisites

  • Node.js 18+

  • pnpm package manager

  • Upstash Vector Database account

1. Environment Setup

Create .env.local with your Upstash credentials:

UPSTASH_VECTOR_REST_URL="your_upstash_vector_url" UPSTASH_VECTOR_REST_TOKEN="your_upstash_vector_token" OPENAI_API_KEY="your_openai_api_key"

2. Install Dependencies

pnpm install

3. Populate Database

The database is already populated with Binal's professional data. To repopulate if needed, use the MCP Setup Guide on the website.

4. Run Development Server

pnpm dev

Visit http://localhost:3000 to see the application.

πŸ—οΈ How It Works

This application uses mcp-handler and Upstash Vector to provide seamless RAG-powered search integration between web applications and AI assistants like Claude Desktop.

Architecture

Claude Desktop β†’ Transport Protocol β†’ /api/[transport] β†’ Shared RAG Logic (/lib/rag-search.ts) Web Interface β†’ Server Actions β†’ Shared RAG Logic (/lib/rag-search.ts) ↓ Upstash Vector Database
  1. Claude Desktop connects via various transport protocols (SSE, stdio, etc.)

  2. Transport Layer handles the MCP protocol communication

  3. MCP Handler processes tool calls and invokes shared RAG search logic

  4. RAG Search (/lib/rag-search.ts) contains vector search and result formatting

  5. Upstash Vector provides semantic search capabilities with embeddings

  6. Server Actions (for web) call the same shared RAG logic directly

Key Components

  • lib/rag-search.ts: Shared RAG search logic, schema, and tool definitions

  • app/api/[transport]/route.ts: MCP server endpoint using mcp-handler + shared logic

  • app/actions/mcp-actions.ts: Server actions that use the shared RAG search logic

  • app/page.tsx: Beautiful web interface with setup instructions and testing

  • components/: Reusable shadcn/ui components for the interface

  • data/: Sample data structure and population guidelines

Web Interface Benefits

The web interface uses Next.js Server Actions that import the same shared logic as the MCP server:

  • βœ… Same Zod schema validation (lib/rag-search.ts)

  • βœ… Identical search algorithm (single searchBinalKnowledge() function)

  • βœ… Consistent output formatting (same result structure)

  • βœ… Shared tool definitions (same name, description, schema)

  • βœ… True single source of truth architecture

  • MCP Tools: search_binal_knowledge tool with Zod validation for parameters

πŸš€ Deployment to Vercel

Option 1: Deploy Button (Recommended)

Deploy with Vercel

Option 2: Manual Deployment

  1. Connect to Vercel:

    pnpm i -g vercel vercel
  2. Add Environment Variables: In your Vercel dashboard, add:

    • UPSTASH_VECTOR_REST_URL

    • UPSTASH_VECTOR_REST_TOKEN

  3. Update Claude Desktop Config: Replace http://localhost:3000 with your Vercel URL:

    { "mcpServers": { "binal-digital-twin": { "command": "npx", "args": [ "-y", "mcp-remote", "https://your-app.vercel.app/api/mcp" ] } } }
  4. Restart Claude Desktop to use the deployed version

πŸ› οΈ Technology Stack

🎯 Use Cases

  • 🎀 Technical Interviews: Learn about Binal's technical expertise and experience

  • 🀝 Project Collaboration: Understand Binal's skills for team projects

  • 🌐 Professional Networking: Get to know Binal's background and interests

  • πŸ“Š Skill Assessment: Evaluate technical competencies and experience levels

  • πŸ€– AI-Powered CV: Interactive resume experience via Claude Desktop

  • πŸŽ“ Educational Tool: Demonstrate RAG and vector search technologies

🀝 Contributing

Contributions are welcome! This project is open source and MIT licensed.

  1. Fork the repository

  2. Create a feature branch: git checkout -b feature/amazing-feature

  3. Commit changes: git commit -m 'Add amazing feature'

  4. Push to branch: git push origin feature/amazing-feature

  5. Open a Pull Request

πŸ“š Learn More

πŸ“„ License

MIT License - see LICENSE file for details.

πŸ‘¨β€πŸ’» Author

Created by Binal as a digital twin RAG search server

⭐ If you find this project useful, please consider giving it a star on GitHub!


Built with ❀️ using Next.js, shadcn/ui, Upstash Vector, and the Model Context Protocol

-
security - not tested
F
license - not found
-
quality - not tested

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/binal182/binal-mcpserver'

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