Hubungkan Oprex ke asisten AI Anda
Server Model Context Protocol (MCP) untuk Oprex ALM/SDLC. Beri Claude, ChatGPT, Gemini, atau IDE Anda akses langsung ke projects, issues, requirements, milestones, releases, tests, dan pipelines β untuk membaca maupun mengelola, cukup dengan satu API key.
Apa itu Oprex MCP?
MCP adalah standar terbuka yang membuat model AI bisa memanggil "tools" pada layanan eksternal. Oprex MCP mengekspos data SDLC Anda sebagai tools, sehingga asisten AI dapat menjawab pertanyaan seperti "isu open severity tinggi ada berapa?" atau menjalankan aksi seperti "buatkan requirement baru" β langsung di dalam workspace Oprex Anda, terikat pada tenant dan izin Anda.
Endpoint: POST https://api.oprex.id/mcp β JSON-RPC 2.0 (Streamable HTTP, stateless). Autentikasi: OAuth 2.1 (tanpa API key) atau header Authorization: Bearer oprex_pk_β¦.
Alamat lama https://oprex.id/mcp tetap berfungsi identik β tidak perlu mengubah konfigurasi yang sudah jalan.
Yang bisa dilakukan
- Telusuri projects & groups, resolve path seperti
indohrm/enterprise - Baca & filter issues, requirements, milestones, releases, specs, tickets, tests, pipelines
- Buat & ubah issue (bug) dan requirement
- Lihat coverage matrix (traceability requirementβtest)
Aksi tulis butuh API key ber-scope write scope.
Versi & rilis
v1.3.0 Β· saat ini
- OAuth 2.1 β hubungkan Claude.ai/ChatGPT tanpa API key sama sekali (Dynamic Client Registration + PKCE)
- Halaman Aplikasi Terhubung di Pengaturan untuk melihat & mencabut izin
v1.2.0
- Notes & Memory:
list_notes,create_note,list_memories,get_memory,create_memory,update_memoryβ simpan/baca ringkasan sesi vibe-coding lintas-agent (Claude, Gemini, dll.) - Tickets:
create_ticket,update_ticket(sebelumnya list-only) update_requirement(sebelumnya create-only)- Comments:
add_comment,list_commentsβ diskusi di artifact apa pun trigger_autopilotβ minta AI auto-repair langsung dari bug id (staf Kinexa)
v1.1.0
- +6 tools:
get_project,list_tickets,list_test_cases,list_pipelines,list_release_plans,coverage_matrix - Halaman dokumentasi multi-klien (dual EN/ID)
v1.0.0
- Rilis awal: 12 tools (projects, groups, resolve, issues CRUD, requirements, milestones, releases, specs)
- Streamable HTTP + auth API key
Autentikasi: OAuth atau API key
Ada dua cara menghubungkan klien, pilih sesuai kebutuhan:
- OAuth 2.1 β untuk aplikasi AI yang dipakai orang (Claude.ai, ChatGPT, Gemini). Tidak perlu menempel key sama sekali: klien mendaftar sendiri lewat Dynamic Client Registration, Anda login via SSO Kinexa, lalu menyetujui di layar persetujuan Oprex. Token akses berlaku 1 jam, refresh 30 hari dengan rotasi.
- API key β untuk CI/CD, skrip, dan klien berbasis file konfigurasi (Claude Code, Cursor, VS Code, Gemini CLI). Milik tenant, berlaku sampai dicabut.
Endpoint OAuth (untuk yang ingin memeriksa sendiri): /.well-known/oauth-authorization-server, /.well-known/oauth-protected-resource, /oauth/register, /oauth/authorize, /oauth/token, /oauth/revoke.
1. Buat API key
Buka member.oprex.id/panel/settings/api-keys β buat key. Pilih scope read (aman, hanya baca) atau write. Salin key oprex_pk_β¦ β hanya ditampilkan sekali.
Claude Code (CLI)
Jalankan perintah ini di terminal:
claude mcp add --transport http oprex https://api.oprex.id/mcp \
--header "Authorization: Bearer oprex_pk_XXXXXXXX"Claude Desktop
Settings β Developer β Edit Config, lalu tambahkan (memakai bridge mcp-remote untuk jembatan ke server remote):
{
"mcpServers": {
"oprex": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://api.oprex.id/mcp",
"--header", "Authorization: Bearer oprex_pk_XXXXXXXX"]
}
}
}Claude.ai (web) β Settings β Connectors
Buka Settings β Connectors β Add custom connector, isi Nama (mis. "Oprex") dan URL server MCP jarak jauh https://api.oprex.id/mcp.
Kosongkan saja OAuth Client ID/Secret β Oprex mendukung Dynamic Client Registration, jadi Claude mendaftar sendiri. Setelah disimpan, Claude akan mengarahkan Anda ke halaman login Kinexa lalu ke layar persetujuan Oprex; klik Izinkan dan connector langsung aktif.
Tidak perlu API key sama sekali untuk jalur ini. Izin yang sudah diberikan bisa dilihat dan dicabut kapan saja di Pengaturan β Aplikasi Terhubung di member.oprex.id.
Cursor
Buat ~/.cursor/mcp.json (global) atau .cursor/mcp.json (per-project):
{
"mcpServers": {
"oprex": {
"url": "https://api.oprex.id/mcp",
"headers": { "Authorization": "Bearer oprex_pk_XXXXXXXX" }
}
}
}VS Code (GitHub Copilot)
Buat .vscode/mcp.json di workspace Anda:
{
"servers": {
"oprex": {
"type": "http",
"url": "https://api.oprex.id/mcp",
"headers": { "Authorization": "Bearer oprex_pk_XXXXXXXX" }
}
}
}
Ekstensi Cline / Continue juga mendukung MCP β tambahkan URL & header yang sama di setelan MCP-nya.
Google Gemini CLI
Edit ~/.gemini/settings.json:
{
"mcpServers": {
"oprex": {
"httpUrl": "https://api.oprex.id/mcp",
"headers": { "Authorization": "Bearer oprex_pk_XXXXXXXX" }
}
}
}ChatGPT
ChatGPT mendukung MCP lewat Developer Mode / Custom Connectors (Plus/Pro/Enterprise). Masukkan URL https://api.oprex.id/mcp.
UI connector ChatGPT mengutamakan OAuth ketimbang header API-key statis β dan itu justru sudah didukung Oprex sekarang: masukkan URL-nya saja, biarkan field OAuth kosong, lalu setujui di layar persetujuan Oprex.
Catatan jujur: kami sudah menguji alur OAuth Oprex end-to-end (registrasi, persetujuan, token, refresh, pencabutan), tapi belum menguji langsung lewat UI ChatGPT. Bila ada kendala, jalur API-key via Agents/Responses API tetap tersedia.
Ollama
Ollama menjalankan model lokal tapi bukan klien MCP sendiri. Pakai aplikasi yang mendukung MCP dengan model Ollama Anda β mis. Cline atau Continue di VS Code (arahkan ke model Ollama), atau LibreChat β lalu tambahkan Oprex sebagai server MCP di aplikasi itu (URL & header sama seperti di atas).
Untuk klien berbasis stdio, gunakan bridge:
npx -y mcp-remote https://api.oprex.id/mcp \
--header "Authorization: Bearer oprex_pk_XXXXXXXX"Antigravity
Buka Settings β MCP β Add server, pilih tipe HTTP, isi URL https://api.oprex.id/mcp dan header Authorization: Bearer oprex_pk_β¦. Jika hanya mendukung stdio, pakai konfigurasi bridge mcp-remote seperti pada Claude Desktop.
Xcode
Xcode belum punya klien MCP bawaan. Cara termudah: jalankan agen coding (mis. Claude Code di Terminal, atau Cursor) di folder project Xcode Anda β agen itu bisa membaca kode Anda sekaligus memakai Oprex MCP untuk mengelola issue/requirement. Ikuti bagian Claude Code atau Cursor di atas.
Klien MCP lain / bridge universal
Klien MCP apa pun yang mendukung Streamable HTTP: pakai URL + header di atas. Untuk klien yang hanya mendukung stdio, jembatani dengan mcp-remote:
npx -y mcp-remote https://api.oprex.id/mcp \
--header "Authorization: Bearer oprex_pk_XXXXXXXX"Daftar tools
| Tool | Scope | Deskripsi |
|---|---|---|
oprex_list_projects | read | List all projects in your Oprex tenant (GitLab-style). Returns id, name, slug, groupId, visibility. |
oprex_list_groups | read | List all groups (namespaces) in your Oprex tenant. Returns id, name, path. |
oprex_resolve_project | read | Resolve a GitLab-style path <group>/<project> to its group + project records. Use to turn a human path like 'indohrm/enterprise' into ids. |
oprex_list_issues | read | List issues (bugs) β optionally scoped to a project and filtered by status/severity/text. |
oprex_get_issue | read | Get a single issue (bug) by id, with full detail. |
oprex_create_issue | write | Create a new issue (bug). |
oprex_update_issue | write | Update an issue (bug): status, severity, title, description, or which project it belongs to. |
oprex_list_requirements | read | List requirements β optionally scoped to a project and filtered by status/type/text. |
oprex_create_requirement | write | Create a new requirement. |
oprex_list_milestones | read | List milestones β optionally scoped to a project and filtered by status. |
oprex_list_releases | read | List releases (Staging β RC β Stable) β optionally scoped to a project. |
oprex_list_specifications | read | List specifications (technical designs) β optionally scoped to a project. |
oprex_get_project | read | Get a single project by id, with full detail (visibility, group, git repo, type). |
oprex_list_tickets | read | List support/helpdesk tickets β optionally scoped to a project and filtered by status/text. |
oprex_list_test_cases | read | List test cases (TestLink-style scenarios) β optionally scoped to a project. |
oprex_list_pipelines | read | List CI/CD pipelines and their runs β optionally scoped to a project. |
oprex_list_release_plans | read | List release plans (roadmap of planned releases) β optionally scoped to a project. |
oprex_coverage_matrix | read | Get the requirementβtest coverage matrix for a project (traceability). |
oprex_list_notes | read | List Notes (short sticky notes) β optionally scoped to a project, filtered by tag/pinned/text. Standalone notes have no sourceType attached. |
oprex_create_note | write | Create a standalone Note (short sticky note, max ~20k chars). |
oprex_list_memories | read | List Memory documents (long-form markdown imported from AI vibe-coding sessions, e.g. Claude Code). scope='personal' is private to the caller; scope='project' is shared with the project team. |
oprex_get_memory | read | Get a single Memory document by id, including its full markdown body. |
oprex_create_memory | write | Create a Memory document β save a markdown file/summary from a vibe-coding session (Claude Code etc.) into Oprex so a team can read/discuss it. scope='project' requires projectId. |
oprex_create_ticket | write | Create a support/helpdesk ticket. |
oprex_update_ticket | write | Update a ticket: status, priority, severity, subject, body, or assignee. |
oprex_update_requirement | write | Update a requirement: status, title, description, acceptance criteria, type, or priority. |
oprex_add_comment | write | Add a comment to any Oprex artifact (bug, ticket, requirement, test_case, test_plan, test_run, milestone, release, pipeline, project, or specification) β the thread every artifact detail page shows. |
oprex_list_comments | read | List the comment thread on any Oprex artifact. |
oprex_trigger_autopilot | write | Manually trigger Autopilot (AI auto-repair) on a bug: diagnoses the root cause, drafts a fix, opens a PR for human review. NOTE: restricted to Kinexa staff accounts β a tenant/customer API key will get a 403 here even if it works for other tools. |
oprex_update_memory | write | Update an existing Memory document β append/replace its body, title, or tags (e.g. keep a running session log). |
Keamanan & scope
- Setiap panggilan terikat ke tenant pemilik API key β tak ada akses lintas-tenant.
- Scope:
read(hanya baca),write(buat/ubah). Beri key seminimal mungkin. - Cabut key kapan saja di panel bila bocor.
- Perlakukan key seperti password β jangan commit ke repo publik.
- Untuk OAuth: izin bersifat per-pengguna (anggota tenant lain tidak bisa melihat atau mencabut izin Anda), PKCE S256 wajib, refresh token dirotasi setiap kali dipakai, dan mencabut aplikasi di Pengaturan β Aplikasi Terhubung langsung mematikan seluruh token-nya termasuk refresh token lama.
Masuk direktori connector resmi (Claude/ChatGPT/Gemini)
Ini status jujur, bukan janji β kami belum pernah mengajukan Oprex ke direktori resmi mana pun, jadi ini panduan berdasarkan syarat yang diketahui publik, bukan pengalaman langsung.
- Kepatuhan protokol β sudah terpenuhi: MCP 2025-06-18, Streamable HTTP, tools/list + tools/call standar.
- OAuth 2.1 β sudah terpenuhi sejak 3 Agustus 2026. Oprex kini menjadi authorization server-nya sendiri: metadata discovery (RFC 8414 & 9728), Dynamic Client Registration (RFC 7591), authorization code + PKCE S256 wajib, refresh token dengan rotasi, dan revocation (RFC 7009). Login tetap lewat SSO Kinexa yang ada β Oprex hanya menambah lapisan persetujuan di atasnya.
- Kebijakan & keamanan β penyedia direktori biasanya mensyaratkan kebijakan privasi publik, deskripsi data yang diakses, dan proses review keamanan/pengajuan resmi (form/proses submission ada di dokumentasi developer masing-masing platform β Anthropic, OpenAI, Google β cek langsung di sana untuk syarat & langkah terbaru, karena ini bisa berubah dan kami tidak ingin menebak URL yang mungkin sudah usang).
Ringkasnya: penghalang teknis utama sudah hilang. Yang tersisa adalah kebijakan privasi publik dan mengikuti proses pengajuan masing-masing platform.
FAQ
Apakah gratis? Ya, termasuk dalam langganan Oprex Anda.
Bisa dipakai banyak AI sekaligus? Bisa β endpoint & key yang sama bekerja di semua klien MCP.
Bagaimana dengan OAuth untuk claude.ai / ChatGPT web? Sudah tersedia β cukup masukkan URL server MCP, tanpa API key. Lihat bagian Claude.ai (web) di atas.
Apa bedanya API key dan OAuth? API key cocok untuk CI/CD dan skrip (milik tenant, tidak kedaluwarsa sampai dicabut). OAuth cocok untuk aplikasi AI yang dipakai orang (milik per-user, access token 1 jam, refresh 30 hari dengan rotasi, bisa dicabut di Pengaturan β Aplikasi Terhubung).