Token导航 LogoToken导航TokenDH.com
Digital Twin MCP Portfolio logo
搜索检索stdio官方级别未说明来源级核验

Digital Twin MCP Portfolio

MCP Server

基于检索增强生成(RAG)技术的智能数字孪生助手,用于回答关于专业个人资料的问题,并提供面试模拟和分析功能。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
TypeScriptClaude搜索Claude DesktopClaudeVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

archana-mukunthamani

提供方

archana-mukunthamani

最后核验

2026/5/17 20:22

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python embed_digitaltwin.py

详细介绍

🤖 数字孪生MCP服务器

一款基于人工智能的数字双胞胎助手,使用增强检索生成(RAG)来回答有关专业档案的问题。

![Next.js](https://nextjs.org/) ![TypeScript](https://www.typescriptlang.org/) ![MCP Server](https://modelcontextprotocol.io/) ![Upstash Vector](https://upstash.com/docs/vector/)

📋 概述

该项目实现了 模型上下文协议(MCP)服务器 它充当专业档案的数字双胞胎助手。它利用 检索增强生成(RAG) 提供关于一个人的经验、技能、项目和资格的准确、情境感知的回应。

主要特点

  • 🔍 语义搜索:使用Upstash Vector进行基于矢量的检索,以实现准确的信息检索
  • 🧠 RAG架构:将检索与LLM生成相结合,以获得可靠的响应
  • 🎯 工作匹配:分析招聘信息并匹配资格
  • 💬 互动面试:用特定工作的问题模拟技术面试场景
  • 📊 分析仪表板:使用持久存储跨多个会话跟踪面试绩效
  • 🗄️ 数据持久化:面试结果存储在Uptash Redis中,用于跨会话分析
  • 🌐 双界面:既可作为MCP服务器(用于VS Code/Claude Desktop)又可作为web UI

🏗️ 建筑

┌─────────────────────────────────────────────────────────────┐
│                    User Query / Interview                    │
└────────────────────┬────────────────────────────────────────┘
                     │
                     ▼
┌─────────────────────────────────────────────────────────────┐
│              MCP Server / Web UI                             │
│  (Next.js 15 + TypeScript)                                  │
│  • Interview Landing Page                                   │
│  • Analytics Dashboard                                      │
└────────────┬────────────────────────────┬───────────────────┘
             │                            │
             ▼                            ▼
┌────────────────────────────┐  ┌────────────────────────────┐
│   Vector Search (Upstash)  │  │  Analytics DB (Redis)      │
│  • Semantic search         │  │  • Interview results       │
│  • Profile data retrieval  │  │  • Performance tracking    │
│  • Top-K retrieval (k=5)   │  │  • Trend calculation       │
│  • Metadata filtering      │  │  • Historic data           │
└────────────┬───────────────┘  └────────────────────────────┘
             │
             ▼
┌─────────────────────────────────────────────────────────────┐
│          LLM Generation (Groq/Llama 3.3 70B)                │
│  • Context-aware response                                   │
│  • Grounded in retrieved data                               │
│  • Professional interview tone                              │
│  • STAR format responses                                    │
└────────────┬────────────────────────────────────────────────┘
             │
             ▼
┌─────────────────────────────────────────────────────────────┐
│         Response + Assessment + Analytics                    │
│  • Interview answers                                        │
│  • Performance scores                                       │
│  • Recommendations                                          │
│  • Stored for future analysis                               │
└─────────────────────────────────────────────────────────────┘

🛠️ 技术栈

类别技术
框架Next.js 15.5.3
语言TypeScript(严格模式)
向量数据库上升矢量
分析数据库升级Redis
LLMGroq API(火焰3.3 70b)
用户界面ShadCN UI+顺风CSS
图表Recharts(数据可视化)
协议模型上下文协议(MCP)
托管Vercel(生产就绪)

🚀 快速开始

先决条件

  • Node.js 18+
  • pnpm包管理器
  • Python 3.8+(用于脚本)
  • Uptash Vector帐户
  • Groq API密钥

安装

  1. 克隆存储库
   git clone https://github.com/YOUR-USERNAME/digital-twin-mcp-portfolio.git
   cd digital-twin-mcp-portfolio
  1. 安装依赖项
   cd mcp-server
   pnpm install
  1. 设置环境变量

创建 .env.localmcp-server 目录:

   UPSTASH_VECTOR_REST_URL=your_upstash_vector_url
   UPSTASH_VECTOR_REST_TOKEN=your_upstash_vector_token
   UPSTASH_REDIS_REST_URL=your_upstash_redis_url
   UPSTASH_REDIS_REST_TOKEN=your_upstash_redis_token
   GROQ_API_KEY=your_groq_api_key
  1. 嵌入配置文件数据
   cd ../scripts
   python embed_digitaltwin.py
  1. 启动服务器
   cd ../mcp-server
   pnpm dev

访问 http://localhost:3000 查看web UI。

📱 使用模式

1.MCP服务器模式(VS代码代理)

在VS Code设置或Claude Desktop中配置:

{
  "digital-twin": {
    "command": "node",
    "args": [
      "C:/path/to/mcp-server/.next/standalone/server.js"
    ],
    "env": {
      "UPSTASH_VECTOR_REST_URL": "your_url",
      "UPSTASH_VECTOR_REST_TOKEN": "your_token",
      "GROQ_API_KEY": "your_key"
    }
  }
}

然后直接从IDE查询数字孪生模型:

  • “我最近的项目是什么?”
  • “我有React的经验吗?”
  • “我的教育背景是什么?”

2.Web UI模式

访问交互式web界面 http://localhost:3000:

  • 用于提问的聊天界面
  • 职位发布分析
  • 技术面试模拟

3.API模式

对MCP端点进行直接的API调用:

const response = await fetch('/api/mcp', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    query: "What are my Python skills?"
  })
});

🎯 用例

1. 职位申请定制

Query: "How do my skills match this job posting?"
→ Analyzes job requirements against your profile
→ Highlights relevant experience
→ Suggests emphasis areas for cover letter

2. 面试准备

Query: "Prepare me for questions about my React experience"
→ Retrieves all React-related projects
→ Generates interview talking points
→ Suggests technical questions you might face

3. 投资组合概要

Query: "Summarize my experience for a senior developer role"
→ Extracts relevant experiences
→ Highlights leadership and technical skills
→ Provides concise professional summary

4. 技术面试模拟 🆕

Feature: Job Description Paste Interface
→ User pastes job posting directly into web UI
→ System analyzes requirements and generates role-specific questions
→ Digital Twin conducts realistic interview using RAG
→ Provides comprehensive performance assessment with scores

Workflow:
1. Paste job description (minimum 50 characters)
2. AI generates 5 job-specific interview questions
3. Digital Twin answers questions based on professional profile
4. Receive detailed assessment:
   - Overall score (0-100)
   - Category scores (Technical, Experience, Communication, Cultural Fit)
   - Strengths and areas for improvement
   - Hiring recommendation (Pass/Conditional/Fail)
   - Full transcript available for review

5. 面试分析仪表板 🆕

Feature: Performance Tracking Across Multiple Interviews
→ Store all interview results in Upstash Redis
→ Track performance trends over time
→ Visualize category-specific improvements
→ Generate insights and recommendations

Analytics Include:
- Total interviews conducted
- Average score and success rate
- Performance trends (line chart)
- Category breakdown (Technical, Experience, Communication, Cultural Fit)
- Recent interview history (last 5 interviews)
- Common strengths and improvement areas
- AI-generated performance insights
- Export capability (PDF reports)

📂 项目结构

digital-twin-mcp-portfolio/
├── mcp-server/                        # Next.js MCP server
│   ├── app/
│   │   ├── api/mcp/                   # MCP endpoint
│   │   ├── interview/                 # Interview feature
│   │   │   ├── components/            # Landing page, analytics UI
│   │   │   └── page.tsx               # Interview orchestration
│   │   ├── actions/                   # Server actions
│   │   │   ├── interview-analytics.ts # Analytics CRUD operations
│   │   │   └── load-job-postings.ts   # Job posting handling
│   │   └── components/                # Shared UI components (shadcn/ui)
│   └── lib/
│       ├── digital-twin.ts            # Core RAG logic
│       └── redis.ts                   # Redis client for analytics
├── scripts/                           # Data processing scripts
│   ├── embed_digitaltwin.py           # Profile data embedding
│   └── embed_job_postings.py          # Job posting processing
├── data/                              # Profile data
│   └── digitaltwin_clean.json        # Professional profile
├── job-postings/                      # Sample job descriptions
└── docs/                              # Documentation
    ├── design.md                      # Technical design
    ├── prd.md                         # Product requirements
    └── VECTOR_SETUP_GUIDE.md          # Setup instructions

🔬 运作原理

RAG管道(访谈和询问回复)

  1. 数据准备

- 以JSON格式存储的专业配置文件 - 分为语义部分(教育、经验、项目、技能) - 使用Upstash的文本嵌入模型嵌入的每个块 - 存储在带有元数据标签的Uptash Vector中

  1. 查询处理

- 用户查询或面试问题转换为向量嵌入 - 语义搜索检索前5个最相关的块 - 包括元数据(类别、上下文),以便更好地过滤 - 按相关性得分排名的结果

  1. 响应生成

- 检索到的上下文传递给LLM(Llama 3.3 70B,通过Groq) - 在检索到的数据中明确指示地面响应 - 实际接地响应的温度设置为0.3 - 专业、准确和情境感知的面试答案 - 行为问题的STAR格式

  1. 评估和储存

- 对多个类别的面试回复进行评估 - 计算绩效得分(技术、经验、沟通、文化契合度) - 结果存储在Uptash Redis中用于分析 - 生成招聘推荐(通过/有条件/失败)

分析管道

  1. 数据收集

- 每个面试结果保存到Uptash Redis - 存储时间戳、分数、工作详细信息和完整成绩单 - 为高效检索和聚合而建立索引

  1. 趋势计算

- 从Redis检索的历史数据 - 所有面试的平均得分 - 随着时间的推移确定的性能趋势 - 按决策类型计算的成功率

  1. 可视化

- 显示分数进展的折线图 - 带有进度条的类别细分 - 数据表中的最近面试历史 - 基于模式的人工智能生成的见解

矢量搜索配置

const results = await index.query({
  data: query,
  topK: 5,  // Increased for better context
  includeMetadata: true
});

分析存储架构

interface InterviewResult {
  id: string
  timestamp: number
  jobTitle: string
  overallScore: number
  categoryScores: {
    technical: number
    experience: number
    communication: number
    culturalFit: number
  }
  strengths: string[]
  improvements: string[]
  decision: 'pass' | 'conditional' | 'fail'
  transcript: Array
}

👤 作者和联系人

Archana Mukunthamani - *主要开发人员和唯一贡献者*

  • 🎯 完整的系统架构和实施
  • 🧠 与Upstash Vector和Groq LLM合作开发RAG管道
  • 🎤 技术面试模拟器功能
  • 🌐 Web UI设计和开发
  • 🚀 Vercel部署和生产配置
  • 📊 94%的提交和整个核心功能

联系我:

致谢

这个项目最初是作为一个团队项目开始的。特别感谢:

  • 希曼尼1201 -初始存储库设置和README模板
  • 薇薇安 -初始AGENTS.md文档文件

*注:在初始设置后,该项目完全由Archana Mukunthamani设计、开发和完成。*

______________________________________________________________________

建于❤️ 通过Archana Mukunthamani

🎓 学习成果

该项目展示了在以下方面的熟练程度:

  • ✅ 构建生产就绪的MCP服务器
  • ✅ 实施RAG架构
  • ✅ 使用矢量数据库
  • ✅ Next.js 15个服务器操作和API路由
  • ✅ TypeScript严格类型
  • ✅ 使用ShadCN进行UI/UX设计
  • ✅ LLM集成(Groq API)
  • ✅ 环境管理和部署

📊 性能指标

  • 响应时间:约2-3秒(包括LLM)
  • 搜索准确性:Top-K检索与语义匹配
  • 上下文窗口:针对3个相关块进行了优化
  • 错误处理:全面的回退和验证

🚢 部署

部署到Vercel

  1. 将代码推送到GitHub
  2. Vercel的进口项目
  3. 设置环境变量:

- UPSTASH_VECTOR_REST_URL - UPSTASH_VECTOR_REST_TOKEN - GROQ_API_KEY

  1. 部署!

该应用程序配置了 vercel.json 为了优化Next.js 15的部署。

🤝 贡献

这是一个投资组合项目,但欢迎提出建议!请随意:

  • 漏洞或改进的未决问题
  • 提交拉取请求
  • 分享反馈

📄 许可证

麻省理工学院许可证-请随时将此项目用作您自己的数字双胞胎助手的参考或起点。

致谢

______________________________________________________________________

如果你觉得这个项目有用,请考虑给它一颗星!

目录标签

目录标签

TypeScriptClaude搜索数字孪生本地部署RAG技术面试模拟职业分析语义搜索

支持客户端

Claude DesktopClaudeVS Code

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP