Tag: nvidia-nim

  • Menulis Blog di WordPress dengan Claude Code

    Menulis Blog di WordPress dengan Claude Code

    Halo kembali lagi dengan Rafi. Kali ini saya ingin berbagi pengalaman yang cukup menarik tentang dua hal: WordPress MCP Abilities dan Claude Code dengan Nvidia NIM. Keduanya sebenarnya berbeda, namun saya mencoba menggabungkannya karena bisa menjadi solusi yang lengkap.

    Tulisan ini terinspirasi dari Mas Afatyo dan Mentor saya Pak Nugi di Excellent. Jadi, Mas Afatyo ini menulis di github tentang integrasi wordpress dengan claude code. Namun disini harus menggunakan claude code yang berbayar (pro plan). Namun, ternyata Pak Nugi punya solusi untuk mengakali hal ini (meskipun terasa ilegal) pada tulisan di artikelnya.

    Sebelumnya, saya sudah terbiasa menggunakan Claude versi web untuk kegiatan dan pekerjaan sehari-hari. Namun, untuk mencoba claude code memang memerlukan subscription dari Antrhopic.

    Latar Belakang

    Saya biasa menulis blog sehari-hari mengenai segala hal tentang IT dan untuk menulis biasanya dibantu dengan AI (ChatGPT atau Claude). Lalu dari inspirasi diatas saya bertanya, “Kenapa nulis blog masih harus pindah konteks ke browser lagi?” padahal urusan di terminal atau CLI sudah jadi kebiasaan. Idealnya, dari terminal yang sama saya pakai dan ngurus server, saya bisa bilang ke AI “bikin draft post tentang X, simpan di WordPress”, lalu tinggal review di dashboard admin wordpress.

    Komponennya sebenarnya sudah ada semua, hanya butuh dirangkai:

    • Claude Code — CLI agentic dari Anthropic yang bisa manggil tools via MCP (Model Context Protocol).
    • WordPress 6.8+ — yang sudah punya REST API dan, lewat plugin tertentu, bisa di-bridge ke MCP.
    • Sebuah plugin penghubung yang menerjemahkan “buat post” jadi panggilan REST API yang aman.

    Bahan-Bahan

    1. Tutorial Claude Code Gratis dari Pak Nugi

    Pak Nugi Abdiansyah menulis panduan lengkap berbahasa Indonesia: Cara Menjalankan Claude Code Gratis dengan NVIDIA NIM (Mac & Linux). Inti dari tutorial ini: pakai proyek open-source free-claude-code sebagai proxy lokal yang membuat Claude Code mengira sedang ngomong ke API Anthropic, padahal request-nya dialihkan ke NVIDIA NIM yang punya tier gratis sampai 40 request/menit.

    Saya tidak akan ulang langkah per langkahnya di sini — silakan baca langsung di artikel asli Pak Nugi karena penjelasannya sudah sangat lengkap, dari install uv, ambil API key NVIDIA, sampai bikin alias fcc-claude.

    2. Plugin wp-blog-abilities dari Mas Afatyo

    Plugin ini dibuat oleh Mas Afatyo dan source-nya ada di github.com/afatyoo/wp-blog-abilities. Fungsinya untuk mendaftarkan empat abilities untuk post WordPress:

    • blog/create-post
    • blog/update-post
    • blog/list-posts
    • blog/delete-post

    Secara otomatis ditemukan oleh WordPress MCP Adapter. Hasilnya, tool-tool ini bisa dipanggil oleh client MCP manapun, termasuk Claude Code.

    Bagusnya, semua akses tetap melalui autentikasi WordPress standar (Application Password + capability check), jadi tidak ada endpoint publik yang bocor.

    Catatan Penting

    Meskipun judulnya “Claude Code gratis”, namun artikel yang ditulis Pak Nugi yang jalan di balik layar itu bukan model Claude. Proxy free-claude-code meneruskan request ke model lain (default-nya stepfun-ai/step-3.5-flash, bisa juga Kimi, DeepSeek, dst) lalu membungkus respon-nya supaya terlihat seperti Claude.

    Implikasinya untuk percobaan ini:

    • Privasi: isi draft yang dibikin akan transit ke server NVIDIA NIM. Untuk blog publik tidak masalah, tapi kalau mau bikin draft yang sensitif (laporan internal, dll) perlu dipertimbangkan lagi.

    Kalau kalian tetap mau lanjut, berikut langkah-langkahnya.

    Langkah 1 — Setup Claude Code + NVIDIA NIM

    Ikuti tutorial dari blog Pak Nugi sampai selesai (langkah 1 sampai 6). Pastikan di akhir, Anda bisa menjalankan fcc-claude dan banner Claude Code muncul tanpa diminta login.

    Tweak kecil yang saya pakai berbeda dari tutorial:

    • Saya jalankan proxy-nya di dalam tmux sesuai saran “Pro Tip” Pak Nugi, jadi terminal utama tetap bersih.

    Tes cepat sebelum lanjut:

    fcc-claude
    # di prompt Claude Code, ketik:
    > apa yang bisa kamu lakukan?

    Output:

    Kalau jawabannya keluar lancar, fondasinya sudah siap.

    Langkah 2 — Install Plugin di WordPress

    Ada dua plugin yang harus saya install (sesuai instruksi di README afatyo):

    1. mcp-adapter — bridge resmi dari WordPress.org yang mengubah ability jadi MCP server.
    2. wp-blog-abilities — plugin afatyo yang mendaftarkan abilities khusus untuk blog post.

    Karena saya pegang akses SSH ke VPS WordPress, saya pilih jalur git clone:

    cd /var/www/html/wp-content/plugins
    sudo -u www-data git clone https://github.com/WordPress/mcp-adapter.git
    sudo -u www-data git clone https://github.com/afatyoo/wp-blog-abilities.git

    Lalu ke WP Admin → Plugins, aktifkan keduanya. Penting: aktifkan mcp-adapter dulu, baru wp-blog-abilities, supaya hook registrasi ability tidak gagal.

    Buat yang nggak punya akses SSH, Mas Afatyo juga sudah menyediakan ZIP yang bisa di-upload via Plugins → Add New → Upload Plugin.

    Langkah 3 — Application Password

    WordPress butuh kredensial khusus untuk dipakai aplikasi luar. Jangan pakai password login Anda — itu bahaya dan juga tidak akan jalan.

    1. Buka WP Admin → Users → Profile.
    2. Scroll ke bagian Application Passwords.
    3. Isi nama (saya pakai Claude MCP via NIM) dan klik Add New Application Password.
    4. Salin password yang muncul — formatnya xxxx xxxx xxxx xxxx xxxx xxxx dengan spasi. Password ini hanya tampil sekali.

    Simpan di password manager karena kalau hilang harus generate ulang.

    Langkah 4 — Konfigurasi .mcp.json

    Di laptop saya, saya buat file .mcp.json sesuai template di README afatyo:

    {
      "mcpServers": {
        "wordpress-blog": {
          "command": "npx",
          "args": ["-y", "@automattic/mcp-wordpress-remote@latest"],
          "env": {
            "WP_API_URL": "https://domain-blog-anda.com/wp-json/mcp/mcp-adapter-default-server",
            "WP_API_USERNAME": "username-kalian",
            "WP_API_PASSWORD": "xxxx xxxx xxxx xxxx xxxx xxxx"
          }
        }
      }
    }

    Ganti tiga baris di dalam env dengan nilai milik Anda sendiri. Spasi pada WP_API_PASSWORD tidak perlu dihapus, biarkan apa adanya seperti yang WordPress kasih.

    Langkah 5 — Restart Claude Code

    Bagian ini saya sempat trouble. /exit di Claude Code tidak cukup, perubahan .mcp.json hanya ke-detect kalau prosesnya dimatikan (kill) lalu start lagi. Di terminal saya:

    # keluar dulu dari sesi sebelumnya
    # pastikan tidak ada proses claude yang nyangkut:
    pgrep -a claude
    
    # kalau ada, kill
    pkill -f "claude"
    
    # baru jalankan ulang
    fcc-claude

    Setelah Claude Code jalan lagi, saya tes konektivitas MCP:

    > List all published posts on my blog

    Output:

    Dan voila — daftar published post saya muncul, lengkap dengan ID, judul, dan tanggal modifikasi.

    Langkah 6 — Buat Blog

    Blog ini ditulis dengan AI, namun saya sendiri yang mengedit dan mereview, jadi mohon maaf kalau ada kesalahan atau kata-kata yang kaku.

    Membuat blog dari dua sumber:

    Kalian juga bisa minta AI untuk mengedit tulisan sesuai dengan yang kalian mau:

    Catatan Setelah Pemakaian

    Supaya post ini tidak cuma jadi hype, ini hal-hal yang saya rasakan setelah beberapa hari:

    Yang jalan dengan baik:

    • List, create, update, delete post — semuanya solid. Application Password jalan, capability check WordPress jalan, tidak ada endpoint yang nyeleneh.
    • Workflow AI buat draft post → Review dan Publish Mandiri sangat cocok dengan setup ini. Jangan biarkan AI langsung publish.

    Perlu diakali:

    • Karena modelnya bukan Claude beneran, saya merasakan output yang kadang kaku atau struktur paragrafnya kurang natural. Cantumkan di /memory agar AI agent paham output yang diinginkan.
    • Limit 40 request/menit dari NVIDIA NIM aman buat satu sesi penulisan, tapi kalau dipakai eksplorasi panjang (banyak tool call baca-tulis post), bisa kena rate limit.
    • Untuk post yang SEO-optimized dengan struktur heading kompleks, perlu dilakukan review mandiri.

    Penutup & Kredit

    Eksperimen ini sebenarnya hanya nyambungin dua kerjaan orang lain dengan kabel pendek. Tanpa dua artikel/proyek di bawah ini, saya tidak akan bisa mencobanya. Terima kasih kepada:

    • 🙏 Pak Nugi (nugi.biz) — untuk panduan lengkap setup Claude Code gratis pakai NVIDIA NIM. Tutorialnya rapi, ada troubleshooting, dan langsung saya pakai tanpa perlu nyari ke sumber lain.
    • 🙏 Mas Afatyo (github.com/afatyoo) — untuk plugin wp-blog-abilities yang membungkus operasi blog jadi MCP abilities yang bersih dan aman. Permission callback-nya ketat, sanitasi input lengkap, dan README-nya termasuk dokumentasi yang rapi.
    • 🙏WordPress –  MCP Adapter  — untuk plugin MCP Adapter

    Kalau Anda merasa terbantu seperti saya, bisa mampir ke blog Pak Nugi dan bintangi repo Mas Afatyo di GitHub, kontribusi seperti ini yang membuat dunia per-IT-an menjadi lebih hidup.

    Selamat ngeblog dari terminal!


    Disclaimer percobaan: Saya jalankan setup ini hanya di lingkungan pribadi untuk eksperimen. Untuk pemakaian produksi atau yang melibatkan data sensitif, pertimbangkan pakai API Anthropic resmi (atau LLM lain yang Anda host sendiri) supaya privasi data dan kualitas output bisa dikontrol penuh.

    Tulisan ini dibuat oleh AI