LinkedIn API MCP服务器⚙️
模型上下文协议(MCP)服务器,为与LinkedIn API交互提供全面的工具,包括个人档案、公司页面、内容管理和分析。
✨ 特性
个人/会员API
- 配置文件管理:获取和搜索LinkedIn个人资料
- 个人帖子:创建和管理个人内容
- 分析:跟踪参与度指标
公司/组织API(营销API)
- 公司管理:获取和管理公司页面
- 公司职位:创建、检索和删除公司内容
- 公司分析:详细的见解和追随者统计数据
- 媒体上传:上传帖子的图片和视频
双重运输支持
- 标准:用于克劳德桌面和光标集成
- 超文本传输协议:用于通过自动OAuth身份验证进行远程访问
无缝OAuth流
- 自动身份验证:MCP客户端自动发现OAuth端点
- 无令牌复制/粘贴:基于浏览器的登录流处理令牌交换
- 令牌刷新:自动令牌刷新使会话保持活动状态
🔧 可用工具
图像剖面工具
test_linkedin_mcp_server-测试服务器连接get_my_profile-获取经过身份验证的用户的个人资料get_profile(person_urn)-按URN获取个人资料search_people(keywords, filters)-搜索人员
公司工具
get_company(organization_urn)-获取公司信息search_companies(keywords)-搜索公司get_my_companies(person_urn)-获得管理公司
内容工具
create_company_post(org_urn, text, ...)-以公司名义发布get_company_posts(org_urn, count)-获取公司职位delete_company_post(share_urn)-删除公司帖子
分析工具
get_post_analytics(share_urn)-获取帖子统计信息get_company_analytics(org_urn)-获取公司指标get_follower_statistics(org_urn)-获取追随者人口统计信息
🔌 安装
适用于克劳德桌面/光标(stdio)
npm install -g linkedin-api-mcp-server添加到MCP配置中:
{
"mcpServers": {
"linkedin": {
"command": "npx",
"args": ["linkedin-api-mcp-server"],
"env": {
"LINKEDIN_CLIENT_ID": "your_client_id",
"LINKEDIN_CLIENT_SECRET": "your_client_secret",
"LINKEDIN_ACCESS_TOKEN": "your_access_token",
"TRANSPORT_TYPE": "stdio"
}
}
}
}对于HTTP服务器(推荐)
# Run HTTP server with automatic OAuth flow
LINKEDIN_CLIENT_ID=xxx LINKEDIN_CLIENT_SECRET=yyy npx linkedin-api-mcp-server服务器会自动公开OAuth端点:
/.well-known/oauth-authorization-server-OAuth发现/oauth/register-动态客户端注册/oauth/authorize-启动LinkedIn OAuth流程/oauth/token-代币兑换/oauth/callback-LinkedIn回调处理程序
支持OAuth的MCP客户端将自动发现并使用这些端点!
🔑 LinkedIn API设置
1.创建LinkedIn应用程序
- 首选 LinkedIn开发者
- 创建新应用程序
- 注意你的
Client ID和Client Secret
2.所需范围
对于个人API:
openidprofileemailw_member_social
对于公司API(API营销):
w_organization_socialrw_organization_adminr_organization_socialr_analytics
3.获取访问令牌
LinkedIn使用OAuth 2.0。您需要:
- 集
LINKEDIN_REDIRECT_URI(例如。,http://localhost:3000/callback) - 使用OAuth流获取访问令牌
- 存储
access_token和refresh_token
看 LinkedIn OAuth文档 了解详情。
⚙️ 配置
最小配置(只有2个变量!)
要开始使用自动OAuth,您只需要:
# Required - Get these from LinkedIn Developer Portal
LINKEDIN_CLIENT_ID=your_client_id
LINKEDIN_CLIENT_SECRET=your_client_secret就是这样!OAuth流自动处理令牌交换。
OAuth流程(工作原理)
- 只需启动服务器
CLIENT_ID和CLIENT_SECRET - MCP客户端连接并发现OAuth端点
- 用户被重定向到LinkedIn进行授权
- LinkedIn使用授权码重定向回
- 服务器自动交换令牌代码
- 令牌存储在会话中,用于API调用
可选配置
所有这些都有合理的默认值——只有在需要时才覆盖:
# Server settings (defaults shown)
TRANSPORT_TYPE=http # or "stdio" for Claude Desktop (note: OAuth requires HTTP)
PORT=3000
HOST=0.0.0.0
BASE_URL=http://localhost:3000 # Public URL for OAuth callbacks
# LinkedIn API scopes (comma-separated, defaults to personal scopes)
# Add company scopes if you have Marketing Developer Platform access传统模式(手动令牌)
如果您更喜欢手动令牌管理或使用stdio传输:
LINKEDIN_ACCESS_TOKEN=your_access_token
LINKEDIN_REFRESH_TOKEN=your_refresh_token # Optional, for auto-refresh🛠️ 发展
命令
# Install dependencies
pnpm install
# Development
pnpm dev # Build with watch mode
pnpm serve:dev # Run server in development mode
# Testing
pnpm test # Run tests
pnpm test:watch # Run tests in watch mode
pnpm test:coverage # Run tests with coverage
# Quality
pnpm lint # Fix linting issues
pnpm format # Format code
pnpm validate # Format + Lint + Test + Build
# Production
pnpm build # Build for production
pnpm start # Run built serverCLI选项
# Show help
npx linkedin-api-mcp-server --help
# Show version
npx linkedin-api-mcp-server --version
# Generate OAuth token
npx linkedin-api-mcp-server --generate-token📚 使用示例
搜索人员
// In Claude Desktop or Cursor with MCP
search_people({
keywords: "software engineer",
company: "Microsoft",
count: 10,
})创建公司职位
create_company_post({
organization_urn: "urn:li:organization:123456",
text: "Exciting news from our team!",
visibility: "PUBLIC",
})获取公司分析
get_company_analytics({
organization_urn: "urn:li:organization:123456",
})🔐 营销API访问
要使用公司/组织功能,您需要:
- 营销开发平台合作伙伴关系
- 申请于 LinkedIn营销开发平台 - 获得组织范围的批准
- 公司管理员访问权限
- 成为LinkedIn公司页面的管理员 - 拥有发布和分析的适当权限
- 提高费率限制
- 请求更高的分析API配额
📊 速率限制
- 会员/个人:150个请求/天
- 应用:100000次请求/天
- API营销:与合作伙伴建立更高的限制
服务器实现了指数退避和缓存,以获得最佳性能。
🐳 Docker支持
使用Docker Compose(推荐)
# Create .env file with your credentials
cp .env.example .env
# Edit .env with your LinkedIn API credentials
# Start the service
docker compose up -d
# View logs
docker compose logs -f
# Stop the service
docker compose down使用预构建图像
# Pull from GitHub Container Registry
docker pull ghcr.io/jordanburke/linkedin-api-mcp-server:latest
# Run container
docker run -d \
--name linkedin-mcp \
-p 3000:3000 \
--env-file .env \
ghcr.io/jordanburke/linkedin-api-mcp-server:latest在当地建设
# Build Docker image
docker build -t linkedin-mcp-server .
# Run container
docker run -d \
--name linkedin-mcp \
-p 3000:3000 \
-e LINKEDIN_CLIENT_ID=xxx \
-e LINKEDIN_CLIENT_SECRET=yyy \
-e LINKEDIN_ACCESS_TOKEN=zzz \
linkedin-mcp-server
# View logs
docker logs -f linkedin-mcp
# Stop container
docker stop linkedin-mcp🤝 贡献
欢迎投稿!请随时提交拉取请求。
📄 许可证
MIT许可证-有关详细信息,请参阅许可证文件
🔗 链接
🙏 鸣谢
内置于 FastMCP 并受到MCP生态系统的启发。
