Junê (june-mcp)
resmiBeri agen Anda memori: memori knowledge-graph yang dibagikan, disitasi, dan terisolasi per tenant untuk host MCP apa pun. Jawaban yang berdasar dari endpoint June local-first — abstain daripada menebak.
Apa yang bisa Anda lakukan dengan Junê (june MCP?
- Jawaban yang dikutip dari memori — Minta AI Anda menjawab pertanyaan menggunakan
june_answer, yang mengembalikan respons yang didasari dan dikutip dari grafik pengetahuan, serta menahan diri daripada menebak. - Cari dan jelajahi grafik — Gunakan
june_searchuntuk bukti multi-langkah yang diperingkat,june_neighborhooduntuk memeriksa koneksi di sekitar simpul, ataujune_subgraphuntuk mengekspor wilayah grafik yang terbatas. - Tulis memori baru — Minta agen Anda mencatat fakta atau catatan dengan
june_remembersehingga langsung dapat diambil dan dikutip, atau masukkan simpul/tepi terstruktur melaluijune_ingest. - Daftarkan semua yang cocok dengan predikat — Minta enumerasi lengkap semua simpul dengan
june_enumerate, yang mengembalikan setiap kecocokan daripada sampel top-k. - Masukkan file lokal — Unggah dokumen yang didukung (PDF, DOCX, XLSX, CSV, HTML, MD, gambar, audio) dari folder yang disetujui menggunakan
june_ingest_filesaatJUNE_FILES_ROOTdikonfigurasi. - Gabungkan entitas duplikat — Jalankan
june_resolveuntuk menggabungkan entitas duplikat melalui tepisame_asyang dapat dibalik, dengan tingkat semantik opsional pada endpoint Pro.
Dokumentasi
june-mcp
Beri agen Anda memori. june-mcp adalah server MCP resmi untuk Junê — ia menghubungkan host MCP apa pun (Claude Desktop, Claude Code, dan lainnya) ke knowledge graph June, sehingga agen Anda dapat bertanya, mencari, dan mengingat terhadap memori bersama yang memiliki sitasi dan terisolasi per-tenant.
Paket ini adalah konektor tipis tanpa logika: semua pengambilan, perakitan graf, dan penjawaban terjadi di endpoint June yang Anda tunjuk. Tidak ada kode mesin di sini — itulah sebabnya cukup kecil untuk dibaca sekali duduk.
Claude Desktop / Claude Code ──stdio──▶ june-mcp ──HTTPS──▶ your June endpoint
(graph · retrieval · answers)
Instalasi
pip install june-mcp # just the connector (or: pipx install june-mcp)
pip install june-ai # umbrella: june-mcp + june-bench (the benchmark suite)
pip install "june-bench[mcp]" # the bench, with the connector as an extra
Arahkan ke endpoint June
june-mcp berbicara ke layanan June apa pun. Tiga cara untuk memilikinya:
- Aplikasi desktop Junê (local-first). Jalankan aplikasi Junê dan hubungkan ke mesin lokalnya — file, graf, dan kunci Anda tetap berada di mesin Anda.
- Layanan June Anda sendiri. Pelanggan Pro/Team yang menjalankan paket mesin
june-localmengarahkanJUNE_BASE_URLke server mereka sendiri. - Hosted (Team). Arahkan ke endpoint workspace June yang di-host dengan kunci API dari konsol Anda.
Konfigurasi
Server bersifat fail-closed: ia menolak untuk memulai kecuali ia tahu ke mana harus terhubung dan sebagai siapa, dan memberi tahu Anda semua yang hilang dalam satu pesan (bukan satu per satu error).
| env | wajib | arti |
|---|---|---|
JUNE_BASE_URL | ✅ | Endpoint June Anda, mis. http://localhost:8000 |
JUNE_CANVAS | ✅ | Canvas (workspace) untuk mengikat koneksi ini — sebuah nama (work) atau id canvas. Nama diselesaikan ke id saat startup; nama yang ambigu gagal tertutup (fail-closed) |
JUNE_CANVAS_CREATE | opsional | 1 membuat canvas bernama pada run pertama jika belum ada (ditolak dalam mode read-only) |
JUNE_API_KEY | ✅ | Kunci API June Anda (JUNE_ALLOW_ANON=1 secara eksplisit memilih keluar untuk setup lokal tanpa kunci) |
JUNE_LLM_KEY | opsional | Bawa kunci LLM sendiri untuk jawaban bersitasi — diteruskan per-permintaan sebagai header, tidak pernah dicatat, tidak pernah disimpan di layanan |
JUNE_READONLY | opsional | 1 menyembunyikan + menolak semua alat tulis (memori menjadi read-only) |
JUNE_FILES_ROOT | opsional | Direktori opt-in tempat agen dapat mengunggah file melalui june_ingest_file — tidak diset ⇒ alat itu tidak ada |
JUNE_TIMEOUT_READ / JUNE_TIMEOUT_ANSWER | opsional | Timeout per-verb (default 15 dtk / 120 dtk) |
JUNE_LOG_LEVEL | opsional | Logging hanya stderr secara desain — stdout adalah kabel MCP |
Periksa sebelum agen Anda melakukannya
JUNE_BASE_URL=http://localhost:8000 JUNE_API_KEY=... JUNE_CANVAS=work june-mcp --doctor
Dokter memverifikasi, secara berurutan: konfigurasi → layanan dapat diakses → resolusi canvas (nama canvas Anda → id-nya, mis. name "work" → 9147bee6-…) → seam pencarian sehat → manifes alat, dan mencetak PASS/FAIL per pemeriksaan dengan petunjuk yang dipetakan (mis. nama yang hilang mencantumkan canvas yang ADA dan menunjuk ke JUNE_CANVAS_CREATE=1). Dokter keluar dengan 0 hanya ketika semua pemeriksaan lolos (1 jika tidak); server itu sendiri keluar dengan 2 pada error konfigurasi alih-alih memulai setengah terhubung. Jalankan dokter terlebih dahulu; ia menangkap semua kesalahan konfigurasi umum sebelum agen Anda melihat server.
Hubungkan ke Claude
Claude Desktop — gabungkan ke claude_desktop_config.json (Settings → Developer):
{
"mcpServers": {
"june": {
"command": "june-mcp",
"env": {
"JUNE_BASE_URL": "http://localhost:8000",
"JUNE_API_KEY": "your-key",
"JUNE_CANVAS": "work",
"JUNE_LLM_KEY": "your-llm-provider-key"
}
}
}
}
Claude Code:
claude mcp add june -e JUNE_BASE_URL=http://localhost:8000 \
-e JUNE_API_KEY=your-key -e JUNE_CANVAS=work \
-e JUNE_LLM_KEY=your-llm-provider-key -- june-mcp
Mulai ulang host sepenuhnya (Cmd+Q di macOS), lalu periksa server menampilkan 10 alat (11 saat Anda memilih masuk ke june_ingest_file melalui JUNE_FILES_ROOT).
Alat-alat
| tool | apa yang didapat agen Anda |
|---|---|
june_answer | Jawaban yang ter-grounding dan bersitasi dari graf — abstain daripada menebak |
june_search | Bukti terurut untuk kueri (mendukung multi-hop) |
june_context | Paket konteks yang dirakit di bawah anggaran token |
june_neighborhood | Graf di sekitar satu node |
june_subgraph | Ekspor subgraf terbatas |
june_remember | Tulis fakta/catatan ke dalam graf (langsung dapat diambil + dapat disitasi) |
june_ingest | Ingesti node/edge terstruktur |
june_enumerate | SEMUA node yang cocok dengan predikat — lengkap-pengingat "daftar SEMUA X" (bukan top-k) |
june_ingest_file | Unggah satu file lokal (pdf/docx/xlsx/csv/html/md/images/audio) dari folder yang disetujui operator — hanya ada saat Anda menyetel JUNE_FILES_ROOT |
june_enrich | Pro: ekstraksi ulang latar belakang canvas dengan mesin yang lebih kaya (idempoten; job + poll; 403 pada gratis) |
june_resolve | Pemeliharaan: gabungkan entitas duplikat melalui edge same_as yang dapat dibalik (berjalan di sisi server; strong_only=false membuka tier semantik di Pro) |
Deskripsi ditulis untuk agen (apa → kapan → hasil), dan setiap input yang dijepit dicatat secara terlihat kembali ke agen alih-alih dipotong diam-diam.
Free vs Pro — tag june-pro
june-mcp adalah satu paket untuk semua orang; tidak ada "pro build" terpisah. Pro adalah properti dari endpoint, bukan konektor: hubungkan ke June yang diaktifkan Pro (lisensi Pro di aplikasi, kunci Pro di workspace yang di-host) dan alat yang sama membawa hasil tingkat Pro: setiap penulisan june_remember dan june_ingest_file menjalankan mesin entity/edge yang lebih kaya secara otomatis (hasilnya melaporkan engine mana yang berjalan), june_resolve meningkat ke pencocokan semantik, dan june_enrich mengisi kembali memori yang ditulis di lantai gratis sebelum Anda meningkatkan. Terminal menunjukkan dunia mana Anda berada: --doctor mencetak baris edition dan banner startup server menandai koneksi —
june-mcp: connected http://localhost:8000 canvas name "work" → 11d2… [june-pro]
Tag dibaca dari /v1/whoami milik layanan itu sendiri (status entitlement yang sama yang menggerbang rute Pro di sisi server), sehingga tidak dapat bertentangan dengan apa yang sebenarnya Anda dapatkan — dan hanya untuk tampilan: entitlement diberlakukan di layanan apa pun yang dicetak klien. Layanan lama tanpa /v1/whoami tidak menampilkan tag.
Model keamanan
Permukaan alat tidak mengekspos parameter canvas/workspace — workspace diikat di sisi server dari konteks koneksi Anda, fail-closed. Pembacaan lintas-tenant bukan pemeriksaan izin yang bisa gagal terbuka; itu tidak dapat direpresentasikan dari klien. JUNE_READONLY=1 menambahkan pagar kedua untuk deployment read-only. Kunci BYO LLM Anda ikut setiap permintaan jawaban sebagai header dan tidak pernah disimpan atau dicatat oleh layanan.
Error
Setiap kegagalan upstream dipetakan ke payload error yang diketik dan disunting (dibangun hanya dari tipe exception + status HTTP — tidak pernah dari body respons), sehingga server bertahan dari apa pun yang dilempar endpoint dan agen Anda melihat pesan yang bersih dan dapat ditindaklanjuti.
Lisensi
MIT. Mesin Junê itu sendiri adalah produk terpisah dengan sumber tertutup — konektor ini adalah bagian terbuka, secara desain.