项目简介

这是一个基于 Node.js 和 Express 构建的示例 MCP(Model Context Protocol)服务器。它旨在演示如何实现一个 MCP 服务器来为大型语言模型(LLM)客户端提供特定的上下文信息,在本例中是关于一个求职者的简历、LinkedIn、GitHub、个人网站等信息。服务器支持 Stdio 和 HTTP/SSE 两种传输协议。

主要功能点

  • 提供求职者上下文信息: 将预设或通过环境变量配置的求职者信息(如姓名、简历文本、链接等)以标准化方式提供给连接的 AI 客户端。
  • 支持多种传输协议: 可通过标准输入输出 (Stdio) 或 HTTP (包括 SSE) 与 AI 客户端进行通信。
  • 灵活配置: 求职者的详细信息和服务器设置可以通过环境变量进行配置,方便部署和定制。
  • 示例实现: 提供了一个完整的、可运行的 MCP 服务器代码示例,帮助理解和构建自己的 MCP 应用后端。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/jhgaylor/example-candidate-mcp-server.git
    cd example-candidate-mcp-server
  2. 安装依赖:
    npm install
  3. 配置信息 (可选): 创建一个 '.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 客户端的服务器配置列表中。

基本使用方法

  1. 启动服务器:
    • 使用 Stdio 传输:在项目目录下运行 'npm run start'
    • 使用 HTTP/SSE 传输:在项目目录下运行 'npm run start:web' 服务器将在后台或命令行中运行,等待 MCP 客户端连接。
  2. 连接客户端: 打开你的 MCP 客户端(例如支持 MCP 的 VS Code 插件),根据上一节提供的 JSON 配置信息添加并连接到此服务器。
  3. 客户端交互: 一旦连接成功,AI 客户端就可以通过 MCP 协议请求服务器提供的求职者信息作为上下文,用于生成回复、分析文档等任务。

信息

分类

AI与计算