Junê (june-mcp)

resmi

Beri 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_search untuk bukti multi-langkah yang diperingkat, june_neighborhood untuk memeriksa koneksi di sekitar simpul, atau june_subgraph untuk mengekspor wilayah grafik yang terbatas.
  • Tulis memori baru — Minta agen Anda mencatat fakta atau catatan dengan june_remember sehingga langsung dapat diambil dan dikutip, atau masukkan simpul/tepi terstruktur melalui june_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_file saat JUNE_FILES_ROOT dikonfigurasi.
  • Gabungkan entitas duplikat — Jalankan june_resolve untuk menggabungkan entitas duplikat melalui tepi same_as yang 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:

  1. Aplikasi desktop Junê (local-first). Jalankan aplikasi Junê dan hubungkan ke mesin lokalnya — file, graf, dan kunci Anda tetap berada di mesin Anda.
  2. Layanan June Anda sendiri. Pelanggan Pro/Team yang menjalankan paket mesin june-local mengarahkan JUNE_BASE_URL ke server mereka sendiri.
  3. 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).

envwajibarti
JUNE_BASE_URLEndpoint June Anda, mis. http://localhost:8000
JUNE_CANVASCanvas (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_CREATEopsional1 membuat canvas bernama pada run pertama jika belum ada (ditolak dalam mode read-only)
JUNE_API_KEYKunci API June Anda (JUNE_ALLOW_ANON=1 secara eksplisit memilih keluar untuk setup lokal tanpa kunci)
JUNE_LLM_KEYopsionalBawa kunci LLM sendiri untuk jawaban bersitasi — diteruskan per-permintaan sebagai header, tidak pernah dicatat, tidak pernah disimpan di layanan
JUNE_READONLYopsional1 menyembunyikan + menolak semua alat tulis (memori menjadi read-only)
JUNE_FILES_ROOTopsionalDirektori opt-in tempat agen dapat mengunggah file melalui june_ingest_file — tidak diset ⇒ alat itu tidak ada
JUNE_TIMEOUT_READ / JUNE_TIMEOUT_ANSWERopsionalTimeout per-verb (default 15 dtk / 120 dtk)
JUNE_LOG_LEVELopsionalLogging 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

toolapa yang didapat agen Anda
june_answerJawaban yang ter-grounding dan bersitasi dari graf — abstain daripada menebak
june_searchBukti terurut untuk kueri (mendukung multi-hop)
june_contextPaket konteks yang dirakit di bawah anggaran token
june_neighborhoodGraf di sekitar satu node
june_subgraphEkspor subgraf terbatas
june_rememberTulis fakta/catatan ke dalam graf (langsung dapat diambil + dapat disitasi)
june_ingestIngesti node/edge terstruktur
june_enumerateSEMUA node yang cocok dengan predikat — lengkap-pengingat "daftar SEMUA X" (bukan top-k)
june_ingest_fileUnggah 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_enrichPro: ekstraksi ulang latar belakang canvas dengan mesin yang lebih kaya (idempoten; job + poll; 403 pada gratis)
june_resolvePemeliharaan: 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.