内容
Linked 服务器
> **从 Claude 发布In。** 一个协议(MCP,允许 Claude Desktop、Claude Code 和任何兼容 MCP 助手通过自然语言In 上发布帖子、和管理公司页面。
[](https://glama.ai/mcp/servers/abhineet34/linkedin-mcp-server)
[](https://opensource.org/licenses/MIT)
[](https://nodejs.org/)
[](https://www.typescriptlang.org/)
[](https://modelcontextprotocol.io/)
[](https://github.com/abhineet34/linkedin-mcp-server/pull想象一下询问 Claude *"撰写一篇关于项目的 LinkedIn 文章 —— 然后它。这就是这个 MCP 服务器实现的功能。
## ✨ 功能
| | |
|---|---|
| 📝 **创建帖子** | 发布文本、图片或文章/链接帖子 |
| 🖼️ **上传图片** | 在一个工作流中将图片附加到帖子 |
| ✏️ **编辑和删除** | 更新帖子文本/可见性或完全删除帖子 |
| **个人资料** | 获取您的姓名、电子邮件、照片和 LinkedIn URN |
| 🏢 **公司**名称或 ID 查找公司| 📊者数量** | 获取任何公司页面的关注者统计| 🤖 **与任何 MCP 客户端配合使用** | Claude Desktop、Claude Code、Continue 等 |
🔐 **OAuth 2.0 安全** | 行业标准,在您的机器上 |
## 💬 实际效果
连接后,只需与 Claude 交谈:
```
你: 撰写一篇 LinkedIn 文章,宣布我的新开源项目并发布它。
Claude: 这里有一个:
🚀刚刚开源了 linkedin-mcp-server —— 一个 MCP 服务器,允许
Claude 直接发布到 LinkedIn。不再需要复制粘贴草稿。
使用 TypeScript 和 LinkedIn REST API 构建。如果您觉得它有用,请在 GitHub 上点赞!
我应该发布它吗?
你: 是的,发布它。
Claude: ✅ 已发布。URN:urn:li:share:733...
```
您可以要求的其他事项:
- *"查找 OpenAI 的 LinkedIn 页面并告诉我他们有多少关注者"*
- *"删除我的最后一个 LinkedIn 文章"*
- *"编辑我的最新文章,添加一个指向文档的链接"*
- *"在 LinkedIn 上分享这篇文章,并附上简短的介绍:https://... "*
## 开始之前
您的计算机上需要安装三个东西:
1. **Node.js** (v18 或更高版本)—— [在此下载](https://nodejs.org/)
2. **Claude Desktop** —— [在此下载](https://claude.ai/download)
3. 一个 **LinkedIn 访问令牌** (在下面的步骤 2 中解释)
## 步骤 1 — 下载并构建服务器
打开您的**终端**,依次运行以下命令:
```bash
git clone https.com/abhine/linkedin-mcp-servercd linkedin-mcpnpm install
npm run build完成后,您将 `dist/` 文件夹是已构建的服务器下该文件夹的路径** —— 您将在 中需要它获取它,请运行:bash
pwd
```
它将打印类似 `/Users/y/linkedin-mcp 的内容。 请记住这一点。
## 步骤 获取 LinkedIn 访问令这是最棘手的部分。 LinkedIn 的开发者门户有一些怪癖 —— 按照这些步骤,您就会没问题。
### 2a. 创建 LinkedIn 公司页面(必填,即使是个人使用)
LinkedIn 强制要求每个开发者应用都链接到**公司页面** —— 个人资料 URL 将不起作用,“成员数据可移植性”默认页面阻止访问所有有用的产品。 因此,您必须首先创建真正的公司页面。
1. 前往 **[linkedin.com/company/setup/new](https://www.linkedin.com/company/setup/new)**
2. 选择 **公司**
3. 填写:
- **名称** —— 您的姓名、品牌或任何内容(例如“您的姓名”、“Yourname Dev”)
- **LinkedIn 公共 URL** —— 从名称自动填充
- **行业** —— 选择 **软件开发** (或适合您实际工作的任何内容)
- **组织规模** —— `0–1 名员工`
- **组织类型** —— `自雇`
- **徽 —— 可选,任意4. 勾选并点击 **创建该页面可以保持为空 —— 它只需要存在。
### 2b. 创建开发者应用
1. 前往 **[ 开发者门户developer.linkedin.com/)** 并登录
2.创建应用**
-名称** —— 任意内容(例如“My MCP” **LinkedIn 页面 搜索您的页面并选择它粘贴 URL)
**应用徽标**任意图像
接受法律协议,点击 **创建应用**
### 2c. 将所需产品添加到应用
这是大多数人会错过的步骤。 除了添加作用域外,您还必须添加提供这些作用域的**产品**。
1. 打开您的应用并进入 **产品**选项卡
2. 点击 **** 以下两个产品:
- **使用 OpenID LinkedIn** ——openid`、`profile``
- **In 上分享** `w_member_social`
两个都立即自动批准(无需等待)。 刷新页面 —— 它们应该已添加产品”**下
> 如果“请求访问”按钮灰显,提示“成员数据可移植性”,则表示您跳过了步骤 2a。 创建一个真正的公司页面,然后创建一个与之链接的新应用(旧应用无法修复)。
### 2d. 添加重定向 URL
1. 进入应用的 **身份验证**选项卡
2. 找到 **“您的应用的授权 URL”** 并点击图标
3.添加以下 URL:
```
https://www.linkediners/tools/oauth/redirect
```
4. 保存
这是 LinkedIn 自己的 URL —— 为令牌生成器工作所需。
### 2e. 生成访问令牌
1. 前往 **[linkedin.com/developers/tools/oauth/token-generator](https://www.linkedin.com/developers/tools/oauth)**
2. 从下拉菜单中选择您的应用
3. 勾选所有四个作用域:
- ☑ `openid`
- ☑ `profile - ☑ `email`
- ☑ `w_member_social`
4. 点击 **请求访问令牌**
5. LinkedIn 将授权屏幕 —— 点击 **6. 您将看到一个以 `AQX 开头的长令 **立即复制它** (您只能看到一次)
您的令牌60 天**后过期。 当它停止工作时,请返回此步骤并生成一个新的令牌。
## 3 — 连接到 Claude Desktop
1. 打开 ** Desktop**
2.设置 → 开发者配置**
这一个名为 `claude_desktop_config.json` 的文件。添加以下替换占位符值):
```json
{
mcpServers": "linkedin": {
"command": "node",
"args": ["/Users/yourname/linkedin-mcp-server/dist/index.js"],
"env": {
"LINKEDIN_ACCESS_TOKEN": "在此粘贴您的令牌"
}
}
}
}
```
- 将 `/Users/y/linkedin-m` 替换为1 中记录的路径
- 将 `在此粘贴牌` 替换为步骤 2 中的令牌. 保存文件并 ** Desktop**
## 4 — 测试 Claude Desktop 中,尝试> “我的 Linked资料是什么?”
应该会用您的姓名、电子邮件和 `urn:li:` 开头的长出回应。 如果它这样做了 —— **您已经!**
> **保存您的 URN 响应中包含urn:li:izbpuvq9Vz` 的内容。 这唯一 LinkedIn ID 需要它作为创建帖子时的 `author_urn`。 您可以简单 Claude *"记住我的 LinkedN"* 或将其安全的位置。
##要求 Claude 做的事情
连接后,只需自然地与 Claude 交谈:
- *"在 LinkedIn 上发布:我很高兴分享项目!*"
创建一个 LinkedIn 文章,分享这篇文章:https*"
- *"最后一个 LinkedIn 文章*"
- *"微软的 Linked有多少关注者?*"
- *"查找 OpenAI 的 LinkedIn 页面*"
## 故障排除
**LinkedIn 在创建应用时拒绝我的个人资料 URL LinkedIn 只接受** URL**,不接受个人资料 URL(`/in/...`)
- 进入步骤 2a,首先创建一个公司页面 —— 您的“公司”可以只是您的名字
**“请求访问”按钮在产品选项卡上灰显**
- 如果您在创建应用时选择了“成员数据可移植性(仅限成员的默认公司页面)”
- 该默认页面锁定所有产品。 您需要创建一个真正的公司页面(步骤 2a),然后创建一个与之链接的**新应用** —— 现有应用无法修复
**令牌生成器显示“无可用作用域”**
- 您跳过了步骤 2c。 进入应用的 **产品**选项卡并添加“使用 OpenID Connect 登录 LinkedIn”和“在 LinkedIn 上分享”
- 等一分钟,刷新,然后再尝试令牌生成器
**令牌生成器中的“redirect_uri 不匹配”错误**
- 您跳过了步骤 2d。 进入 **身份验证**选项卡并添加 `https://www.linkedin.com/developers/tools/oauth/redirect` 作为授权重定向 URL
**Claude 表示它找不到 LinkedIn 工具**
- 请确保在编辑配置文件后完全重启了 Claude Desktop(退出并重新打开,而不是简单地关闭窗口)
- 再次检查配置文件中的路径是否指向 `dist/index.js`,并且该文件实际上存在于该路径
- 在终端中运行路径以 `ls <path>` 确认
**“未授权”或 401 错误**
- 您的访问令牌可能已过期(它们有效期为 60 天)
- 返回步骤 2e 并生成一个新的令牌,然后更新配置文件并重启 Claude Desktop
**“权限被拒绝”或 403 错误**
- 操作需要您未包含的作用域
- 对于发布,请确保在步骤 2e 中勾选了所有四个作用域
- 某些工具(例如读取其他人的帖子)需要 LinkedIn 批准的作用域,而并非所有开发者都可获得这些作用域
**找不到 Node.js**
- 从 [nodejs.org](https://nodejs.org/) 安装 Node.js 并## 可用### ✅ 已验证可与自助服务作用使用
这些工具适用于任何人都可以授予的标准作用域(`openid`、`profile`、`email`、`w_member_social`),并且已进行端到端测试:
| 工具 | 描述 | 所需作用|---|---|---|
| `linkedin_get_profile` | 获取您的 LinkedIn 个人资料(姓名、电子邮件、照片、URN) | `openid profile email` |
| `linkedin_create_post` | 创建帖子(文本、图像或文章/链接) | `w_member |
| `linkedin_update_post` | 编辑帖子的文本或可见性 | `w_member_social` |
| `linkedin_delete_post` | 删除帖子 | `w_member_social` |
| `linkedin_upload_image` | 上传图片以在帖子中使用 | `w_member_social` |
### ⚠️ 需要审批(未使用自助服务作用域测试)
这些工具需要 LinkedIn 批准的**作用域**,**并非所有开发者都可获得**。 它们包含在代码库中,供具有合作伙伴级访问权限的用户使用(例如,批准的营销开发者平台、社区管理 API 或页面管理员程序),但**尚未使用本自助服务流程进行端到端验证**。
| 工具 | 描述 | 所需作用域 | 需要 LinkedIn 批准? |
|---|---|---|---|
| `linkedin_get_post` | 按 URN 获取帖子 | `r_member_social` 或 `r_organization_social` | 是 |
| `linkedin_list_posts` | 列出成员或公司的帖子 | `r_member_social` 或 `r_organization_social` | 是 |
| `linkedin_get_ 查找公司页面 | `rw_organization_admin` | 是(页面管理员角色) |
| `linkedin_follower_count` | 获取公司页面的数量 | `rw_organization_admin` | 是(页面管理员角色) |
> 如果您有这些作用域的批准访问权限,并成功使用其中任何工具,请打开问题或 PR —— 我们很乐意确认它们已验证并记录任何特殊情况。
## 🛠️ 技术栈
- **TypeScript** —— 完全类型检查,严格模式
- **[@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk)** —— 官方 MCP SDK
- **[Zod](https://zod.dev/)** —— 运行时模式验证
- **[Axios](https://axios-http.com/)** —— HTTP 客户端
- **LinkedIn REST API** v202604(可通过 `LINKEDIN_API_VERSION` 环境变量配置;仅在 OIDC 用户信息中使用 v2 回退)
代码库故意设计得小且易于扩展 —— 每个工具域一个文件(`profile`、`posts`、`media`、`organizations`)。
## 🤝 贡献
欢迎提出问题和 PR! 如果您有想法、发现错误或想添加新的 LinkedIn API 工具,请先打开问题讨论。
**贡献想法: 添加 LinkedIn 评论和反应的工具
-帖子支持
幻灯片帖子支持(多张- 改进错误更多上下文
-在 MCP 使用添加 CLI 模式
## 🔗 相关项目
- **[模型上下文协议](https://modelcontextprotocol.io/)** —— 此服务器基于的开放标准
- **[Anthropic Claude](https://claude.ai/)** —— 此服务器主要为其设计的人工智能- **[MCP 服务器注册表](https://github.com/model/servers)** ——策划的 MCP
- **[Cl](https://cl/download)** ——可与 Claude 一起使用此服务器
## 免责声明
这是一个非官方的集成。 LinkedIn关、未认可或赞助负责任地遵守 [Linked API 服务条款](https.linkedin.com/api-of-use)。
标仓库
如果这为您节省了时间,[给仓库加星标](https://github.comineet34-mcp-serverazers) —— 它帮助其他开发者找到它。
## 许可证
[MIT](LICENSE) © [Abhineet Pratap Singh](https://www.linkedin.com/in/mr-abhineet/)