
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 分