Me MCP服务器
MCP(模型上下文协议)服务器,用于了解您并与您交互。
特性
此MCP服务器提供以下功能:
鼓励
- 职位搜索 -根据您的个人资料,使用指定的薪资范围、地点和公司类型偏好,生成量身定制的求职说明。
资源
- 恢复文本 -访问您的完整简历文本(
candidate-info://resume) - 恢复URL -获取简历PDF的URL(
candidate-info://resume-url) - LinkedIn个人资料URL -访问您的LinkedIn个人资料(
candidate-info://linkedin-url) - GitHub配置文件URL -访问您的GitHub个人资料(
candidate-info://github-url) - 网站地址 -获取您的个人网站URL(
candidate-info://website-url) - 网站内容 -获取并分析您网站的HTML内容(
candidate-info://website-contents)
运行服务器
使用Docker
运行服务器最简单的方法是使用Docker Compose:
docker-compose up -d这将启动端口3000上的服务器。
运输选项
此MCP服务器支持两种不同的传输机制:
SSE(服务器发送事件)传输
SSE传输允许服务器通过HTTP与支持服务器发送事件的客户端通信。这对于基于web的客户端或任何可以建立HTTP连接的客户端都很有用。
要使用SSE传输运行服务器,请执行以下操作:
dart bin/sse_server.dartSSE服务器将在配置的主机和端口上启动(默认值:0.0.0.0:3000)。
标准运输
Stdio传输使用标准输入/输出流进行通信。这非常适合与像Claude desktop这样的桌面客户端集成,这些客户端将MCP服务器作为子流程启动。
要使用Stdio传输运行服务器,请执行以下操作:
dart bin/stdio_server.dart配置Claude桌面
要将MCP服务器与Claude Desktop一起使用,请将以下内容添加到您的Claude配置中:
{
"mcpServers": {
"me_mcp": {
"command": "dart",
"args": [
"path/to/bin/stdio_server.dart"
]
}
}
}或者,您可以将服务器编译为独立的可执行文件:
dart compile exe bin/stdio_server.dart -o ./mcp_server然后配置Claude Desktop以使用编译后的版本:
{
"mcpServers": {
"me_mcp": {
"command": "path/to/mcp_server"
}
}
}配置
服务器使用混合配置方法:
- 服务器设置 -使用环境变量配置
- 个人信息 -使用配置
me.yaml文件
环境变量
通过环境变量配置服务器相关设置:
| 变量 | 描述 | 默认值 |
|---|---|---|
| HOST | 要绑定到的主机地址 | 0.0.0.0 |
| 端口 | 监听端口 | 3000 |
| 环境 | 环境(开发、生产) | 开发 |
YAML配置
通过配置个人信息和求职偏好 me.yaml 文件。
正在初始化配置
要创建默认配置文件,请执行以下操作:
dart bin/me_init.dart [path]这将生成一个 me.yaml 文件(或指定路径),具有可以编辑的默认值。
配置示例
# Personal information
name: Jake Gaylor
resume_url: https://example.com/resume.pdf
website_url: https://jakegaylor.com
linkedin_url: https://linkedin.com/in/jakegaylor
github_url: https://github.com/jhgaylor
# Optional content (can be loaded from URLs above if not specified)
resume_text: |
Jake Gaylor
Software Engineer
Experience:
- Example Company (2020-Present)
Senior Software Engineer
Skills:
- Dart, JavaScript, TypeScript
- Cloud Infrastructure
website_text: "" # Will be fetched from website_url if empty
# Job search preferences
job_search:
min_salary: 150000
max_salary: 250000
location: Remote
company_type: Startup
industry: Technology
description: "Looking for senior engineering roles with focus on cloud infrastructure"YAML配置选项
| 章节 | 选项 | 描述 | 默认 |
|---|---|---|---|
| - | 姓名 | 您的个人资料/候选人姓名 | 简·史密斯 |
| - | resume_url | 简历的url | https://example.com/resume.pdf |
| - | linkedin_url | linkedin个人资料的url | https://linkedin.com/in/example |
| - | github url | 指向github配置文件的url | https://github.com/example |
| - | website_url | 个人网站的url | https://example.com |
| - | resume_text | 简历的全文内容 | 一份空简历。 |
| job_search | 最低工资 | 求职最低工资 | 100000 |
| job_search | max_salary | 求职最高工资 | 500000 |
| job_search | 地点 | 首选工作地点 | 远程 |
| job_search | company_type | 首选公司类型 | 初创公司 |
| 职位搜索 | 行业 | 首选行业 | 技术 |
| job_search | 描述 | 其他求职详细信息 | “” |
类型安全配置(适用于开发人员)
YAML配置被解析为强类型Dart对象:
import 'package:me_mcp_server/me_mcp_server.dart';
// Create a configuration programmatically
final config = MeConfig(
name: 'Jane Smith',
resumeUrl: 'https://example.com/resume.pdf',
jobSearch: JobSearchConfig(
minSalary: 150000,
maxSalary: 250000,
location: 'Remote',
),
);
// Convert to YAML
final yamlString = configToYaml(config);本地运行
要在本地运行服务器,请执行以下操作:
- 确保您安装了Dart SDK 3.7.2或更高版本
- 安装依赖项:
dart pub get - 创建一个
me.yaml根目录中包含您的配置的文件
dart bin/me_init.dart- 根据需要设置任何环境变量
- 使用您偏好的传输方式运行服务器:
- SSE: dart bin/sse_server.dart - 标准: dart bin/stdio_server.dart
发展
构建Docker镜像
docker build -t jhgaylor/me-mcp-server:local .运行Docker镜像
docker run -p 3000:3000 \
-v $(pwd)/me.yaml:/app/me.yaml \
-e PORT=3000 \
-e ENVIRONMENT=production \
jhgaylor/me-mcp-server:localDocker配置
使用Docker时,您可以:
- 挂载你的me.yaml文件:
-v $(pwd)/me.yaml:/app/me.yaml- 设置环境变量:
-e HOST=0.0.0.0 -e PORT=3000 -e ENVIRONMENT=production- 使用docker-compose.yml:
services:
mcp-server:
volumes:
- ./me.yaml:/app/me.yaml
environment:
- HOST=0.0.0.0
- PORT=3000
- ENVIRONMENT=production部署示例
部署到自定义域
您可以将此MCP服务器部署到您自己的域中。以下是在以下位置运行的部署示例 mcp.jakegaylor.com:
- GitHub存储库: jhgaylor/jakegaylor com mcp服务器
