项目简介

本项目是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在为大型语言模型 (LLM) 应用提供结构化的上下文信息和功能。它集成了 OpenAI GPT 模型、Anthropic Claude 模型以及 EnrichB2B LinkedIn 数据服务,允许 LLM 客户端通过标准化的 MCP 协议,安全、高效地访问 LinkedIn 数据、调用 AI 工具,并使用预定义的 Prompt 模板进行交互。

主要功能点

  • LinkedIn 数据集成: 通过 EnrichB2B API 提供丰富的 LinkedIn 个人和公司数据查询能力,包括个人资料详情、近期活动等。
  • AI 模型集成: 集成了 OpenAI GPT-4 和 Anthropic Claude 大语言模型,支持文本生成等 AI 功能。
  • 资源管理: 将 LinkedIn 个人资料数据以资源的形式托管,方便 LLM 客户端按需访问。
  • 工具注册与调用: 注册了多个实用工具,如获取 LinkedIn 资料详情、获取 LinkedIn 活动信息、调用 GPT-4 和 Claude 模型等,允许 LLM 客户端调用这些工具执行特定任务。
  • Prompt 模板: 预置了用于 LinkedIn 资料研究和活动分析的 Prompt 模板,支持用户定制 LLM 交互模式。
  • 环境配置: 通过 '.env' 文件管理 API 密钥和配置,方便用户根据自身需求进行配置。
  • 易于扩展: 采用模块化设计,方便开发者添加新的工具、资源和 Prompt 模板。

安装步骤

  1. 创建虚拟环境

    打开终端,导航到仓库根目录,执行以下命令创建并激活虚拟环境:

    python -m venv venv
    source venv/bin/activate   # Linux/macOS
    # venv\Scripts\activate.bat  # Windows (如果使用 cmd)
    # venv\Scripts\activate.ps1  # Windows (如果使用 PowerShell)
  2. 安装依赖

    在虚拟环境中,执行以下命令安装项目所需的 Python 依赖包:

    pip install -r requirements.txt
  3. 配置环境变量

    复制 '.env.example' 文件并重命名为 '.env',然后根据您的 API 密钥和配置信息编辑 '.env' 文件。你需要配置 EnrichB2B API 密钥,以及 OpenAI 或 Anthropic 的 API 密钥(如果你计划使用 GPT-4 或 Claude 工具)。

    cp .env.example .env
    nano .env  # 或使用你喜欢的文本编辑器编辑 .env 文件

服务器配置

以下 JSON 配置信息可以帮助 MCP 客户端连接到此 MCP 服务器。请注意根据实际情况修改 'command' 和 'args' 字段,确保命令能够正确启动 'server.py' 文件。

{
  "server_name": "linkedin_research_mcp",
  "command": "python",
  "args": ["server.py"],
  "transport": "stdio",
  "description": "LinkedIn研究MCP服务器,提供LinkedIn数据查询和分析工具。"
}
  • server_name: MCP 服务器的名称,客户端可以用来标识和选择服务器。
  • command: 启动 MCP 服务器的命令,这里使用 'python' 命令。
  • args: 传递给启动命令的参数,这里指定运行 'server.py' 文件。
  • transport: MCP 客户端与服务器通信的传输协议,这里使用 'stdio' 标准输入输出流。
  • description: 对 MCP 服务器的简要描述,方便客户端用户理解服务器的功能。

基本使用方法

  1. 启动服务器

    在终端中,激活虚拟环境后,导航到仓库根目录,执行以下命令启动 MCP 服务器:

    python server.py

    或者使用 MCP CLI 工具启动(如果已安装 MCP CLI):

    mcp dev server.py

    服务器成功启动后,会在终端输出 "Starting MCP server..." 和 "API clients initialized successfully" 等信息。

  2. 连接 MCP 客户端

    配置并启动 MCP 客户端,客户端需要读取上面提供的服务器配置信息,并通过 stdio 协议连接到正在运行的 MCP 服务器。

  3. 使用工具和资源

    客户端成功连接服务器后,可以列出可用的工具和资源。本项目提供了一些预定义的工具和资源,例如:

    • 资源:

      • 'config://app': 获取服务器配置信息。
      • 'profile://{linkedin_url}': 根据 LinkedIn 个人资料 URL 获取个人资料数据资源。
    • 工具:

      • 'get_profile_details': 获取 LinkedIn 个人资料的详细信息。
      • 'get_contact_activities': 获取 LinkedIn 用户的近期活动和帖子。
      • 'gpt4_completion': 使用 OpenAI GPT-4 模型生成文本。
      • 'claude_completion': 使用 Anthropic Claude 模型生成文本。
      • 'analysis_prompt': 用于文本分析的 Prompt 模板。

    客户端可以使用 MCP 协议调用这些工具和资源,例如调用 'get_profile_details' 工具来获取指定 LinkedIn 用户的资料信息。具体调用方法请参考 MCP 客户端的使用文档。

  4. 使用 Prompt 模板

    本项目还提供了一些 Prompt 模板,例如 'research_profile' 和 'analyze_activities',客户端可以根据需要选择合适的 Prompt 模板,并结合工具和资源完成更复杂的任务,例如使用 'research_profile' 模板结合 'get_profile_details' 和 'get_contact_activities' 工具来研究 LinkedIn 个人资料。

信息

分类

AI与计算