Lewati ke konten utama

Panduan Pengajuan Server MCP Lokal

Diperbarui minggu ini

Ini adalah panduan lengkap untuk mengirimkan server lokal Anda (MCPB) ke direktori publik Anthropic untuk distribusi dan penemuan yang lebih luas.

Prasyarat

Sebelum membaca panduan ini, Anda harus memiliki:

  • MCPB yang berfungsi

  • Kode portabel menggunakan substitusi variabel

  • Pesan kesalahan yang baik dan pengalaman pengguna

  • Dependensi yang bersih dan terbundel

Baru dalam pengembangan MCPB? Lihat Building MCPB Extensions terlebih dahulu. Untuk praktik terbaik teknis (pengujian, pesan kesalahan, portabilitas), lihat MCPB Repository.

Catatan: Panduan ini mencakup server MCP lokal. Untuk ekstensi desktop jarak jauh, lihat Remote MCP Server Submission Guide.


1. Ikhtisar Direktori

Apa manfaat dari penyertaan direktori?

Penemuan dan kepercayaan:

  • Terdaftar dalam direktori resmi Anthropic di dalam Claude Desktop

  • Dapat dicari oleh pengguna Claude Desktop individual

  • Terlihat oleh pengguna Teams/Enterprise ketika ditambahkan ke daftar izin oleh admin

  • Tinjauan Anthropic membangun kepercayaan pengguna

Pengalaman pengguna:

  • Instalasi sekali klik dari direktori

  • Terintegrasi dengan UI pengaturan Claude Desktop

  • Presentasi standar

Dukungan dan kredibilitas:

  • Tinjauan Anthropic tentang kualitas dan keamanan

  • Terdaftar bersama ekstensi terverifikasi lainnya

  • Visibilitas komunitas dan umpan balik

  • Saluran distribusi profesional


2. Persyaratan Wajib

Semua persyaratan di bagian ini wajib untuk persetujuan direktori. Kehilangan salah satu dari ini akan menghasilkan penolakan atau permintaan revisi.

Catatan: Ini adalah persyaratan khusus direktori Anthropic.

Untuk praktik terbaik pengembangan MCPB umum (pengujian, penanganan kesalahan, portabilitas), lihat MCPB Repository README.


Apakah anotasi alat diperlukan?

YA. Setiap alat HARUS memiliki dan mempertahankan anotasi keamanan yang akurat.

Diperlukan pada setiap alat:

  • readOnlyHint: true - Untuk alat yang hanya membaca data

  • destructiveHint: true - Untuk alat yang memodifikasi data atau memiliki efek samping

Lihat MCP Protocol - Tool Annotations untuk skema lengkap dan detail implementasi.

Tidak opsional. Ini adalah persyaratan keras yang berasal dari MCP Directory Policy.

Cara memutuskan anotasi mana:

Perilaku Alat

Anotasi

Contoh

Hanya membaca data

readOnlyHint: true

search, get, list, fetch, read

Menulis/memodifikasi data

destructiveHint: true

create, update, delete, send, write

Membuat file sementara

destructiveHint: true

Bahkan penulisan sementara dihitung

Mengirim permintaan eksternal

destructiveHint: true

Email, notifikasi, webhook

Cache hanya secara internal

readOnlyHint: true

Optimasi internal OK

Detail implementasi: Lihat MCP Protocol - Tools untuk:

  • Skema alat lengkap dengan anotasi

  • Struktur definisi alat

  • Spesifikasi skema input/output

  • Properti alat tambahan (termasuk bidang judul opsional)

Validasi sebelum pengiriman:

# Periksa semua alat memiliki anotasi

grep -A 5 -B 5 "readOnlyHint\|destructiveHint" server/

# Verifikasi setiap alat memiliki tepat satu anotasi

Dampak: Hal pertama yang kami periksa dan alasan paling umum untuk permintaan revisi.

Anotasi tambahan yang direkomendasikan:

  • title - Nama alat yang dapat dibaca manusia untuk tampilan UI (meningkatkan pengalaman pengguna)


Apakah kebijakan privasi diperlukan?

Ya, kebijakan privasi diperlukan di dua lokasi:

Lokasi 1: README.md

Tambahkan bagian "Privacy Policy" ke README Anda dengan tautan ke kebijakan privasi lengkap Anda sehingga pengguna menyadari praktik Anda:

## Privacy Policy

Ekstensi ini mengumpulkan [jelaskan jenis data]. Untuk informasi privasi lengkap, lihat kebijakan privasi kami: https://your-domain.com/privacy-policy

### Data Collection
- [Daftar data apa yang dikumpulkan]
- [Bagaimana penggunaannya]
- [Apakah dibagikan dengan pihak ketiga]
- [Periode retensi]

Lokasi 2: manifest.json

Tambahkan array privacy_policies dengan URL HTTPS yang dapat diakses publik:

Implementasi lengkap: Lihat MCPB Manifest Spec - Privacy Policies untuk:

  • Struktur bidang kebijakan privasi

  • Persyaratan versi manifest (0.3+)

  • Dukungan URL kebijakan ganda

  • Persyaratan validasi

Kebijakan privasi harus mencakup:

  • Data apa yang dikumpulkan MCPB Anda

  • Bagaimana data digunakan dan disimpan

  • Apakah data dibagikan dengan pihak ketiga

  • Kebijakan retensi data pengguna

  • Informasi kontak untuk pertanyaan privasi

Persyaratan:

  • Harus URL HTTPS yang dapat diakses publik

  • Harus dari domain Anda (bukan hosting pihak ketiga)

  • Harus terkini dan akurat

  • Harus ada di README DAN manifest.json

  • Harus menggunakan manifest_version "0.3" atau lebih tinggi

Kesalahan umum:

  • Kebijakan privasi di manifest tetapi bukan README

  • Kebijakan privasi di README tetapi bukan manifest

  • Menggunakan manifest_version "0.2" atau lebih lama

  • URL tidak valid atau tidak dapat diakses

  • Kebijakan privasi dihosting di situs pihak ketiga

Dampak: Salah satu penyebab penolakan paling umum - mudah diperbaiki tetapi sering diabaikan.


Berapa banyak contoh yang diperlukan?

MINIMUM tiga contoh yang berfungsi mendemonstrasikan fungsionalitas inti.

Apa yang memenuhi syarat sebagai contoh yang baik:

  • Menunjukkan kasus penggunaan yang realistis

  • Mencakup input/prompt pengguna yang diharapkan

  • Menunjukkan output/perilaku yang diharapkan

  • Mendemonstrasikan penggunaan alat aktual

  • Alur kerja yang jelas dan dapat dipahami

Format contoh (di README.md):

## Examples

### Example 1: Search for files
**User prompt:** "Find all JavaScript files in my project"

**Expected behavior:**
- Extension searches workspace directory
- Returns list of .js files with paths
- Shows file count in summary

### Example 2: Read file contents
**User prompt:** "Show me the contents of config.json"

**Expected behavior:**
- Extension reads config.json
- Returns formatted JSON content
- Handles file not found gracefully

### Example 3: Create new file
**User prompt:** "Create a new file called notes.txt with 'Hello World'"

**Expected behavior:**
- Extension creates notes.txt
- Writes content to file
- Confirms creation with file path

Apa yang harus disertakan:

  • Prompt pengguna yang realistis (bagaimana pengguna akan berinteraksi)

  • Panggilan alat yang diharapkan (apa yang terjadi di balik layar)

  • Output yang diharapkan (apa yang akan dilihat pengguna)

  • Contoh penanganan kesalahan (opsional tetapi direkomendasikan)

Persyaratan:

  • Minimum 3 contoh (tidak ada maksimum)

  • Cakupan fungsionalitas inti

  • Tunjukkan alat/kemampuan yang berbeda

  • Demonstrasikan proposisi nilai

  • Sertakan di README.md

Dampak: Sumber penundaan atau penolakan yang sering - pengulas memerlukan dokumentasi lengkap untuk mengevaluasi pengiriman dengan benar.


Apakah saya perlu memberikan kredensial pengujian?

Jika MCPB Anda memerlukan autentikasi atau akses layanan eksternal, maka YA.

Diperlukan ketika:

  • MCPB Anda terhubung ke API eksternal

  • Autentikasi diperlukan untuk fungsionalitas

  • Pengguna MCPB harus memiliki akun untuk menggunakan fitur

  • Integrasi layanan eksternal sebaliknya ada

Tidak diperlukan ketika:

  • MCPB murni lokal (operasi sistem file saja)

  • Tidak ada koneksi eksternal

  • Tidak ada autentikasi yang diperlukan

  • Sepenuhnya mandiri

Apa yang harus disediakan:

  • Kredensial akun uji (nama pengguna/kata sandi atau kunci API)

  • Data sampel di akun (membantu untuk pengujian fungsional)

  • Instruksi pengaturan (cara mengonfigurasi dan menggunakan akun uji)

  • Batasan atau pembatasan akses (jika ada)

  • Tanggal kedaluwarsa akun (jika sementara)

Cara menyediakan:

  • Sertakan dalam formulir pengiriman

  • Kirim melalui metode aman jika sangat sensitif

  • Pastikan akun tetap aktif selama periode tinjauan

  • Berikan tingkat akses yang cukup untuk pengujian lengkap

Praktik terbaik: Buat akun uji khusus terpisah dari produksi untuk:

  • Menghindari paparan data produksi

  • Mengontrol apa yang dapat diakses pengulas

  • Mudah mencabut akses setelah persetujuan

  • Melacak penggunaan akun uji

Dampak: Menunda proses tinjauan jika hilang saat diperlukan


Dokumentasi apa yang diperlukan?

Dokumentasi komprehensif di README.md dengan bagian minimum yang diperlukan.

Bagian minimum yang diperlukan:

  1. Description - Penjelasan jelas tentang apa yang dilakukan MCPB Anda

  2. Features - Kemampuan kunci dan kasus penggunaan

  3. Installation - Cara menginstal (biasanya: "Install from Anthropic Directory")

  4. Configuration - Pengaturan yang diperlukan dan langkah pengaturan

  5. Usage Examples - Minimum 3 contoh (lihat bagian di atas)

  6. Privacy Policy - Tautan ke kebijakan privasi lengkap

  7. Support - Bagaimana pengguna dapat mendapatkan bantuan atau melaporkan masalah

Struktur README.md contoh:

# My MCPB Extension

## Description
Brief description of what this extension does and why it's useful.

## Features
- Feature 1: [description]
- Feature 2: [description]
- Feature 3: [description]

## Installation
Install from the Anthropic Directory in Claude Desktop Settings → Extensions.

## Configuration
1. Open Settings → Extensions → [Extension Name]
2. Add API key (if required)
3. Select workspace directory
4. Configure optional settings

## Examples
[See minimum 3 examples section above]

## Privacy Policy
See our privacy policy: https://your-domain.com/privacy

## Support
For issues or questions: [email protected]
GitHub Issues: https://github.com/your-username/your-extension/issues

Bagian tambahan yang direkomendasikan:

  • Troubleshooting - Masalah umum dan solusi

  • Version compatibility - Versi Claude Desktop mana yang didukung

  • Changelog - Riwayat versi dan perubahan

  • Contributing - Bagaimana orang lain dapat berkontribusi (untuk sumber terbuka)

Praktik terbaik:

  • Penulisan yang jelas dan ringkas

  • Tangkapan layar (opsional tetapi sangat membantu)

  • Instruksi langkah demi langkah

  • Tautan ke sumber daya tambahan


3. Proses Pengiriman

Bagaimana cara saya mengirimkan ke direktori?

Sebelum mengirimkan ke direktori, selesaikan proses pengiriman langkah demi langkah ini:

1. Daftar periksa pra-pengiriman:

Uji MCPB Anda:

  • Lulus semua 4 fase pengujian (pengembangan, lingkungan bersih, lintas platform, Claude Desktop)

  • Bekerja di lingkungan bersih tanpa alat pengembangan

  • Portabel di macOS dan Windows

  • Dependensi terkini dan terbundel

  • Pesan kesalahan membantu dan dapat ditindaklanjuti

  • Kinerja dapat diterima

Verifikasi persyaratan wajib:

  • Semua alat memiliki anotasi readOnlyHint ATAU destructiveHint

  • Kebijakan privasi ada di README.md

  • Kebijakan privasi ada di array privacy_policies manifest.json

  • Gunakan versi Manifest terbaru untuk kompatibilitas terbaik

  • Minimum 3 contoh yang berfungsi didokumentasikan di README

  • Kredensial pengujian disediakan (jika berlaku)

Siapkan dokumentasi:

  • README.md lengkap dengan semua bagian yang diperlukan

  • File LISENSI disertakan

  • Ikon disertakan (direkomendasikan, 512×512px PNG)

  • CHANGELOG.md (opsional tetapi direkomendasikan)

2. Paket versi final:

# Clean build
rm -rf node_modules/.cache
npm install --production

# Package
mcpb pack

# Verify package
mcpb info your-extension.mcpb

3. Kirimkan melalui formulir resmi:

Informasi yang diperlukan: Detail server, tautan dokumentasi, kredensial uji, contoh (minimum 3), dan informasi kontak. Formulir menyediakan daftar lengkap.

Meskipun kami berusaha meninjau setiap pengiriman secepat mungkin, karena banyaknya minat kami tidak dapat menjanjikan bahwa kami akan menerima pengiriman Anda atau merespons secara individual.


4. Masalah Umum

Apa alasan paling umum untuk permintaan revisi?

Ini adalah masalah teratas berdasarkan data pengiriman:

1. Anotasi alat yang hilang

  • Masalah: Alat kehilangan anotasi readOnlyHint atau destructiveHint yang diperlukan

  • Perbaikan: Tambahkan anotasi ke SEMUA alat dalam implementasi server Anda

  • Dampak: Penolakan langsung, memerlukan perubahan kode

  • Pencegahan: Jalankan perintah validasi sebelum pengiriman

2. Masalah portabilitas

  • Masalah: Bekerja di lingkungan pengembang tetapi gagal untuk pengguna akhir

  • Penyebab umum: Jalur hardcoded, dependensi yang hilang, asumsi platform

  • Perbaikan: Uji di lingkungan bersih, gunakan substitusi variabel,

Apakah pertanyaan Anda terjawab?