QA MCP DOCUMENTATION   Panduan konfigurasi aplikasi AI & koneksi OneDrive.   ← Kembali ke Beranda
Codex Claude Connectors Claude Desktop · Lokal Claude Code Cursor Antigravity Uji Koneksi Workflow Excel cPanel

Codex

~/.codex/config.toml

Tambahkan tabel berikut ke konfigurasi Codex. Perbarui entri qa jika sudah ada.

[mcp_servers.qa]
url = "https://mcp.duniakuaja.my.id/mcp"
http_headers = { Authorization = "Bearer GANTI_DENGAN_MCP_API_KEY_LENGKAP" }

Simpan lalu restart server MCP atau Codex. Jika tools belum muncul, buka percakapan baru. Alternatif: ganti http_headers dengan bearer_token_env_var = "QA_MCP_API_KEY"; variabel harus tersedia bagi proses Codex di komputer pengguna, berisi key tanpa awalan Bearer.

Referensi konfigurasi Codex ↗

Claude Settings → Connectors

Konektor remote · Request headers

Buka Settings / Customize → Connectors → Add custom connector. Untuk Team / Enterprise, pengelola yang berwenang menambahkan konektor dari Organization settings → Connectors.

  1. Isi nama QA MCP dan Remote MCP server URL di bawah, lalu klik Continue jika ditampilkan.
  2. Pilih No sign in pada Authentication. Server tetap memerlukan API key melalui header; kolom OAuth client ID dan client secret tidak diperlukan.
  3. Buka Request headers, pilih nama standar authorization, tandai Required, lalu masukkan nilai Bearer + key lengkap dari dashboard. Jangan memasukkan Authorization: ke kolom nilai.
  4. Klik Add. Di percakapan, buka + → Connectors dan aktifkan QA MCP.

Remote MCP server URL:

https://mcp.duniakuaja.my.id/mcp

Nilai header authorization:

Bearer GANTI_DENGAN_MCP_API_KEY_LENGKAP

Key lengkap hanya ditampilkan satu kali saat dibuat. Gunakan key yang disimpan sebelumnya atau buat key baru; prefix bertitik tidak dapat dipakai. Untuk uji awal, gunakan scope files.read,excel.read,qa.read; tambahkan scope tulis sesuai kebutuhan.

Akses organisasi: header tetap digunakan bersama oleh anggota yang memakai konektor. Semua panggilan memakai akses OneDrive pemilik key, bukan otomatis akun pribadi tiap anggota. OAuth per pengguna untuk konektor Claude belum tersedia.

Uji dengan meminta onedrive_list dari konektor QA MCP. Pastikan pemanggilan tool dan hasil OneDrive terlihat. Jika token Microsoft perlu login ulang, perbaiki koneksi Microsoft di dashboard QA MCP. Tidak perlu Node.js, npx, atau konfigurasi Developer untuk jalur ini.

Diagnosis: 401 berarti periksa header dan key lengkap; 403 berarti periksa status, masa berlaku, serta scope key. Jika Request headers tidak tersedia, periksa opsi dan hak pengelola Claude. Jangan menaruh key di URL. Koneksi berasal dari infrastruktur Claude; WAF atau proxy dapat menolaknya sebelum log tool tercatat.

Untuk mengganti header autentikasi, hapus lalu tambahkan ulang konektor dengan nilai baru. Cabut key lama di dashboard; menghapus konektor saja tidak mencabut key.

Panduan mengikuti dokumentasi Claude dan kontrak autentikasi QA MCP. Keberhasilan pemasangan di akun Claude tertentu serta akses Microsoft nyata tetap perlu diuji setelah deployment.

Referensi konektor dan Request headers Claude ↗

Claude Desktop · Penghubung Lokal

Untuk konektor langsung di menu Connectors, gunakan panduan Claude Connectors. Pilihan di bawah menjalankan penghubung lokal melalui menu Developer.

claude_desktop_config.json

Buka Settings → Developer → Edit Config. Gabungkan entri qa ke mcpServers yang sudah ada. Install Node.js dan npm pada komputer pengguna agar npx tersedia. Penghubung pihak ketiga mcp-remote dijalankan secara lokal untuk mengakses server domain.

{
  "mcpServers": {
    "qa": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.duniakuaja.my.id/mcp",
        "--transport",
        "http-only",
        "--header",
        "Authorization:${QA_AUTH_HEADER}"
      ],
      "env": {
        "QA_AUTH_HEADER": "Bearer GANTI_DENGAN_MCP_API_KEY_LENGKAP"
      }
    }
  }
}

Tutup sepenuhnya Claude Desktop lalu buka lagi dan periksa tools qa. Jika npx tidak ditemukan, gunakan path absolut npx di komputer tersebut. Penggunaan pertama mengunduh paket mcp-remote. Ini bukan menjalankan aplikasi lokal qa-excel-mcp.

Referensi konfigurasi mcp-remote ↗

Claude Code / VS Code

.mcp.json di root proyek VS Code

Dua ekstensi dalam settings.json

Buka Preferences: Open User Settings (JSON). Gabungkan pengaturan Jira Agent Bridge dan Claude dalam satu objek, dipisahkan koma. Jangan menimpa pengaturan lain atau menempel dua objek JSON berdampingan.

{
  "claudeCode.preferredLocation": "panel",
  "jiraAgent.jiraUrl": "https://your-team.atlassian.net"
}

Ganti domain dengan Jira tim kamu. Jika jira-plugin.baseUrl, jira-plugin.username, atau atlascode.bitbucket.enabled sudah dipakai, pertahankan properti itu dalam objek yang sama; properti tersebut milik ekstensi lain. Login Jira tetap dikelola oleh ekstensi Jira.

proyek-yang-dibuka/
  .vscode/
    settings.json   # opsional bila sudah memakai User Settings
  .mcp.json         # konfigurasi qa di bawah

User Settings berada di konfigurasi pengguna VS Code. Tidak perlu menggandakan pengaturan ke workspace. Letakkan .mcp.json di proyek tempat Claude bekerja, bukan otomatis di repo server QA MCP.

Untuk ekstensi resmi Claude Code dari Anthropic, gabungkan entri qa ke file berikut. Jangan gunakan claude-code.mcpServers di settings.json atau .vscode/mcp.json. Pengaturan Jira tetap di settings.json.

{
  "mcpServers": {
    "qa": {
      "type": "http",
      "url": "https://mcp.duniakuaja.my.id/mcp",
      "headers": {
        "Authorization": "Bearer GANTI_DENGAN_MCP_API_KEY_LENGKAP"
      }
    }
  }
}

Ganti placeholder dengan key lengkap, pertahankan server lain, dan jangan commit file berisi key. URL harus berupa teks biasa, bukan tautan Markdown. JSON tidak mendukung escape backslash sebelum @ atau underscore.

Alternatif: CLI dengan scope user

claude mcp add --transport http --scope user --header "Authorization: Bearer GANTI_DENGAN_MCP_API_KEY_LENGKAP" qa https://mcp.duniakuaja.my.id/mcp

Pilih salah satu cara. Cek claude mcp list sebelum menambahkan qa yang sudah ada. Jika perintah claude tidak ditemukan, gunakan .mcp.json atau install CLI standalone. Konfigurasi harus berada di lingkungan tempat Claude berjalan, termasuk WSL, SSH, atau dev container.

  1. Hapus hanya blok claude-code.mcpServers yang keliru dari settings.json, lalu gunakan salah satu konfigurasi di atas.
  2. Jalankan Developer: Reload Window, buka sesi Claude baru, dan setujui server proyek jika diminta.
  3. Periksa status qa melalui menu MCP atau perintah /mcp.
  4. Instruksi pengujian: “Gunakan onedrive_list dari MCP qa, bukan konektor Microsoft 365 Claude.ai. Jika tool tidak tersedia, laporkan itu.”

Jika qa tidak muncul: periksa lokasi konfigurasi dan persetujuan server. Jika error 401: periksa API key lengkap. Jika tool qa melaporkan Microsoft belum terhubung, login Microsoft melalui dashboard QA MCP.

Login Claude di panel ekstensi terlebih dahulu. Bukti berhasil: server qa terhubung, pemanggilan onedrive_list dari qa terlihat, dan hasil daftar OneDrive diterima. Jawaban teks tanpa pemanggilan tool bukan bukti. Periksa juga akses Jira melalui ekstensi yang sudah digunakan.

Catatan Autentikasi: Pesan Microsoft 365 not authenticated dari konektor Claude.ai bukan bukti autentikasi QA MCP gagal. API key menghubungkan klien ke QA MCP; OAuth Microsoft menghubungkan QA MCP ke OneDrive. Cabut key yang pernah dibagikan dan gunakan key baru dari dashboard.
Referensi MCP Anthropic ↗ · Referensi ekstensi VS Code ↗

Cursor

~/.cursor/mcp.json atau .cursor/mcp.json

Gunakan konfigurasi global atau proyek, lalu gabungkan qa ke mcpServers. Jangan commit file berisi key.

{
  "mcpServers": {
    "qa": {
      "url": "https://mcp.duniakuaja.my.id/mcp",
      "headers": {
        "Authorization": "Bearer GANTI_DENGAN_MCP_API_KEY_LENGKAP"
      }
    }
  }
}

Simpan lalu refresh/aktifkan server qa di pengaturan MCP Cursor. Gunakan Agent untuk memanggil tools. URL ini adalah Streamable HTTP; jangan mengubahnya menjadi endpoint legacy SSE.

Referensi konfigurasi Cursor ↗

Antigravity

mcp_config.json melalui View raw config

Di panel Agent, buka menu … → MCP Servers → Manage MCP Servers → View raw config. Gabungkan entri qa. Gunakan file yang dibuka aplikasi agar sesuai versi instalasi.

{
  "mcpServers": {
    "qa": {
      "serverUrl": "https://mcp.duniakuaja.my.id/mcp",
      "headers": {
        "Authorization": "Bearer GANTI_DENGAN_MCP_API_KEY_LENGKAP"
      }
    }
  }
}

Simpan dan refresh server MCP. Dokumentasi Google mencantumkan ~/.gemini/config/mcp_config.json untuk global dan .agents/mcp_config.json untuk proyek. Gunakan serverUrl agar sesuai format resmi Antigravity.

Referensi konfigurasi Antigravity ↗

Uji koneksi tanpa mengubah file

  1. Login Microsoft pada dashboard dan buat key dengan scope files.read, excel.read, qa.read.
  2. Simpan konfigurasi aplikasi pilihan, lalu refresh/restart server MCP.
  3. Minta ke AI: “Gunakan MCP qa untuk menampilkan isi root OneDrive saya.”
  4. Cari workbook memakai onedrive_search dan pilih file ID yang benar.
  5. Tampilkan worksheet dengan excel_get_worksheets.
  6. Baca rentang A1:F10 dengan excel_read_range, menyertakan fileId dan nama worksheet persis.

401: periksa key lengkap. 403: periksa status dan scope key. Tools belum muncul: periksa status MCP dan buka sesi baru setelah restart. Data sel nyata yang tampil membuktikan uji baca berhasil.

Ketahanan Live: Seluruh fitur QA, Excel, dan Word saat ini telah diuji dan bug sinkronisasi operasi tulis, throttling, serta race condition telah diperbaiki sepenuhnya dengan arsitektur self-healing dan rate limiter terpadu.

Workflow Excel untuk AI Agent

Perapihan satu panggilan: Gunakan excel_layout_table. Mode bawaan preserve hanya menerapkan opsi eksplisit; pilih auto untuk estimasi lebar berdasarkan isi dan autofit tinggi. Ukuran kolom pilihan pengguna didahulukan. Contoh tabel baru:

{
  "worksheet": "Sheet1",
  "range": "A1:F101",
  "mode": "auto",
  "columns": [
    {"column": "A", "width": 100},
    {"column": "D", "width": 300, "wrapText": true}
  ]
}

Gunakan fileId bila workbook belum dipilih. autofitRows=false mempertahankan tinggi; rowHeight memberi tinggi eksplisit dan tidak boleh digabung dengan autofitRows=true. Maksimal 50 kolom per panggilan. Lebar memakai satuan columnWidth Microsoft Graph. Hasil melaporkan properti kolom dan sampel tinggi baris yang dibaca ulang, bukan pemeriksaan tampilan Excel. Perubahan ukuran berdampak pada seluruh kolom/baris, dan tidak bersifat atomik.

Server mengirim petunjuk kerja melalui respons inisialisasi MCP. Hubungkan ulang klien setelah pembaruan agar petunjuk dan deskripsi tool terbaru tersedia. Pelaksanaan panduan tetap bergantung pada klien AI.

  1. Kenali target: Pastikan workbook dan nama worksheet benar. Baca sel sebelum mengedit; gunakan hasHeaders=false untuk matriks lengkap tanpa mengambil baris pertama sebagai header.
  2. Tulis berurutan: Hindari mutasi paralel pada workbook yang sama. Gunakan range persegi panjang yang bersebelahan dan matriks sesuai ukurannya. Untuk data besar, mulai dengan batch kecil, lalu sesuaikan berdasarkan durasi aktual, ukuran isi sel, dan kompleksitas workbook. Tidak ada jumlah baris tetap atau durasi selesai yang dijamin.
  3. Verifikasi sebelum melanjutkan: Jika timeout atau verifikasi gagal, baca target dengan forceRefresh=true. Penulisan mungkin sudah tersimpan. Cocokkan keadaan aktual sebelum mengulang, terutama append dan insert yang dapat menggandakan data.
  4. Gabungkan styling: Format yang sama diterapkan ke range sekaligus. Gunakan excel_bulk_style untuk beberapa operasi; server memecahnya menjadi batch Graph maksimal 20 subrequest. Tidak perlu tepat 40–50 operasi. Path yang memiliki range(...) memilih target sendiri; parameter range tingkat atas hanya menjadi default bagi path relatif. Batch tidak atomik: sebagian operasi bisa berhasil sebelum error.
  5. Rapikan tabel baru: Setelah membuat tabel atau mengganti banyak data, periksa header dan contoh isi untuk menentukan lebar per jenis kolom. ID/status/angka lebih sempit, judul sedang, dan deskripsi lebih lebar dengan batas yang wajar. Ikuti ukuran yang diminta pengguna. Untuk edit kecil, pertahankan layout yang ada kecuali diminta mengubahnya.
  6. Urutan layout: Atur lebar lewat excel_set_row_col_size, aktifkan wrapText=true dan alignment vertikal Top untuk teks panjang, lalu jalankan excel_autofit_rows. Gunakan autofit kolom hanya pada kolom berisi teks pendek; jangan menimpa lebar deskripsi yang sudah dibatasi. Pengaturan ukuran berlaku pada seluruh kolom/baris, termasuk sel di luar range pilihan.
  7. Periksa hasil layout: Gunakan excel_get_range_format pada sel perwakilan untuk membaca lebar, tinggi, dan wrap text. Range dengan format campuran bisa menghasilkan nilai null; periksa sel satu per satu. Pertahankan merged cells dan periksa tinggi barisnya karena autofit dapat terbatas. Verifikasi properti berbeda dari pemeriksaan tampilan langsung di Excel.
  8. Staging sesuai kebutuhan: Worksheet sementara dalam workbook yang sama tidak menjamin bebas lock. Copy atau rename bukan penggantian atomik; periksa referensi formula, tabel, dan dependensi sebelum mengganti isi produksi.
  9. Bedakan teks dan tanggal: Untuk ID atau teks mirip tanggal, format target sebagai Text (@) sebelum menulis string. Untuk tanggal asli, gunakan input tidak ambigu dan format tanggal; hasil baca dapat berupa serial Excel. Jangan menambahkan apostrof ke semua nilai. null mempertahankan sel; string kosong mengosongkan nilainya.
  10. Tangani jaringan berdasarkan respons: Pada throttling, utamakan Retry-After, kemudian backoff terbatas bila header tidak tersedia. Server sudah memiliki retry tertentu; hindari pengulangan tanpa batas dari agent. Periksa token, izin, dan respons proxy untuk error akses. Custom User-Agent tidak menjamin lolos WAF, dan timeout hosting harus diukur.

Transport server menggunakan MCP Streamable HTTP yang mendukung SSE. Untuk request JSON, gunakan Content-Type: application/json, Accept: application/json, text/event-stream, dan autentikasi Bearer sesuai konfigurasi klien.

cPanel dan login Microsoft

Gunakan Value client secret, bukan Secret ID. Pada kolom Value cPanel, isi tanpa tanda kutip atau awalan NAMA=. Variabel cPanel mengalahkan file .env lokal; hindari duplikasi dan restart aplikasi sesudah perubahan.

Untuk memperbarui dashboard, jalankan build (npm run build) dan unggah folder dist/ hasilnya sebelum restart. Pertahankan database lokal (qa_platform.db) dan variabel ENCRYPTION_KEY hosting.

Aplikasi Excel lokal

Folder qa-excel-mcp merupakan aplikasi terpisah. Panduan lokalnya berada di qa-excel-mcp/README.md dan qa-excel-mcp/panduan.html. Contoh remote di halaman ini menggunakan domain cloud, bukan proses aplikasi lokal tersebut.