
Linkedctl
io.github.alexey-pelykh由 GitHub 账号 alexey-pelykh 发布v0.5.0更新于 Oct 25, 2026
CLI and MCP server for the LinkedIn API
概览
面向 LinkedIn API 的本地 MCP 服务器与命令行工具,让助手发布帖子、管理评论和互动,并读取分析数据。
- 可以做什么
- 创建、读取、更新和删除 LinkedIn 帖子,支持草稿、图片、视频、文档、文章、多图轮播和投票,可以个人或组织身份发布。创建、列出、获取和删除评论,并为帖子添加、列出或移除互动反应。列出你管理的组织,获取组织详情和关注者数量。读取单帖、个人汇总和组织层面的分析数据。上传图片、视频和文档,并查看当前身份和认证状态。
- 适用场景
- 适合让助手起草并发布 LinkedIn 内容、管理帖子互动,或在不离开对话的情况下获取帖子和组织统计数据。适用于个人或组织账号的社交媒体与内容运营流程。
- 运行要求
- 通过 npx 或全局 npm 安装作为本地进程运行,需要 Node.js 24 或更高版本。需要一个具备 OAuth 2.0 凭据的 LinkedIn 开发者应用,或一个直接访问令牌。凭据可来自 LINKEDCTL_CLIENT_ID、LINKEDCTL_CLIENT_SECRET 和 LINKEDCTL_ACCESS_TOKEN,或 YAML 配置文件;LINKEDCTL_API_VERSION 为必填。需要访问 LinkedIn 的网络连接。
安装
在 SourceWeft 中
- 打开 控制台中的 Linkedctl,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
[LinkedCtl: The Complete CLI & MCP for LinkedIn]
OAuth2 CLI and MCP server for the LinkedIn API.
What It Does
- Post content — text, images, video, documents, articles, multi-image carousels, and polls
- Comments & reactions — create, list, and delete comments and reactions on posts
- Organization support — post, comment, react, and view analytics as an organization
- Analytics — per-post, per-member, and per-organization statistics
- Media uploads — upload images, video, and documents to LinkedIn
- Draft posts — save posts as drafts before publishing
- OAuth 2.0 authentication with your own LinkedIn app
- Direct token passing for tokens obtained from other applications
- MCP server for AI assistant integration (Claude, Cursor, etc.)
- CLI for scriptable LinkedIn operations
Prerequisites
- Node.js >= 24
- A LinkedIn Developer App with appropriate permissions
Installation
Or run directly:
Quick Start
- Create a LinkedIn app at linkedin.com/developers
- Configure OAuth 2.0 credentials
- Authenticate:
- Start using:
See the OAuth Setup Guide for detailed step-by-step instructions.
MCP Integration
MCP Client Configuration
Claude Desktop
Add to your Claude Desktop configuration (claude_desktop_config.json):
Claude Code
Cursor
Add to .cursor/mcp.json in your project root:
Windsurf
Add to ~/.codeium/windsurf/mcp_config.json:
Available Tools
All tools accept an optional profile parameter to select a configuration profile.
Authentication
Posts
post_create supports rich content types:
Comments
Reactions
Organizations
Analytics
Media
Configuration
Config File Format
LinkedCtl stores configuration in YAML files. Each file represents a single profile:
Available keys:
Config files are written with 0600 permissions (owner read/write only).
File Location and Precedence
Without a profile, LinkedCtl searches for config files in this order:
.linkedctl.yamlin the current working directory~/.linkedctl.yamlin the home directory
The first file found is used. When writing (e.g. after auth login), LinkedCtl writes to the CWD file if it exists, otherwise to the home directory file.
Profiles
Profiles let you manage multiple LinkedIn accounts or configurations. Each profile is stored as a separate YAML file under ~/.linkedctl/:
Use the --profile flag with any command:
Manage profiles with the profile command:
Authentication Methods
OAuth 2.0 (Recommended)
LinkedCtl supports OAuth 2.0 with your own LinkedIn Developer App:
Direct Token
If you already have an access token from another application:
Environment Variables
Environment variables take precedence over config file values.
Profile-Prefixed Environment Variables
When using a named profile, LinkedCtl also reads profile-prefixed environment variables. The profile name is uppercased with hyphens converted to underscores:
The same pattern applies to CLIENT_ID, CLIENT_SECRET, and API_VERSION.
Precedence Order
Configuration values are resolved in this order (highest priority first):
- Environment variables (profile-prefixed if a profile is active)
- Config file (profile-specific file, or CWD/home fallback)
CLI Reference
Global Options
auth — Manage Authentication
auth login options:
auth token options:
post — Manage LinkedIn Posts
post create options:
post list options:
comment — Manage Comments
comment create options:
reaction — Manage Reactions
reaction create options:
org — Manage Organizations
media — Upload Media
All media commands accept --as-org <id> and --format json|table.
stats — View Analytics
Common options:
profile — Manage Configuration Profiles
profile create options:
whoami — Show Current User
completion — Shell Completions
Security
- Dependabot keeps dependencies up to date with automated pull requests
- CodeQL analysis runs on every push and pull request for automated vulnerability detection
- Path traversal validation on profile names prevents directory escape attacks
- Unified auth error handling across all MCP tools provides consistent authentication failure messages
- Destructive operations (delete post, delete comment, delete profile) require interactive confirmation unless
--forceis passed
Disclaimer
This is an independent project and is not affiliated with, endorsed by, or associated with LinkedIn Corporation. LinkedIn is a trademark of LinkedIn Corporation.
License
Using LinkedCtl as a CLI tool or MCP server: No license obligations — use freely.
Using @linkedctl/core as a library in your project: Your combined work must be licensed under AGPL-3.0 (or a compatible license).
来源:README.md,提交 d8622c0
工具
0版本历史
1- v0.5.0最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分