Ngoprek LinkedIn MCP Server ternyata nggak sesimpel yang dibayangin. Beda sama integrasi database yang tinggal isi kredensial, LinkedIn wajib lewat OAuth resmi dan ada beberapa syarat administratif yang harus dipenuhi dulu.
Di tulisan ini gue bakal bahas lengkap cara setup LinkedIn MCP Server dari nol, mulai dari bikin Developer App, autentikasi OAuth, sampai troubleshooting error yang sempat muncul selama proses.
Kenapa LinkedIn Butuh Cara Khusus buat Diotomasi?
Banyak tool otomasi LinkedIn yang beredar pakai cara scraping atau automasi browser buat login. Cara ini emang kelihatan gampang, tapi risikonya besar. Akun bisa kena warning atau bahkan suspend kalau LinkedIn mendeteksi pola aktivitas yang nggak wajar.
Makanya, opsi yang lebih aman adalah pakai API resmi LinkedIn lewat protokol OAuth 2.0. Token akses yang dihasilkan punya masa berlaku terbatas dan bisa dicabut kapan saja, jadi risikonya jauh lebih kecil.
Apa Itu LinkedIn MCP Server?
LinkedIn MCP Server adalah MCP server yang menjembatani AI assistant kayak Claude dengan REST API resmi LinkedIn. Salah satu implementasi open source yang bisa dipakai adalah linkedin-mcp-server dari souravdasbiswas, yang mendukung create post, upload gambar, komentar, react, sampai bikin event, semuanya lewat API resmi tanpa scraping.
Server ini butuh dua kredensial dari LinkedIn Developer Portal: Client ID dan Client Secret. Keduanya baru bisa didapat setelah bikin LinkedIn App yang terhubung ke sebuah Company Page.
Bikin LinkedIn Developer App Dulu
LinkedIn mewajibkan setiap app terhubung ke Company Page, bukan profil personal biasa. Kalau belum punya, bikin dulu lewat halaman pembuatan LinkedIn Page, pilih tipe Company (bukan Showcase page, karena itu butuh page utama yang sudah ada).
Setelah Company Page jadi, lanjut ke LinkedIn Developer Portal dan klik Create app. Isi nama app, pilih Company Page yang baru dibuat, isi Privacy policy URL, dan upload logo. Klik Create app buat menyelesaikan proses ini.
Langkah terakhir, buka tab Products di app yang baru dibuat, lalu request access buat dua product ini: Sign In with LinkedIn using OpenID Connect dan Share on LinkedIn. Dua-duanya wajib aktif biar server bisa baca profil sekaligus bikin post.
Ambil Client ID dan Client Secret
Masih di halaman app yang sama, buka tab Auth. Di situ ada Client ID yang langsung kelihatan, dan Client Secret yang perlu diklik ikon mata dulu buat direveal.
Di section OAuth 2.0 settings, tambahin Authorized redirect URL. Kalau LinkedIn MCP Server dijalankan di VPS, isi dengan http://localhost:3000/callback, sesuaikan port dengan yang dipakai di kode servernya.
Install LinkedIn MCP Server di VPS
Clone repository-nya, install dependency, lalu build project-nya.
mkdir -p /opt/linkedin-mcp-server
cd /opt/linkedin-mcp-server
git clone https://github.com/souravdasbiswas/linkedin-mcp-server.git .
npm install
npm run build
Taruh folder project di /opt/, jangan di dalam folder home user biasa. Kalau mcpproxy jalan sebagai user service terpisah, dia bisa gagal mengakses file di folder home karena permission direktori yang ketat.
Setelah build selesai, tambahin entry ini ke array mcpServers pada config mcpproxy:
{
"name": "linkedin",
"protocol": "stdio",
"command": "node",
"args": ["/opt/linkedin-mcp-server/dist/index.js"],
"cwd": "/opt/linkedin-mcp-server",
"env": {
"LINKEDIN_CLIENT_ID": "client_id_kamu",
"LINKEDIN_CLIENT_SECRET": "client_secret_kamu"
},
"enabled": true,
"quarantined": false
}
Restart service mcpproxy setelah config disimpan, lalu cek log buat pastikan server berhasil connect tanpa error.
Setup SSH Tunnel buat Proses OAuth
Kalau server jalan headless di VPS, redirect localhost:3000/callback itu localhost-nya server, bukan komputer kamu. Browser di laptop nggak bisa langsung akses port itu.
Solusinya bikin SSH port forwarding dari laptop ke server. Kalau pakai OpenSSH, perintahnya kira-kira begini:
ssh -L 3000:localhost:3000 user@ip-vps-kamu
Kalau pakai client SSH berbasis GUI kayak Bitvise, fitur yang sama biasanya ada di tab C2S atau Port Forwarding, tinggal isi listen port dan destination port yang sama.
Login OAuth dan Ambil Token
Setelah tunnel aktif, minta AI assistant buat generate OAuth URL lewat tool auth start. Buka link itu di browser laptop, login LinkedIn, lalu klik Authorize.
Browser bakal redirect ke localhost:3000/callback?code=...&state=.... Copy seluruh URL dari address bar, meskipun halamannya kelihatan kosong atau error, itu wajar karena nggak ada server yang render halaman di situ.
Ambil parameter code dan state dari URL tadi, lalu selesaikan proses lewat tool auth callback. Kalau berhasil, token otomatis tersimpan dan valid sampai dua bulan ke depan sebelum perlu re-autentikasi.

Troubleshooting LinkedIn MCP Server yang Sering Muncul
Beberapa error yang mungkin bakal kamu temuin selama setup:
- Error MODULE_NOT_FOUND: biasanya karena project ditaruh di folder home user, bukan di
/opt/. Proses service gagal lewat direktori yang permission-nya ketat. Pindahkan project ke/opt/dan set ownership yang sesuai. - Config file balik ke permission 600 tiap restart: tambahin
ExecStartPostdi systemd override lewatsudo systemctl edit mcpproxybiar permission otomatis kebenerin tiap service start. - Redirect URL error saat authorize: pastikan URL yang didaftarkan di LinkedIn Developer Portal sama persis dengan yang dipakai di kode server, termasuk port dan trailing slash-nya.
- Modul posting kelihatan disabled meski scope sudah granted: ini biasanya soal cache capability detection. Restart service mcpproxy sekali lagi buat refresh modulnya.
Penutup
Dengan LinkedIn MCP Server yang sudah terhubung, Claude bisa langsung bikin post, upload gambar, sampai balas komentar di akun LinkedIn tanpa buka aplikasi manual.

























