mcpField
L
LinkedIn MCP Server

LinkedIn MCP Server

本地服务
github.com/souravdasbiswas社交媒体1631 周前更新

关于 LinkedIn MCP Server

LinkedIn MCP Server 通过 LinkedIn 官方 API,让 AI 助手管理个人资料、帖子和活动。它使用 OAuth 2.0,并仅开放已获授权范围支持的工具。

主要功能

  1. 01OAuth 2.0 登录与会话恢复
  2. 02查看个人资料和认证状态
  3. 03创建、删除帖子并发表评论
  4. 04回应帖子及上传图片
  5. 05创建和查看活动
  6. 06自适应限流与失败重试

适用场景

  1. 01发布或删除 LinkedIn 帖子
  2. 02查看个人资料与 API 限额
  3. 03评论或回应帖子
  4. 04创建并查询 LinkedIn 活动

MCP 相关

它作为 MCP 服务向兼容客户端提供 LinkedIn 官方 API 操作工具;工具可用范围取决于授予的 OAuth 权限。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

LinkedIn MCP 服务

linkedin-mcp-server MCP 服务

一个模型上下文协议(MCP)服务,可让 AI 助手访问 LinkedIn 官方 API。通过任何兼容 MCP 的客户端,使用自然语言创建帖子、管理活动并与 LinkedIn 互动。

仅使用官方 API。 不进行抓取,不使用非官方端点,不会带来账户风险。

功能

自助工具(无需 LinkedIn 审批)
工具描述
linkedin_auth_start启动 OAuth 2.0 身份验证流程
linkedin_auth_callback使用授权码完成 OAuth
linkedin_auth_logout撤销令牌并退出登录
linkedin_get_my_profile获取你的 LinkedIn 个人资料(姓名、标题、照片、电子邮件)
linkedin_get_my_email获取你的电子邮件地址
linkedin_get_auth_status检查身份验证状态
linkedin_get_rate_limits查看 API 速率限制使用情况
linkedin_create_post创建文本、文章或图片帖子
linkedin_delete_post删除你的帖子
linkedin_create_comment评论帖子
linkedin_react_to_post对帖子作出回应(赞、庆祝、支持、喜爱、觉得有见地、觉得好笑)
linkedin_upload_image上传帖子图片
linkedin_list_my_posts列出通过此服务创建的帖子,并提供用于引用的 URN
linkedin_create_event创建 LinkedIn 活动
linkedin_get_event获取活动详情
架构亮点
  • OAuth 2.0 - 使用持久化令牌存储进行安全身份验证
  • 会话自动恢复 - 服务重启后无需重新进行身份验证即可恢复(令牌过期前)
  • 帖子历史跟踪 - 在本地 SQLite 日志中记录通过此服务创建的帖子,便于查找和删除
  • 自适应速率限制 - 根据响应头学习 LinkedIn 的实际限制
  • 自动重试 - 对暂时性故障(429、5xx)采用指数退避
  • 能力检测 - 仅公开与你获准使用的权限范围相匹配的工具
  • API 版本控制 - 适配 LinkedIn 每月轮换的 API 版本

前置条件

  1. Node.js 20+
  2. LinkedIn 开发者应用(请参阅下方的设置步骤)

LinkedIn 应用设置

步骤 1:创建 LinkedIn 开发者应用
  1. 前往 linkedin.com/developers/apps 并登录
  2. 点击 Create app
  3. 填写必填字段:
    • App name:选择任意名称(例如“我的 MCP LinkedIn”)
    • LinkedIn Page:选择你的 LinkedIn 主页;如有需要,也可以创建一个
    • Privacy policy URL:可填写你的网站 URL 或占位 URL
    • App logo:上传任意图片(必填)
  4. 勾选法律协议框,然后点击 Create app
步骤 2:获取 Client ID 和 Client Secret
  1. 创建应用后,你会进入应用设置页面
  2. 转到 Auth 选项卡
  3. 复制 Client ID——配置时需要用到
  4. 复制 Client Secret(点击眼睛图标以显示)——同样需要用到
步骤 3:添加重定向 URL
  1. 仍在 Auth 选项卡中,向下滚动到 OAuth 2.0 settings
  2. 在 Authorized redirect URLs for your app 下,点击 Add redirect URL
  3. 输入:http://localhost:3000/callback
  4. 点击 Update 保存

重要:重定向 URL 必须完全匹配,包括协议(http://)、端口(:3000)和路径(/callback)。末尾不能有斜杠。

步骤 4:启用所需产品
  1. 前往应用页面上的 Products 选项卡
  2. 申请使用以下两个产品:
    • Sign In with LinkedIn using OpenID Connect ——点击 Request access,查看条款并接受
    • Share on LinkedIn ——点击 Request access,查看条款并接受
  3. 自助使用的申请通常会立即获批

验证:启用后,返回 Auth 选项卡。在 OAuth 2.0 scopes 下,你应看到:openid、profile、email、w_member_social。

快速开始

1. 安装
git clone https://github.com/souravdasbiswas/linkedin-mcp-server.git
cd linkedin-mcp-server
npm install
npm run build
2. 配置 MCP 客户端

适用于 Claude Code(推荐):

claude mcp add linkedin \
  -e LINKEDIN_CLIENT_ID=your_client_id \
  -e LINKEDIN_CLIENT_SECRET=your_client_secret \
  -- node /path/to/linkedin-mcp-server/dist/index.js

或者手动添加到 ~/.claude.json:

{
  "mcpServers": {
    "linkedin": {
      "command": "node",
      "args": ["/path/to/linkedin-mcp-server/dist/index.js"],
      "env": {
        "LINKEDIN_CLIENT_ID": "your_client_id",
        "LINKEDIN_CLIENT_SECRET": "your_client_secret"
      }
    }
  }
}

适用于 Claude Desktop,添加到 claude_desktop_config.json:

{
  "mcpServers": {
    "linkedin": {
      "command": "node",
      "args": ["/path/to/linkedin-mcp-server/dist/index.js"],
      "env": {
        "LINKEDIN_CLIENT_ID": "your_client_id",
        "LINKEDIN_CLIENT_SECRET": "your_client_secret"
      }
    }
  }
}

将 your_client_id 和 your_client_secret 替换为步骤 2 中获取的值。

3. 进行身份验证

连接后,告诉你的 AI 助手:

“使用 LinkedIn 进行身份验证”

助手会生成一个 OAuth URL。流程如下:

  1. 在浏览器中打开该 URL
  2. 登录 LinkedIn,然后点击 Allow 授权应用
  3. LinkedIn 会重定向到 http://localhost:3000/callback?code=XXX&state=YYY
  4. 由于没有本地服务在监听,你会看到“找不到页面”错误——这是正常的
  5. 从浏览器地址栏复制完整 URL,并粘贴回助手
  6. 助手会提取 code 和 state 参数并完成身份验证

首次完成身份验证后,你的会话会在服务重启后继续保留(令牌有效期为 60 天)。只有令牌过期时才需要重新进行身份验证。

4. 开始使用

提示词示例:

  • “在 LinkedIn 上发布:刚刚推出了一项新功能,可将 API 延迟降低 40%”
  • “列出我的 LinkedIn 帖子”——查看你通过该服务发布的所有帖子
  • “删除我最近发布的 LinkedIn 帖子”
  • “为我们的团队聚会创建 LinkedIn 活动,时间是下周五下午 2 点”
  • “用庆祝表情回应这条 LinkedIn 帖子”
  • “我的 LinkedIn 个人资料信息是什么?”

环境变量

变量必需默认值描述
LINKEDIN_CLIENT_ID是-LinkedIn 应用客户端 ID
LINKEDIN_CLIENT_SECRET是-LinkedIn 应用客户端密钥
LINKEDIN_REDIRECT_URI否http://localhost:3000/callbackOAuth 重定向 URI
LINKEDIN_MCP_DATA_DIR否~/.linkedin-mcp令牌存储目录
LINKEDIN_API_BASE_URL否https://api.linkedin.comAPI 基础 URL(可覆盖以进行测试)
LINKEDIN_AUTH_BASE_URL否https://www.linkedin.com/oauth/v2身份验证基础 URL

开发

# Install dependencies
npm install

# Type check
npm run typecheck

# Run tests
npm test

# Run tests in watch mode
npm run test:watch

# Run with coverage
npm run test:coverage

# Lint
npm run lint

# Dev mode (tsx, no build needed)
npm run dev
测试架构

测试全部通过模拟 LinkedIn API 服务运行,不会发起真实的 API 调用。

层级测试内容文件
单元测试身份验证、PKCE、令牌存储、速率限制器、错误、功能tests/unit/
集成测试通过内存传输进行完整的 MCP 协议流程测试tests/integration/
契约测试请求/响应结构是否符合 LinkedIn API 规范tests/contract/
项目结构
src/
  index.ts              # Entry point, stdio transport
  server.ts             # MCP server wiring
  auth/
    oauth2.ts           # OAuth 2.0 flow + token exchange
    token-store.ts      # SQLite token persistence + session auto-restore
    pkce.ts             # PKCE challenge generation (available for public clients)
    tools.ts            # Auth MCP tools
  client/
    api-client.ts       # HTTP client with retry
    rate-limiter.ts     # Adaptive rate limiting
    version-manager.ts  # LinkedIn API versioning
    errors.ts           # Structured error types
    post-history.ts     # Local post tracking (SQLite)
  capabilities/
    detector.ts         # Scope-based capability detection
  modules/
    profile/tools.ts    # Profile reading tools
    posting/tools.ts    # Post creation/management tools
    events/tools.ts     # Event management tools
  types/
    linkedin.ts         # LinkedIn API type definitions
    config.ts           # Server configuration types

限制

以下是 LinkedIn API 的限制,并非服务本身的限制:

  • 无法读取他人资料——只能读取已通过身份验证的用户自己的资料
  • 无法搜索用户——没有公开搜索 API
  • 无法发送消息——仅向 Sales Navigator 合作伙伴开放
  • 无法读取动态消息——r_member_social 范围不开放
  • 无法访问联系人——只有获批 Marketing API 后才能获取联系人数量
  • 速率限制——每天约 500 次应用调用,每位成员每天约 100 次(开发层级)

扩展到 Pro 层级

如果你的 LinkedIn 应用已获批使用 Community Management API 或 Advertising API,那么当你使用相应范围进行身份验证时,服务的功能检测会自动启用其他模块。模块化架构支持添加新的 API 模块,而无需修改核心服务。

License

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。