---
title: MCP untuk asisten AI
source: https://se-hari.com/docs/mcp
updated: 2026-08-16T01:05:08.638122+00:00
---

> Pasang Se-Hari sebagai MCP server, lalu tanya notulen rapat Anda langsung dari Claude, Cursor, atau ChatGPT.

[Model Context Protocol](https://modelcontextprotocol.io) adalah standar terbuka yang membuat asisten AI bisa memanggil layanan eksternal. Se-Hari menyediakan MCP server, sehingga Anda bisa bertanya "apa saja action item dari rapat kemarin?" langsung dari Claude tanpa membuka dashboard.

## Dua cara memasangnya

**Remote (disarankan).** Tidak ada yang perlu diinstal:

```
https://se-hari.com/api/mcp
```

**Paket npm stdio**, untuk klien yang belum mendukung remote server. Paket `@se-hari/mcp` **belum terbit di npm**, jadi perintah di bawah belum bisa dijalankan — pakai URL remote di atas, yang sudah aktif sekarang:

```bash
npx -y @se-hari/mcp
```

Paket npm adalah proxy murni ke endpoint remote yang sama — nol logika bisnis di dalamnya. Itu disengaja: kalau paket punya salinan definisi tool sendiri, keduanya akan menyimpang pada perubahan pertama, dan bug-nya hanya muncul pada separuh pengguna.

## Claude Desktop

```json
{
  "mcpServers": {
    "se-hari": {
      "url": "https://se-hari.com/api/mcp",
      "headers": { "Authorization": "Bearer sh_live_KEY_ANDA" }
    }
  }
}
```

## Claude Code

```bash
claude mcp add --transport http se-hari https://se-hari.com/api/mcp \
  --header "Authorization: Bearer sh_live_KEY_ANDA"
```

## Lewat paket npm

```json
{
  "mcpServers": {
    "se-hari": {
      "command": "npx",
      "args": ["-y", "@se-hari/mcp"],
      "env": { "SEHARI_API_KEY": "sh_live_KEY_ANDA" }
    }
  }
}
```

## Tool yang tersedia

Sebelas tool, dikurasi — bukan setiap endpoint dijadikan tool. Daftar yang muncul menyesuaikan scope API key Anda: key tanpa `meetings:write` tidak akan pernah melihat `create_meeting`.

| Tool | Memakai kredit |
|---|---|
| `get_credit_balance`, `estimate_credits` | tidak |
| `search_notes`, `get_note`, `get_transcript` | tidak |
| `list_meetings`, `list_recordings`, `get_recording_link` | tidak |
| `create_note_from_recording` | **ya** — ditagih setelah selesai |
| `create_meeting` | **ya** — langsung |
| `cancel_meeting` | mengembalikan kredit |

`estimate_credits` ada dengan alasan khusus: ia memungkinkan asisten mengabari "meeting ini butuh 4 kredit, sisamu 2" **sebelum** memanggil `create_meeting`. Tanpa tool itu, satu-satunya cara mengetahui biaya adalah dengan mengeluarkannya.

## Yang bisa Anda tanyakan

- "Berapa sisa kredit Se-Hari saya?"
- "Cari notulen yang membahas anggaran bulan lalu"
- "Apa action item dari rapat mingguan terakhir, dan siapa yang bertanggung jawab?"
- "Ada rekaman yang belum dibuatkan notulen? Buatkan untuk yang paling lama"
- "Buatkan meeting Zoom Senin pagi jam 9 untuk 50 orang"

## Transkrip tidak ikut secara bawaan

`get_note` tidak mengembalikan transkrip penuh kecuali diminta. Transkrip rapat satu jam bisa puluhan ribu kata dan akan menghabiskan context window klien Anda dalam satu panggilan — menyisakan sedikit ruang untuk percakapan itu sendiri.

Kalau Anda memang butuh isinya, `get_transcript` bisa dibatasi rentang waktu dan jumlah kata.

## Semuanya nyata

Tidak ada mode sandbox. `create_meeting` benar-benar membuat meeting Zoom dan benar-benar memotong kredit. Sebagian besar klien MCP meminta konfirmasi sebelum menjalankan tool yang ditandai destruktif — dan tool kami memang menandai dirinya demikian lewat `annotations` — tapi jangan bergantung sepenuhnya pada itu.

Perlindungan yang lebih dapat diandalkan: **buat API key khusus untuk asisten AI**, beri scope sesempit mungkin, dan pasang batas kredit harian. Kalau Anda hanya ingin bertanya tentang notulen, key dengan `notulen:read` dan `credits:read` sudah cukup — dan tidak ada satu pun tool yang memakai kredit akan muncul.

## Kalau tidak berfungsi

**Tool tidak muncul sama sekali** — periksa format key. Panjangnya selalu 51 karakter; `sh_live_` diikuti 43. Klien MCP biasanya tidak menampilkan pesan 401 dengan jelas.

**Sebagian tool hilang** — itu bukan kesalahan, melainkan penyaringan scope. Buat key baru dengan scope yang Anda butuhkan; scope tidak bisa ditambahkan ke key yang sudah ada.

**Server tersambung tapi setiap tool gagal** — kemungkinan besar key dicabut atau kedaluwarsa. Paket npm memeriksa ini saat start dan menampilkan pesan yang jelas di stderr; klien remote tidak selalu melakukannya.

## Selanjutnya

- [Autentikasi](/docs/autentikasi) — membuat key dengan scope sempit
- [n8n](/docs/n8n) — otomasi tanpa asisten AI
- [Referensi API](/docs/api) — endpoint yang mendasari tiap tool