项目简介
这是一个基于 Node.js 和 Express 构建的示例 MCP(Model Context Protocol)服务器。它旨在演示如何实现一个 MCP 服务器来为大型语言模型(LLM)客户端提供特定的上下文信息,在本例中是关于一个求职者的简历、LinkedIn、GitHub、个人网站等信息。服务器支持 Stdio 和 HTTP/SSE 两种传输协议。
主要功能点
- 提供求职者上下文信息: 将预设或通过环境变量配置的求职者信息(如姓名、简历文本、链接等)以标准化方式提供给连接的 AI 客户端。
- 支持多种传输协议: 可通过标准输入输出 (Stdio) 或 HTTP (包括 SSE) 与 AI 客户端进行通信。
- 灵活配置: 求职者的详细信息和服务器设置可以通过环境变量进行配置,方便部署和定制。
- 示例实现: 提供了一个完整的、可运行的 MCP 服务器代码示例,帮助理解和构建自己的 MCP 应用后端。
安装步骤
- 克隆仓库:
git clone https://github.com/jhgaylor/example-candidate-mcp-server.git cd example-candidate-mcp-server - 安装依赖:
npm install - 配置信息 (可选): 创建一个 '.env' 文件在项目根目录,并添加你的求职者信息和可选的邮件发送配置:
如果未设置,服务器将使用默认的示例信息。CANDIDATE_NAME="你的姓名" RESUME_URL="你的简历PDF链接" LINKEDIN_URL="你的LinkedIn链接" GITHUB_URL="你的GitHub链接" WEBSITE_URL="你的个人网站链接" # 可选的邮件配置 # CONTACT_EMAIL="你的联系邮箱" # MAILGUN_API_KEY="你的Mailgun API Key" # MAILGUN_DOMAIN="你的Mailgun Domain"
服务器配置 (供MCP客户端连接使用)
要让 MCP 客户端(如支持 MCP 的 AI 编辑器插件或应用)连接到此服务器,需要配置服务器的启动方式和连接参数。以下是一个使用 Stdio 传输协议的典型配置(JSON格式):
{ "name": "Candidate Server", // 服务器的唯一标识名称,可自定义 "description": "Provides context about a job candidate.", // 服务器的描述,供客户端显示 "transport": "stdio", // 指定传输协议为标准输入输出 "command": ["npm"], // 启动服务器的命令 "args": ["run", "start"] // 启动服务器的参数 }
如果你希望使用 HTTP 传输,可以配置为:
{ "name": "Candidate HTTP Server", // 服务器的唯一标识名称,可自定义 "description": "Provides context about a job candidate over HTTP.", // 服务器的描述 "transport": "http", // 指定传输协议为HTTP "command": ["npm"], // 启动服务器的命令 "args": ["run", "start:web"], // 启动 HTTP 服务器的参数 "host": "localhost", // 服务器运行的主机名,如果是本地运行通常是 localhost "port": 3000, // 服务器监听的端口,默认是 3000,可以修改 .env 文件中的 PORT 变量 "path": "/mcp" // MCP Endpoint 的路径 // 如果使用 SSE 传输,将 transport 改为 "sse",path 改为 "/sse",args 保持 ["run", "start:web"] 不变 }
将上述适合你的配置添加到 MCP 客户端的服务器配置列表中。
基本使用方法
- 启动服务器:
- 使用 Stdio 传输:在项目目录下运行 'npm run start'
- 使用 HTTP/SSE 传输:在项目目录下运行 'npm run start:web' 服务器将在后台或命令行中运行,等待 MCP 客户端连接。
- 连接客户端: 打开你的 MCP 客户端(例如支持 MCP 的 VS Code 插件),根据上一节提供的 JSON 配置信息添加并连接到此服务器。
- 客户端交互: 一旦连接成功,AI 客户端就可以通过 MCP 协议请求服务器提供的求职者信息作为上下文,用于生成回复、分析文档等任务。
信息
分类
AI与计算