项目简介
这是一个Model Context Protocol (MCP) 服务器,旨在通过標準化的 MCP 接口,允许 AI 代理或 LLM 客户端与您的 LinkedIn 账户进行交互,主要功能是代您在 LinkedIn 上发布内容。它使用 TypeScript SDK 构建,实现了 LinkedIn 的认证流程和内容分享 API。
主要功能点
- LinkedIn 认证集成: 支持 OAuth 2.0 认证流程,安全地获取并存储访问令牌,以便服务器代表您操作。
- 内容分享工具: 提供两个核心工具,允许通过 MCP 请求发布纯文本帖子或分享带有评论的链接到您的 LinkedIn 动态。
- 多传输协议支持: 支持标准的 StdIO 传输以及 HTTP/SSE 传输,方便与不同的 MCP 客户端(如 Claude Desktop)集成。
- 会话及能力声明: 按照 MCP 规范声明服务器的能力(当前主要是工具),并管理会话。
安装步骤
- 环境准备: 确保已安装 Node.js (版本 >=14) 和 npm。
- 创建 LinkedIn 开发者应用:
- 访问 https://www.linkedin.com/developers/apps 创建新应用。
- 在应用的 "Products" 设置中,添加 Sign In with LinkedIn (OpenID Connect) 和 Share on LinkedIn 产品。
- 在认证设置中,将 Authorized Redirect URI 设置为 'http://localhost:8000/auth/linkedin/callback' (这需要与服务器的 '.env' 文件配置一致)。
- 复制您的 Client ID 和 Client Secret,后续会用到。
- 克隆仓库: 打开终端,执行以下命令克隆项目:
git clone https://github.com/agency42/linkedin-mcp.git cd linkedin-mcp - 安装依赖: 在项目根目录执行:
npm install - 配置环境变量: 在项目根目录创建 '.env' 文件,并填入以下内容,替换占位符为您的实际信息:
SESSION_SECRET=一个安全的随机字符串作为session密钥 AUTH_PORT=8000 # OAuth 回调服务器端口 (通常保持 8000) HTTP_PORT=8001 # MCP 服务器 HTTP/SSE 传输端口 (可自定义,但要与客户端配置一致) LINKEDIN_CLIENT_ID=您的LinkedIn应用Client ID LINKEDIN_CLIENT_SECRET=您的LinkedIn应用Client Secret LINKEDIN_REDIRECT_URI=http://localhost:8000/auth/linkedin/callback # 必须与LinkedIn应用中配置的一致
服务器配置
MCP 服务器需要启动并在指定的传输协议(如 Stdio 或 HTTP/SSE)上监听。您的 MCP 客户端(如 Claude Desktop 或 MCP Inspector)需要知道如何启动这个服务器以及如何连接。
对于大多数 MCP 客户端,您需要在客户端的配置中指定:
- 服务器名称: 用于标识该服务器(例如,'linkedin')。
- 启动命令 (Command): 运行服务器的终端命令。对于此项目,通常是 'node build/server.js'。
- 启动参数 (Args): 命令的附加参数(此项目通常不需要额外参数)。
- 传输协议 (Transport): 如何与服务器通信。此项目支持 'stdio' 或 'http' (HTTP/SSE)。如果使用 'http',还需要指定服务器监听的 'url' 和相应的端点(例如,'http://localhost:8001',SSE 端点 '/stream',HTTP/POST 端点 '/message')。
这些信息应根据您在 '.env' 中设置的 'HTTP_PORT' 以及项目的文件结构来确定。具体的客户端配置格式请参考您所使用的 MCP 客户端文档(例如,Claude Desktop 的 'claude_desktop_config.json' 文件)。
基本使用方法
- 启动认证服务器: 在项目根目录的终端中运行:
这个服务器处理 OAuth 回调,必须保持运行。npm run dev:auth - 完成 LinkedIn 认证: 在浏览器中访问 'http://localhost:8000/auth/linkedin' (如果更改了 'AUTH_PORT' 请使用对应端口)。按照提示登录您的 LinkedIn 账户并授权。成功后会显示“Authentication successful!”,并且令牌会存储在项目根目录的 'tokenStore.json' 文件中。
- 启动 MCP 服务器: 在另一个终端窗口,确保仍在项目根目录,运行:
这将启动 MCP 服务器,监听 Stdio 和 '.env' 中配置的 HTTP 端口 (默认为 8001)。npm run dev - 连接 MCP 客户端: 打开您的 MCP 客户端(如 MCP Inspector 或配置好的 Claude Desktop)。客户端应能发现并连接到这个 LinkedIn MCP 服务器,并显示其提供的工具('linkedin-share-post' 和 'linkedin-share-link')。
- 使用工具: 在 MCP 客户端中调用相应的工具,例如:
- 调用 'linkedin-share-post' 工具,提供 'text' 参数来发布纯文本动态。
- 调用 'linkedin-share-link' 工具,提供 'text' 和 'url' 参数来分享链接和评论。
- 验证: 检查您的 LinkedIn 动态,确认内容已成功发布。
信息
分类
通信与社交