项目简介
本项目是一个基于 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 模板。
安装步骤
-
创建虚拟环境
打开终端,导航到仓库根目录,执行以下命令创建并激活虚拟环境:
python -m venv venv source venv/bin/activate # Linux/macOS # venv\Scripts\activate.bat # Windows (如果使用 cmd) # venv\Scripts\activate.ps1 # Windows (如果使用 PowerShell) -
安装依赖
在虚拟环境中,执行以下命令安装项目所需的 Python 依赖包:
pip install -r requirements.txt -
配置环境变量
复制 '.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 服务器的简要描述,方便客户端用户理解服务器的功能。
基本使用方法
-
启动服务器
在终端中,激活虚拟环境后,导航到仓库根目录,执行以下命令启动 MCP 服务器:
python server.py或者使用 MCP CLI 工具启动(如果已安装 MCP CLI):
mcp dev server.py服务器成功启动后,会在终端输出 "Starting MCP server..." 和 "API clients initialized successfully" 等信息。
-
连接 MCP 客户端
配置并启动 MCP 客户端,客户端需要读取上面提供的服务器配置信息,并通过 stdio 协议连接到正在运行的 MCP 服务器。
-
使用工具和资源
客户端成功连接服务器后,可以列出可用的工具和资源。本项目提供了一些预定义的工具和资源,例如:
-
资源:
- '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 客户端的使用文档。
-
-
使用 Prompt 模板
本项目还提供了一些 Prompt 模板,例如 'research_profile' 和 'analyze_activities',客户端可以根据需要选择合适的 Prompt 模板,并结合工具和资源完成更复杂的任务,例如使用 'research_profile' 模板结合 'get_profile_details' 和 'get_contact_activities' 工具来研究 LinkedIn 个人资料。
信息
分类
AI与计算