Coding agent menulis kode terhadap API yang mereka ingat, dan yang mereka ingat adalah versi tahun lalu. Context7 hadir untuk menutup celah itu: ia menyimpan indeks dokumentasi library dan menyerahkan bagian yang relevan kepada agent tepat saat dibutuhkan. Dengan 64.773 bintang, upstash/context7 adalah salah satu MCP server yang paling banyak di-install.
Bentuknya juga sudah beberapa kali berubah. Tool yang paling banyak dijelaskan di panduan, get-library-docs, sudah tidak ada lagi; sekarang ada kuota gratis dengan key; dan jawaban yang Anda dapat bergantung pada versi library yang Anda minta, dengan cara yang mudah terlewat. Kami menjalankan @upstash/context7-mcp 4.7.0, yang dirilis pada 12 November 2026, melalui CLI MCP Inspector pada 14 November 2026, tanpa API key, dan mengamati apa yang dikembalikan.
Cara install
Context7 bisa dijalankan dengan dua cara. Keduanya terhubung ke API Context7 hosted yang sama.
| Remote | Lokal | |
|---|---|---|
| Alamat atau perintah | https://mcp.context7.com/mcp |
npx -y @upstash/context7-mcp |
| Key | Header Authorization: Bearer, atau OAuth di /mcp/oauth |
Flag --api-key atau CONTEXT7_API_KEY |
| Butuh Node.js | Tidak | 20.18.1 atau lebih baru |
| Bisa offline | Tidak | Tidak: tetap memanggil API hosted |
Pilih remote kecuali client Anda tidak bisa menangani HTTP server. Paket lokal ini hanya thin client; README Context7 menyatakan dengan jelas bahwa hanya MCP server yang open source, sementara index, parser, dan crawler-nya tertutup.
Ambil key gratis di context7.com dulu. Key diawali ctx7sk- dan hanya ditampilkan sekali.
Claude Code, remote:
claude mcp add --scope user --header "Authorization: Bearer YOUR_API_KEY" --transport http context7 https://mcp.context7.com/mcp
Atau lewat plugin, yang memakai OAuth melalui /mcp alih-alih key:
/plugin marketplace add upstash/context7
/plugin install context7@context7-marketplace
Cursor, di ~/.cursor/mcp.json:
{
"mcpServers": {
"context7": {
"url": "https://mcp.context7.com/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
VS Code memakai servers, bukan mcpServers, di .vscode/mcp.json:
{
"servers": {
"context7": {
"type": "http",
"url": "https://mcp.context7.com/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
Codex:
codex mcp add context7 -- npx -y @upstash/context7-mcp --api-key YOUR_API_KEY
Kalau Codex timeout saat start, naikkan startup_timeout_sec ke 40 di config-nya, seperti yang disarankan halaman Codex Context7. Claude Desktop menambahkannya sebagai custom connector: Settings, Connectors, Add Custom Connector, URL https://mcp.context7.com/mcp.
Context7 juga menyediakan npx ctx7 setup, yang membuat Anda sign in, membuat key, lalu meng-install entri MCP atau skill untuk Claude Code, Cursor, Codex, atau OpenCode. npx ctx7 remove membatalkannya. Config builder kami menulis entri polosnya kalau Anda lebih suka melihat apa yang ditaruh di mana.
Dua tool tersebut
tools/list pada 4.7.0 mengembalikan dua tool, keduanya ditandai read-only dan idempotent:
| Tool | Parameter | Fungsinya |
|---|---|---|
resolve-library-id |
libraryName, query |
Mencari ID Context7 untuk sebuah library, diperingkat berdasarkan pertanyaan Anda |
query-docs |
libraryId, query, opsional language |
Mengembalikan bagian dokumentasi dan contoh kode untuk library tersebut |
Deskripsinya meminta agent untuk melakukan resolve terlebih dahulu kecuali pengguna sudah memberikan ID seperti /vercel/next.js, dan untuk tidak melakukan lebih dari tiga panggilan masing-masing per pertanyaan. Kedua field query membawa peringatan yang sama: jangan sertakan API key, password, data pribadi atau kode proprietary, karena query dikirim ke API Context7.
Jika Anda mengikuti tutorial lama: get-library-docs digantikan oleh query-docs di versi 2.0.0, dan parameter tokens, topic, page serta mode sudah tidak ada. Sejak 2.2.5 server diam-diam memperbaiki beberapa nama argumen yang dikarang agent, seperti question untuk query.
Yang kami dapatkan kembali
Kami meminta resolve-library-id untuk "next.js" dengan pertanyaan "app router middleware". Balasannya 2.175 byte. Hasil teratas adalah /vercel/next.js: 7.338 code snippet, source reputation High, benchmark score 79,96, dengan versi dari v12.3.7 hingga v16.4.5 plus branch canary. Berikutnya /websites/nextjs, situs dokumentasi yang diindeks terpisah, dengan 9.524 snippet dan skor 76,15. Dua ID untuk satu framework adalah hal normal di Context7; repository dan situs web diindeks sebagai library terpisah.
Lalu kami memanggil query-docs tiga kali:
| Library ID | Pertanyaan | Balasan | Code block |
|---|---|---|---|
/vercel/next.js |
proxy yang me-redirect pengguna yang belum terautentikasi | 8.422 byte | 5 |
/vercel/next.js |
server actions revalidatePath | 4.304 byte | 8 |
/vercel/next.js/v16.2.9 |
proxy yang me-redirect pengguna yang belum terautentikasi | 5.512 byte | tidak dihitung |
Balasannya ringkas: beberapa bagian, masing-masing dengan heading, tautan sumber dan contoh kode, cukup kecil sehingga agent bisa memanggilnya beberapa kali dalam satu sesi tanpa memenuhi context-nya. Panggilan anonim berhasil tanpa key dan tanpa error.
Pin versinya
Detail yang paling penting ada di tautan sumber. Jawaban yang tidak di-pin mengarah ke file di branch canary repositori Next.js: dokumentasi untuk kode yang belum dirilis. Untuk framework yang bergerak cepat, dokumentasi canary bisa menjelaskan API, nama, atau default yang tidak ada di versi yang Anda install.
Pin versinya memperbaiki ini. Tambahkan versi ke ID, /vercel/next.js/v16.2.9, dan jawabannya datang dari rilis tersebut; punya kami jawabannya berbeda dan lebih singkat untuk pertanyaan yang sama. Versi yang tersedia di Context7 tercantum di output resolve-library-id, dan Anda juga bisa menyebutkan versinya dengan kata-kata biasa di prompt.
Aturan tetap menghemat pengetikan. Tips dari Context7 sendiri adalah satu baris di CLAUDE.md atau aturan Cursor Anda yang meminta agent memakai Context7 untuk dokumentasi library, setup, dan konfigurasi tanpa perlu diminta. Kami akan menambahkan satu klausa: "dan gunakan versi yang ada di package.json".
Paket dan batasan
| Free | Pro | Enterprise | |
|---|---|---|---|
| Harga | $0 | $10 per seat per bulan | Custom |
| Panggilan termasuk | 1.000 per bulan | 2.000 per seat per bulan | 2.000 per seat per bulan |
| Setelah itu | 20 panggilan bonus per hari sampai bulan direset | $5 per 1.000, tidak pernah diblokir | $5 per 1.000 |
| Repositori privat | Tidak | Ya, $5 per juta token yang di-parse | Ya |
| Anggota tim | Hanya Anda | Hingga 30 | Tanpa batas, dengan SSO dan self-hosting |
Satu panggilan adalah satu pencarian atau satu permintaan docs, lewat MCP server, CLI, atau REST API. Tanpa key, Anda mendapat apa yang disebut Context7 sebagai "low rate limits", tanpa angka yang dipublikasikan. Permintaan yang kena limit mengembalikan HTTP 429 dengan header Retry-After dan RateLimit-*.
Praktiknya, setiap pertanyaan yang dijawab agent dengan Context7 memakan dua panggilan: satu resolve dan satu query, atau lebih kalau ia mencoba ulang. Menyebutkan ID di prompt Anda, atau di sebuah rule, melewati langkah resolve dan memangkas biayanya jadi separuh.
Bagaimana dokumentasi masuk ke Context7
Siapa pun bisa menambahkan library publik di context7.com/add-library dengan menempelkan URL GitHub, baik dia pemilik proyeknya maupun bukan. Context7 juga menerima website, file llms.txt, dan spec OpenAPI. Context7 mengindeks Markdown, MDX, reStructuredText, notebook, dan teks sejenis, mengonversi PDF dan DOCX, serta melewati halaman yang sebagian besar isinya bukan bahasa Inggris. Kalau dokumentasi di sebuah repository minim, Context7 membuat contoh dari source code-nya.
Library diperbarui saat ada yang memintanya dan salinannya sudah usang. Seberapa usang tergantung popularitas: satu hari untuk 100 teratas, 15 hari untuk 1.000 teratas, 30 hari untuk 5.000 teratas, dan 45 hari untuk sisanya, dengan sumber website dan llms.txt menunggu sepuluh hari lebih lama. Library yang kurang populer bisa tertinggal hingga enam minggu dari dokumentasinya sendiri.
Kalau Anda maintainer sebuah library, file context7.json di root repository mengatur apa yang diindeks: folder mana, branch mana, versi lama mana, dan aturan yang ditambahkan di awal jawaban. "disallow": true menghapus library tersebut. Kalau Anda klaim library itu, Anda mendapat panel admin dan jalur menuju badge terverifikasi.
Keamanan
Semua yang dikembalikan Context7 ditulis oleh orang lain, dan sebagian dikirim oleh pihak yang bukan pemilik proyeknya. Artinya, ini jenis input yang sama dengan halaman web: data untuk dibaca model, bukan instruksi untuk dijalankan.
Context7 menyatakan bahwa setiap repository dan situs yang dikirim diperiksa lewat classifier prompt-injection dua tahap dan chunk yang ditandai akan dilewati. Library dinilai berdasarkan trust, dari sinyal seperti usia akun, stars, dan aktivitas, serta dari benchmark pertanyaan developer yang dihasilkan; skor 79,96 di atas adalah benchmark tersebut. Blog Upstash menyebut badge verified untuk sementara ini hanya indikator visual.
Ada satu insiden yang perlu Anda ketahui. Pada Mei 2026, pengguna melaporkan bahwa balasan query-docs diakhiri dengan "system notice" yang meminta asisten menawarkan untuk menjalankan npx ctx7 setup -y (issue 2663 dan 2673). Maintainer menjelaskan bahwa itu adalah uji coba mereka sendiri untuk prompt sign-in bagi pengguna anonim, yang ditambahkan di 2.3.0, dan mematikannya setelah ada keberatan. Itu berasal dari server Context7, bukan dari docs sebuah library, tapi ini menunjukkan betapa mudahnya teks dalam hasil tool meminta agent menjalankan sebuah perintah. Setujui sendiri perintah shell yang dijalankan.
Aturan praktisnya: jangan masukkan rahasia ke dalam pertanyaan, utamakan library yang verified atau sudah dikenal, dan di Pro atau Enterprise gunakan kebijakan teamspace untuk membatasi library mana yang boleh dipakai. Selengkapnya soal risiko jenis ini ada di keamanan MCP.
Alternatif
| Server | Fungsinya | Key | Catatan |
|---|---|---|---|
| Context7 | Indeks dokumentasi library yang sudah jadi, lengkap dengan versi dan skor | Key gratis | 64.773 stars, server MIT, indeks privat |
| DeepWiki MCP | Menjawab pertanyaan tentang repository GitHub publik mana pun, berdasarkan wiki yang ditulis AI | Tidak perlu | Di-host oleh Cognition di mcp.deepwiki.com/mcp, gratis |
| GitMCP | Mengubah llms.txt atau README satu repository menjadi endpoint dokumentasi |
Tidak perlu | 8.515 stars, Apache-2.0, push terakhir Mei 2026 |
| Ref | Mencari di dokumentasi dan membaca halamannya | Wajib | 1.186 stars, MIT; harga tidak dicantumkan di situsnya |
Context7 lebih cocok kalau Anda ingin library yang sama di versi yang sudah diketahui setiap kali. DeepWiki bagus untuk memahami sebuah repository yang belum familiar secara keseluruhan. GitMCP adalah opsi paling ringan untuk satu proyek yang punya llms.txt bagus. Untuk pekerjaan yang spesifik framework, server milik framework itu sendiri bisa mengalahkan semuanya; Next.js 16 mengirimkan dokumentasi yang sesuai versi ke agent lewat next-devtools-mcp, yang dibahas di panduan Next.js MCP kami.
Saat tidak berjalan
| Yang Anda lihat | Penyebab | Solusi |
|---|---|---|
| HTTP 429 | Batas gratis atau anonim tercapai | Tambahkan key, tunggu bonus harian atau upgrade; cek pemakaian lewat endpoint usage di API |
| Kode memakai API yang tidak ada di versi Anda | Query tanpa pin dijawab dari docs versi lebih baru atau canary | Pin /org/project/vX atau sebutkan versinya di prompt |
| Agent tidak pernah memanggil Context7 | Tidak ada "use context7" dan tidak ada aturan tetap | Tambahkan aturannya ke CLAUDE.md atau rules Cursor |
Tutorial memanggil get-library-docs |
Ditulis sebelum 2.0.0 | Pakai resolve-library-id dan query-docs |
| Codex gagal saat start | Timeout saat startup | Set startup_timeout_sec ke 40 |
| Sebuah library kedaluwarsa | Refresh bersifat on demand, hingga 45 hari | Refresh di halaman Context7-nya, atau minta maintainer menambahkan GitHub Action |
| Proyek yang muncul salah | Ada beberapa ID untuk satu nama | Baca daftar resolve dan pilih berdasarkan snippet, reputasi, dan skor; lalu sebutkan ID-nya |
Entri Context7 di katalog kami, lengkap dengan skor checks dan perintah install, ada di bagian atas halaman ini.