MCP作为简历(MaaR)
使用模型上下文协议将静态简历转换为活动的、可查询的API
实时端点: https://www.bradwebb101.com/about-me/mcp
这是什么?
MCP作为简历重新构想了人工智能原生世界的专业档案。该项目不维护需要手动更新的静态PDF,而是通过模型上下文协议(MCP)公开您的专业信息,使其可查询、始终保持最新和交互式。
当人工智能代理或应用程序想要了解你的技能、文章或项目时,他们只需调用一个函数并获取结构化数据。没有解析,没有猜测,没有歧义。
建筑
完全建立在 AWS无服务器 架构:
- AWS Lambda (Docker/ARM64)-使用Python 3.13托管MCP服务器
- CloudFront -全球分发和HTTPS终止
- DynamoDB -存储联系信息和技能集数据
- 亚马逊SES -处理电子邮件通信
- 路线53 -DNS管理
- AWS CDK -基础设施即代码(TypeScript)
Lambda函数智能地路由请求:
- GET请求 → 美丽的人类登录页面
- POST请求 → 用于机器的MCP JSON-RPC
特性
读取操作(4个工具)
getContactInfo()
- 检索联系人详细信息、社交资料和专业链接
- 来源于DynamoDB,用于即时更新
getArticles()
- 通过RSS源获取最新的媒体文章
- 与已发布内容实时同步
getSkillset()
- 返回技术技能、证书和专业
- 结构化,便于人工智能解析
getGithubRepos()
- 使用元数据提取5个最新的GitHub存储库
- 直接从GitHub API获取实时数据
写入操作(1个工具)
sendEmailToBrad()
- 通过MCP接口实现直接通信
- 使用AWS SES并回复支持
- 展示MCP在数据检索之外的行动能力
技术栈
语言:
- TypeScript(基础架构)
- Python 3.13(Lambda运行时)
AWS服务:
- Lambda、CloudFront、DynamoDB、SES、Route53
- 全部使用AWS CDK定义
依赖关系:
awslabs-mcp-lambda-handler-MCP协议实现boto3-AWS Python SDKrequests-用于外部API的HTTP客户端
先决条件
- 已配置凭据的AWS帐户
- Node.js和npm(用于CDK)
- Docker(用于Lambda容器构建)
- AWS-CDK-CLI:
npm install -g aws-cdk
设置
1.克隆和安装
git clone
cd resume_mcp
npm install2.配置环境
创建一个 .env 项目根目录中的文件:
DOMAIN_NAME=yourdomain.com
HOSTED_ZONE_ID=Z1234567890ABC
GITHUB_USERNAME=yourusername
MEDIUM_USERNAME=yourusername
RECIPIENT_EMAIL=your@email.com
VERIFIED_SENDER_EMAIL=your@email.com3.验证SES电子邮件
aws ses verify-email-identity \
--email-address your@email.com \
--region eu-west-1检查您的电子邮件并单击验证链接。
4.部署
npx cdk deployCDK将:
- 构建Docker容器并将其发布到ECR
- 创建Lambda函数
- 设置DynamoDB表
- 配置IAM角色和权限
- 部署Lambda函数URL
将数据添加到DynamoDB
联系方式
转到AWS控制台→ DynamoDB→ McpRumeTable→ 创建项目:
{
"category": {"S": "contact"},
"name": {"S": "Your Name"},
"email": {"S": "your@email.com"},
"github_url": {"S": "https://github.com/username"},
"linkedin_url": {"S": "https://linkedin.com/in/username"},
"medium_url": {"S": "https://medium.com/@username"}
}技能组
{
"category": {"S": "skillset"},
"programming_languages": {"L": [
{"S": "Python"},
{"S": "TypeScript"}
]},
"cloud_platforms": {"L": [
{"S": "AWS CDK"},
{"S": "Lambda"}
]},
"certifications": {"L": [
{"S": "AWS Solutions Architect"}
]}
}用法
在浏览器中访问
访问 https://www.bradwebb101.com/about-me/mcp 查看登录页面。
MCP客户端查询
添加到MCP客户端配置中:
{
"mcpServers": {
"brads-resume": {
"url": "https://www.bradwebb101.com/about-me/mcp",
"transport": {
"type": "streamable-http"
}
}
}
}使用cURL进行测试
列出所有工具:
curl -X POST https://www.bradwebb101.com/about-me/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"tools/list","params":{},"id":1}'获取联系信息:
curl -X POST https://www.bradwebb101.com/about-me/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"getContactInfo","arguments":{}},"id":1}'发送电子邮件:
curl -X POST https://www.bradwebb101.com/about-me/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"sendEmailToBrad","arguments":{"sender_name":"John Doe","sender_email":"john@example.com","message":"Great MCP server!","subject":"Hello"}},"id":1}'项目结构
resume_mcp/
├── bin/
│ └── resume-mcp.ts # CDK app entry point
├── lib/
│ └── resume-mcp-stack.ts # Infrastructure definition
├── lambda/
│ ├── main.py # MCP server implementation
│ ├── Dockerfile # Container configuration
│ └── requirements.txt # Python dependencies
├── cdk.json # CDK configuration
├── package.json # Node dependencies
└── .env # Environment variables (not committed)CDK命令
npm run build-将TypeScript编译为JavaScriptnpm run watch-观察变化并编译npm run test-运行Jest单元测试npx cdk deploy-将堆栈部署到AWSnpx cdk diff-比较部署状态与当前状态npx cdk synth-生成CloudFormation模板npx cdk destroy-删除所有资源
成本优化
这种无服务器架构非常经济高效:
- λ: 每次调用付费(约20美元/百万请求)
- DynamoDB: 至少配备(1个RCU/WCU)
- CloudFront: 每月1TB免费套餐
- SES: 62000封免费电子邮件/月
预计每月个人使用费用: \< $1
安全
- Lambda函数URL使用
NONE公共可访问性认证 - CloudFront提供DDoS保护和速率限制
- SES沙盒模式需要电子邮件验证
- 所有IAM权限都遵循最小特权原则
- 代码中未存储凭据(使用环境变量)
为什么选择MCP作为简历?
传统简历有:
- ❌ 需要手动更新的静态文档
- ❌ 机器难以准确解析
- ❌ 单向信息广播(只读)
- ❌ 跨多个平台控制版本
MCP作为简历是:
- ✅ 始终保持最新(来自实时来源)
- ✅ 机器原生结构化数据
- ✅ 交互式(支持写入操作)
- ✅ 单一真相来源
未来的增强功能
- \[\]添加更多数据源(推特、YouTube等)
- \[\]为外部API调用实现缓存
- \[\]添加分析以跟踪工具使用情况
- \[\]除工具外,还创建资源
- \[\]支持多种简历版本(技术版与通用版)
- \[\]添加OpenAPI/Swagger文档端点
贡献
这是一个个人项目,但请随时分叉并适应您自己的MCP简历!
许可证
麻省理工学院许可证-欢迎将其作为您自己的MCP项目的灵感
作者
布拉德·韦伯
- 📧 电子邮件:bradwebb101@outlook.com
- 🐙 github: @BradWebb101
- 💼 领英: 布拉德韦布101
- ✍️ 介质: @布拉德韦布101
当前角色: 无服务器AWS开发人员-PostNL人工智能卓越中心
______________________________________________________________________
*内置于❤️ 使用AWS CDK、Lambda和模型上下文协议*
