Neon
resmiBerinteraksi dengan platform Postgres serverless Neon
Apa yang bisa Anda lakukan dengan Neon MCP?
- Membuat dan mengelola proyek — Minta untuk membuat proyek Neon baru atau daftar proyek yang sudah ada dengan
list_projectsdancreate_project. - Menjalankan kueri SQL — Jalankan SQL tunggal atau transaksional terhadap database menggunakan
run_sqlataurun_sql_transaction. - Melakukan migrasi database yang aman — Mulai migrasi pada cabang sementara dengan
prepare_database_migration, lalu terapkan melaluicomplete_database_migration. - Memeriksa dan mengoptimalkan kueri — Identifikasi kueri lambat dengan
list_slow_queriesatau dapatkan rencana eksekusi melaluiexplain_sql_statement. - Menjelajahi skema database — Daftar tabel dengan
get_database_tablesatau lihat detail kolom menggunakandescribe_table_schema. - Mengelola cabang dan endpoint — Buat cabang dengan
create_branchatau kontrol endpoint komputasi sepertisuspend_postgres_endpoint.
Server MCP Terhosting
npx add-mcp 'https://mcp.neon.tech/mcp'Terpasang ke Claude Code, Codex, Cursor, dan lainnya
Dokumentasi
Server MCP Neon
Server MCP Neon adalah alat sumber terbuka yang memungkinkan Anda berinteraksi dengan database Postgres Lakebase di Neon menggunakan bahasa alami.
Model Context Protocol (MCP) adalah protokol terstandarisasi yang dirancang untuk mengelola konteks antara model bahasa besar (LLM) dan sistem eksternal. Repositori ini menyediakan Server MCP jarak jauh untuk Neon.
Server MCP Neon bertindak sebagai jembatan antara permintaan bahasa alami dan API Neon. Dibangun di atas MCP, server ini menerjemahkan permintaan Anda menjadi panggilan API yang diperlukan, memungkinkan Anda mengelola tugas seperti membuat proyek dan cabang, menjalankan kueri, dan melakukan migrasi database dengan mulus.
Beberapa fitur utama dari server MCP Neon meliputi:
- Interaksi bahasa alami: Kelola database Neon menggunakan perintah percakapan yang intuitif.
- Manajemen database yang disederhanakan: Lakukan tindakan kompleks tanpa menulis SQL atau menggunakan API Neon secara langsung.
- Aksesibilitas untuk non-pengembang: Memberdayakan pengguna dengan latar belakang teknis yang beragam untuk berinteraksi dengan database Neon.
- Dukungan migrasi database: Manfaatkan kemampuan branching Neon untuk perubahan skema database yang diprakarsai melalui bahasa alami.
Misalnya, di Claude Code, atau Klien MCP mana pun, Anda dapat menggunakan bahasa alami untuk menyelesaikan hal-hal dengan Neon, seperti:
Let's create a new Postgres database, and call it "my-database". Let's then create a table called users with the following columns: id, name, email, and password.I want to run a migration on my project called "my-project" that alters the users table to add a new column called "created_at".Can you give me a summary of all of my Neon projects and what data is in each one?
[!WARNING]
Pertimbangan Keamanan Server MCP Neon
Server MCP Neon memberikan kemampuan manajemen database yang kuat melalui permintaan bahasa alami. Selalu tinjau dan otorisasi tindakan yang diminta oleh LLM sebelum dieksekusi. Pastikan hanya pengguna dan aplikasi yang berwenang yang memiliki akses ke Server MCP Neon.Server MCP Neon ditujukan untuk pengembangan lokal dan integrasi IDE saja. Kami tidak merekomendasikan penggunaan Server MCP Neon di lingkungan produksi. Server ini dapat mengeksekusi operasi kuat yang dapat menyebabkan perubahan yang tidak disengaja atau tidak sah.
Untuk informasi lebih lanjut, lihat panduan keamanan MCP →.
Menyiapkan Server MCP Neon
Ada beberapa opsi untuk menyiapkan Server MCP Neon:
- Pengaturan Cepat dengan Kunci API (Cursor, VS Code, dan Claude Code): Jalankan
neon@latest inituntuk mengonfigurasi Server MCP Neon, keterampilan agen, dan ekstensi VS Code secara otomatis dengan satu perintah. - Server MCP Jarak Jauh (Autentikasi Berbasis OAuth): Hubungkan ke server MCP terkelola Neon menggunakan OAuth untuk autentikasi. Metode ini lebih nyaman karena menghilangkan kebutuhan untuk mengelola kunci API. Selain itu, Anda akan secara otomatis menerima fitur dan peningkatan terbaru segera setelah dirilis.
- Server MCP Jarak Jauh (Autentikasi Berbasis Kunci API): Hubungkan ke server MCP terkelola Neon menggunakan kunci API untuk autentikasi. Metode ini berguna jika Anda ingin menghubungkan agen jarak jauh ke Neon di mana OAuth tidak tersedia. Selain itu, Anda akan secara otomatis menerima fitur dan peningkatan terbaru segera setelah dirilis.
Prasyarat
- Aplikasi Klien MCP.
- Akun Neon.
- Node.js (>= v18.0.0): Unduh dari nodejs.org.
- Jika IP Allow diaktifkan, tambahkan
34.192.103.46dan23.22.233.166ke daftar izin Anda (mcp.neon.techIP statis).
Untuk pengembangan, Anda memerlukan Node.js 22+ (pnpm disediakan melalui Corepack — jalankan corepack enable untuk mengaktifkannya).
Opsi 1. Pengaturan Cepat dengan Kunci API
Tidak ingin membuat kunci API secara manual?
Jalankan neon@latest init untuk mengonfigurasi Server MCP Neon secara otomatis dengan satu perintah:
npx neon@latest init
Ini berfungsi dengan Cursor, VS Code (GitHub Copilot), dan Claude Code. Ini akan mengautentikasi melalui OAuth, membuat kunci API Neon untuk Anda, dan mengonfigurasi editor Anda secara otomatis.
Opsi 2. Server MCP Jarak Jauh yang Dihosting (Autentikasi Berbasis OAuth)
Hubungkan ke server MCP terkelola Neon menggunakan OAuth untuk autentikasi. Ini adalah pengaturan termudah, tidak memerlukan instalasi lokal server ini, dan tidak memerlukan kunci API Neon yang dikonfigurasi di klien.
Jalankan perintah berikut untuk menambahkan Server MCP Neon untuk semua agen dan editor yang terdeteksi di ruang kerja Anda:
npx add-mcp "https://mcp.neon.tech/mcp?category=projects&category=branches&category=endpoints&category=querying&category=schema"
URL tersebut memublikasikan proyek, cabang, titik akhir komputasi, kueri, dan skema. Pratinjau dengan /api/list-tools?category=projects&category=branches&category=endpoints&category=querying&category=schema. URL yang tidak difilter memublikasikan setiap kategori:
npx add-mcp https://mcp.neon.tech/mcp
Tambahkan bendera -g untuk menambahkan Server MCP Neon ke daftar server MCP global alih-alih lingkup proyek.
Atau, Anda dapat menambahkan entri "Neon" berikut ke file konfigurasi server MCP klien Anda (misalnya, mcp.json, mcp_config.json):
{
"mcpServers": {
"Neon": {
"type": "http",
"url": "https://mcp.neon.tech/mcp?category=projects&category=branches&category=endpoints&category=querying&category=schema"
}
}
}
Kiro: Tambahkan berikut ini ke file konfigurasi MCP Kiro Anda (~/.kiro/settings/mcp.json untuk global, atau .kiro/settings/mcp.json untuk lingkup proyek):
{
"mcpServers": {
"Neon": {
"url": "https://mcp.neon.tech/mcp?category=projects&category=branches&category=endpoints&category=querying&category=schema"
}
}
}
Atau gunakan tombol instalasi satu klik di bagian atas README ini. Untuk informasi lebih lanjut, lihat dokumentasi MCP Kiro.
- Mulai ulang atau segarkan klien MCP Anda.
- Jendela OAuth akan terbuka di browser Anda. Ikuti petunjuk untuk mengotorisasi klien MCP Anda mengakses akun Neon Anda.
Dengan autentikasi berbasis OAuth, server MCP akan, secara default, beroperasi pada proyek di bawah akun Neon pribadi Anda. Untuk mengakses atau mengelola proyek yang menjadi milik organisasi, Anda harus secara eksplisit memberikan
org_idatauproject_iddalam prompt Anda ke klien MCP.
Opsi 3. Server MCP Jarak Jauh yang Dihosting (Autentikasi Berbasis Kunci API)
Server MCP Jarak Jauh juga mendukung autentikasi menggunakan kunci API di header Authorization jika klien Anda mendukungnya.
Buat kunci API Neon di Konsol Neon. Selanjutnya, jalankan perintah berikut untuk menambahkan Server MCP Neon untuk semua agen dan editor yang terdeteksi di ruang kerja Anda:
npx add-mcp "https://mcp.neon.tech/mcp?category=projects&category=branches&category=endpoints&category=querying&category=schema" --header "Authorization: Bearer <$NEON_API_KEY>"
Atau, Anda dapat menambahkan entri "Neon" berikut ke file konfigurasi server MCP klien Anda (misalnya, mcp.json, mcp_config.json):
{
"mcpServers": {
"Neon": {
"type": "http",
"url": "https://mcp.neon.tech/mcp?category=projects&category=branches&category=endpoints&category=querying&category=schema",
"headers": {
"Authorization": "Bearer <$NEON_API_KEY>"
}
}
}
}
Berikan kunci API organisasi untuk membatasi akses hanya ke proyek di bawah organisasi tersebut.
Lingkup dan Mode Hanya-Baca
Neon MCP mengiklankan lingkup OAuth read dan write. Klien MCP Anda dapat meminta ini, atau Anda dapat membuat pilihan di UI izin OAuth. * diperlakukan sebagai tulis jika klien masih mengirimkannya.
Mode hanya-baca membatasi alat yang tersedia, menonaktifkan operasi tulis seperti membuat proyek, cabang, atau menjalankan migrasi. Alat hanya-baca termasuk mencantumkan proyek, mendeskripsikan skema, mengkueri data, dan melihat metrik kinerja.
Anda dapat mengatur mode hanya-baca dengan dua cara:
- Pemilihan lingkup OAuth (disarankan): Di OAuth, pilih hanya-baca dengan menghapus centang Akses penuh di UI otorisasi.
- Parameter kueri
readonly: Tambahkan?readonly=trueke URL server MCP Anda:
{
"mcpServers": {
"Neon": {
"url": "https://mcp.neon.tech/mcp?readonly=true"
}
}
}
Bagaimana parameter kueri berperilaku:
- Alur kunci API:
readonly=trueadalah cara untuk mengaktifkan mode hanya-baca (tidak ada pertukaran lingkup OAuth dalam alur ini). - Alur OAuth:
readonly=truemenimpa lingkup OAuth. Tanpa itu, hanya-baca ditentukan oleh lingkup yang dipilih di UI persetujuan OAuth.
Header HTTP lama x-read-only juga didukung sebagai cadangan (prioritas lebih rendah daripada parameter kueri).
Catatan: Mode hanya-baca membatasi alat mana yang tersedia. Selanjutnya, alat
run_sqltetap tersedia hanya untuk kueri hanya-baca.
Parameter Kueri URL untuk Kontrol Akses
Konteks pemberian (kategori lingkup, lingkup proyek, mode hanya-baca) dikonfigurasi melalui parameter kueri URL pada URL server MCP. Konfigurasi berjalan dengan setiap permintaan dan berlaku segera — tidak perlu autentikasi ulang.
| Param | Deskripsi | Contoh |
|---|---|---|
readonly | Aktifkan mode hanya-baca (true/false) | ?readonly=true |
category | Batasi ke kategori alat tertentu (diulang atau CSV) | ?category=querying&category=schema |
projectId | Lingkup semua operasi ke satu proyek | ?projectId=proj-123 |
Contoh hanya-baca + lingkup proyek:
{
"mcpServers": {
"Neon": {
"url": "https://mcp.neon.tech/mcp?readonly=true&projectId=my-project-id"
}
}
}
Contoh filter kategori (hanya alat kueri dan skema):
{
"mcpServers": {
"Neon": {
"url": "https://mcp.neon.tech/mcp?category=querying&category=schema"
}
}
}
Anda dapat mempratinjau alat mana yang terlihat untuk konfigurasi apa pun menggunakan titik akhir /api/list-tools (tanpa autentikasi):
curl "https://mcp.neon.tech/api/list-tools?readonly=true&category=querying"
Alat yang tersedia dalam mode hanya-baca
Alat host: list_organizations, describe_branch, run_sql, run_sql_transaction, get_database_tables, describe_table_schema, list_slow_queries, explain_sql_statement, inspect_database, get_neon_auth_config, search, fetch, list_docs_resources, get_doc_resource.
Alat Management API yang dihasilkan yang merupakan GET dan tidak mengembalikan rahasia, plus query_logs (POST, hanya-baca). Pratinjau set yang tepat dengan /api/list-tools?readonly=true.
Alat yang memerlukan akses tulis:
- Penulisan Management API yang dihasilkan (
create_project,create_branch,delete_project, …) get_connection_string(string koneksi membawa kata sandi peran istimewa, sehingga ditahan dalam mode hanya-baca; salin dari Konsol Neon sebagai gantinya)prepare_database_migration,complete_database_migrationprepare_query_tuning,complete_query_tuning
Transport Server-Sent Events (SSE) (Tidak digunakan lagi)
MCP mendukung dua transport server jarak jauh: Server-Sent Events (SSE) yang tidak digunakan lagi dan Streamable HTTP yang lebih baru dan direkomendasikan. Jika klien LLM Anda belum mendukung Streamable HTTP, Anda dapat mengalihkan titik akhir dari https://mcp.neon.tech/mcp ke https://mcp.neon.tech/sse untuk menggunakan SSE sebagai gantinya.
Jalankan perintah berikut untuk menambahkan Server MCP Neon untuk semua agen dan editor yang terdeteksi di ruang kerja Anda menggunakan transport SSE:
npx add-mcp https://mcp.neon.tech/sse --type sse
Arsitektur Server Jarak Jauh
Server jarak jauh berjalan sebagai aplikasi Next.js App Router di Vercel di mcp.neon.tech.
[!NOTE] Jalur root
/mengarahkan ke dokumen Server MCP Neon. Tidak ada halaman arahan.
Area implementasi inti:
app/api/[transport]/route.ts: Titik akhir transport MCP untuk Streamable HTTP (/mcp) dan SSE (/sse)app/api/authorize/,app/callback/,app/api/token/,app/api/revoke/: Titik akhir alur OAuthapp/.well-known/: Titik akhir metadata penemuan OAuthmcp/: Server MCP, alat, penangan, analitik, dan integrasi Sentrylib/: Pembantu yang kompatibel dengan Next.js (OAuth, konfigurasi, penanganan kesalahan)mcp/utils/read-only.ts: Penanganan mode hanya-baca dan lingkup
Panduan
- Panduan Server MCP Neon
- Hubungkan Klien MCP ke Neon
- Cursor dengan Server MCP Neon
- Claude Code dengan Server MCP Neon
- Claude Desktop dengan Server MCP Neon
- Cline dengan Server MCP Neon
- Windsurf dengan Server MCP Neon
- Zed dengan Server MCP Neon
Fitur
Alat yang Didukung
Server MCP Neon menyediakan tindakan berikut, yang diekspos sebagai "alat" ke Klien MCP. Anda dapat menggunakan alat ini untuk berinteraksi dengan proyek dan database Neon Anda menggunakan perintah bahasa alami.
Metadata Lingkup Alat
Setiap definisi alat menyertakan kategori scope yang digunakan untuk pemfilteran alat berbasis pemberian dan UX persetujuan. Kategori saat ini adalah:
projectsbranchesendpointssnapshotsschemaqueryingneon_authdata_apiobservabilitydocsfunctionsstoragenull(alat tanpa kategori lingkup)
Catatan:
- Alat Management API berasal dari
@neon/tools. Pemilih adalah jalur SDK (projects.list); nama MCP yang dipublikasikan berawalan kata kerja (list_projects,delete_project,query_logs). Nama historis tetap di tempat yang sudah ada (describe_project,create_branch,reset_from_parent,compare_database_schema,provision_neon_auth,provision_neon_data_api,list_branch_computes). ?category=branchesmencakup alat cabang, peran, dan basis data (list_postgres_roles,create_postgres_database, …). Token yang sudah diterbitkan untukbranchesmendapatkan akses tulis tersebut. Daftar komputasi adalah?category=endpoints. Pemulihan snapshot adalah?category=snapshots.- Penulisan izin dan anggota proyek tidak dipublikasikan.
list_project_membersdanlist_project_permissionsadalah operasi baca. - Alat skema (
?category=schema) adalah alat hostget_database_tablesdandescribe_table_schema, pluscompare_database_schemayang dihasilkan. - Penegakan hanya-baca masih bergantung pada
readOnlySafedan logika hanya-baca sisi server;scopeadalah metadata kategori, bukan sakelar baca/tulis yang berdiri sendiri. - Dalam mode lingkup proyek (
?projectId=...), alat tanpa jalur proyek (list_projects,create_project,list_organizations,list_regions,search,fetch, …) disembunyikan.delete_projectjuga disembunyikan.
Manajemen Proyek:
list_projects: Menampilkan daftar proyek Neon.limitmembatasi berapa banyak item yang dikembalikan.describe_project: Mengambil proyek Neon berdasarkan id ({ "project_id": "…" }).create_project: Membuat proyek Neon dan menunggu komputasi default. Tidak mengembalikan string koneksi. Argumennya adalah{ "name": "…", "org_id": "…", "region_id": "…" }. Panggilget_connection_stringsetelah berhasil.delete_project: Menghapus proyek Neon yang ada. Argumennya adalah{ "project_id": "…" }.list_organizations: Menampilkan semua organisasi yang dapat diakses pengguna saat ini. Opsional filter berdasarkan nama atau ID organisasi menggunakan parameter pencarian.
Manajemen Cabang:
list_branches: Menampilkan daftar cabang dalam sebuah proyek. Gunakan untuk mengubah nama cabang menjadi idbr-….list_credentials,create_credential,revoke_credential,rotate_credential: Kredensial lingkup cabang untuk Object Storage dan AI Gateway.revealbukan alat; rotasi mengganti rahasia di tempat dan tidak idempoten.create_branch: Membuat cabang dengan komputasi baca-tulis dan menunggu hingga siap. Tidak mengembalikan string koneksi. Argumennya adalah{ "project_id": "…", "name": "feature-x" }. Berikanno_compute: trueuntuk melewati endpoint. Panggilget_connection_stringsetelah berhasil.reset_from_parent: Mengatur ulang cabang ke HEAD induk saat ini ({ "project_id": "…", "branch_id": "br-…" }). Membuang penulisan sejak cabang bercabang.preserve_under_namediperlukan saat cabang memiliki anak; anak-anak tersebut pindah ke cabang baru. Hanya HEAD induk; pemulihan titik-waktu adalahrestore_snapshot.delete_branch: Menghapus cabang ({ "project_id": "…", "branch_id": "br-…" }).describe_branch: Mengambil pohon basis data, skema, tabel, tampilan, dan fungsi pada sebuah cabang.- Alat cabang yang dihasilkan mengambil
branch_idsebagai id cabang (br-...), bukan nama. restore_snapshot: Memulihkan snapshot. Berikantarget_branch_iduntuk memulihkan ke cabang yang ada; hilangkan untuk membuat yang baru.
Endpoint komputasi (?category=endpoints):
list_postgres_endpoints,list_branch_computes,get_postgres_endpoint,create_postgres_endpoint,update_postgres_endpoint,delete_postgres_endpoint,start_postgres_endpoint,suspend_postgres_endpoint,restart_postgres_endpoint
Snapshot (?category=snapshots):
list_snapshots,get_snapshot_schedule,set_snapshot_schedule,create_snapshot,update_snapshot,delete_snapshot,restore_snapshot
Skema (?category=schema):
get_database_tables,describe_table_schemacompare_database_schema: Perbedaan skema SQL dari satu basis data terhadap cabang lain.database_namewajib. Menghilangkanbase_branch_idmembandingkan dengan induk. Opsionallsn,timestamp,base_lsn,base_timestamphanya untuk titik-waktu.
Eksekusi Kueri SQL:
get_connection_string: Mengembalikan string koneksi basis data Anda.run_sql: Mengeksekusi satu kueri SQL terhadap basis data Neon yang ditentukan. Mendukung operasi baca dan tulis.run_sql_transaction: Mengeksekusi serangkaian kueri SQL dalam satu transaksi terhadap basis data Neon.get_database_tables: Menampilkan semua tabel dalam basis data Neon yang ditentukan.describe_table_schema: Mengambil definisi skema tabel tertentu, merinci kolom, tipe data, dan batasan.
Migrasi Basis Data (Perubahan Skema):
prepare_database_migration: Memulai proses migrasi basis data. Yang penting, ini membuat cabang sementara untuk menerapkan dan menguji migrasi dengan aman sebelum memengaruhi cabang utama.complete_database_migration: Menyelesaikan dan menerapkan migrasi basis data yang disiapkan ke cabang utama. Tindakan ini menggabungkan perubahan dari cabang migrasi sementara dan membersihkan sumber daya sementara.
Kueri dan Optimasi SQL:
inspect_database: Menjalankan salah satu dari 15 diagnostik Postgres hanya-baca yang telah ditentukan terhadap sebuah cabang — ukuran relasi dan indeks, penggunaan indeks dan pemindaian sekuensial, kueri aktif dan kunci, kueri terberat dan paling sering, tingkat cache hit dan ukuran set kerja, perkiraan autovacuum dan bloat, serta status replikasi. Pemeriksaan yang sama dengan perintah CLIneon inspect db. Hilangkandatabase_nameuntuk mencakup setiap basis data di cabang; berikan nama untuk memeriksa satu. Empat di antaranya memerlukan ekstensipg_stat_statementsatauneon.list_slow_queries: Mengidentifikasi hambatan kinerja dengan menemukan kueri paling lambat dalam basis data. Memerlukan ekstensi pg_stat_statements.explain_sql_statement: Menyediakan rencana eksekusi terperinci untuk kueri SQL untuk membantu mengidentifikasi hambatan kinerja.prepare_query_tuning: Menganalisis kinerja kueri dan menyarankan optimasi, seperti pembuatan indeks. Membuat cabang sementara untuk menguji optimasi ini dengan aman.complete_query_tuning: Menyelesaikan penyesuaian kueri dengan menerapkan optimasi ke cabang utama atau membuangnya. Membersihkan cabang penyesuaian sementara.
Neon Auth (?category=neon_auth):
provision_neon_auth,get_auth,disable_auth,update_auth_configget_neon_auth_config: alat host; rahasia disunting. Gunakan alat tulis Auth yang dihasilkan untuk mengubah pengaturan.list_auth_oauth_providers,add_auth_oauth_provider,update_auth_oauth_provider,delete_auth_oauth_providerlist_auth_trusted_domains,add_auth_trusted_domain,delete_auth_trusted_domaincreate_auth_user,delete_auth_user,update_auth_user_role
Neon Data API (?category=data_api):
provision_neon_data_api,get_data_api,update_data_api,delete_data_api: Mengelola Data API untuk basis data cabang.
Pencarian dan Penemuan:
search: Mencari di seluruh organisasi, proyek, dan cabang yang cocok dengan kueri. Mengembalikan ID, judul, dan tautan langsung ke Konsol Neon.fetch: Mengambil informasi terperinci tentang organisasi, proyek, atau cabang tertentu menggunakan ID (biasanya dari alat pencarian).
Observabilitas (?category=observability): alat-alat ini memerlukan Neon Platform Beta dan saat ini hanya tersedia untuk proyek di wilayah aws-us-east-2. Cabang tanpa akses log mengembalikan HTTP 404 dengan alasan telemetry_not_enabled.
query_logs: Mengkueri log OpenTelemetry untuk sebuah cabang. POST di Management API; diperlakukan sebagai hanya-baca oleh server ini.list_log_fields: Menampilkan bidang log yang dapat Anda enumerasi nilainya pada sebuah cabang.list_log_field_values: Menampilkan nilai berbeda dari bidang log dalam cabang dan jendela waktu.
Dokumentasi dan Sumber Daya (?category=docs):
list_docs_resources: Menampilkan semua halaman dokumentasi Neon yang tersedia dengan mengambil indeks darihttps://neon.com/docs/llms.txt. Mengembalikan URL dan judul halaman yang dapat diambil satu per satu menggunakan alatget_doc_resource.get_doc_resource: Mengambil halaman dokumentasi Neon tertentu sebagai konten markdown. Gunakan alatlist_docs_resourcesterlebih dahulu untuk menemukan slug halaman yang tersedia, lalu berikan slug ke alat ini.
Fungsi (?category=functions):
list_functions,get_function,update_function,delete_function,deploy_functionlist_functions_custom_domains,register_functions_custom_domain,delete_functions_custom_domainlist_triggers,get_trigger,create_trigger,update_trigger,delete_trigger: Pemicu fungsi terjadwal (type: "schedule", cron UTC lima bidang).
Penyimpanan (?category=storage):
list_storage_buckets,create_storage_bucket,delete_storage_bucketlist_storage_objects,delete_storage_object,delete_storage_objects_by_prefixpresign_storage_object,get_storage
Migrasi
Migrasi adalah cara untuk mengelola perubahan pada skema basis data Anda dari waktu ke waktu. Dengan server MCP Neon, LLM diberdayakan untuk melakukan migrasi dengan aman menggunakan perintah "Mulai" (prepare_database_migration) dan "Komit" (complete_database_migration) yang terpisah.
Perintah "Mulai" menerima migrasi dan menjalankannya di cabang sementara baru. Setelah kembali, perintah ini memberi petunjuk kepada LLM bahwa ia harus menguji migrasi di cabang ini. LLM kemudian dapat menjalankan perintah "Komit" untuk menerapkan migrasi ke cabang asli.
Pengembangan
Proyek ini menggunakan pnpm sebagai manajer paket, dikunci melalui Corepack.
Struktur Proyek
Kode server MCP berada di akar repositori, aplikasi Next.js yang diterapkan ke Vercel di mcp.neon.tech.
corepack enable
pnpm install
Lihat CONTRIBUTING.md untuk cara menambahkan alat. Argumen alat adalah snake_case.
Pengembangan Lokal
# Start the Next.js dev server (for the remote MCP server)
pnpm dev
Linting dan Pemeriksaan Tipe
pnpm lint
pnpm typecheck
Variabel Lingkungan
Diperlukan untuk runtime server jarak jauh:
| Variabel | Deskripsi |
|---|---|
SERVER_HOST | URL Server (default ke VERCEL_URL) |
UPSTREAM_OAUTH_HOST | URL penyedia OAuth Neon |
CLIENT_ID | ID klien OAuth |
CLIENT_SECRET | Rahasia klien OAuth |
KV_URL | URL Vercel KV (Upstash Redis) |
OAUTH_DATABASE_URL | URL Postgres untuk penyimpanan token |
Opsional:
| Variabel | Deskripsi |
|---|---|
LOG_LEVEL | Tingkat log Winston: error, warn, info (default), debug, verbose, silly |
NEON_MCP_DISABLE_ANALYTICS | Setel ke 1 untuk menonaktifkan analitik produk |
Piramida Pengujian
Semua pengujian berjalan dari akar repositori.
# Unit tests
pnpm test:unit
# Integration tests
pnpm test:integration
# MCP protocol end-to-end tests (real MCP client/server tool calls)
pnpm test:e2e:mcp
# Website end-to-end tests (Playwright; provisions/validates ephemeral DB first)
pnpm test:e2e:web
# Full end-to-end suite
pnpm test:e2e
# Full test pyramid (unit + integration + e2e; used in CI)
pnpm test
Strategi pengujian:
- Utamakan E2E untuk transport/protokol dan perilaku yang terlihat pengguna.
- Gunakan pengujian integrasi untuk kontrak alat yang deterministik dan perilaku alur kerja.
- Gunakan pengujian unit untuk logika murni dan kasus tepi.
- Hindari mengandalkan uptime pihak ketiga dalam pengujian gerbang penggabungan; tiru dependensi eksternal di tingkat integrasi/unit.
Penerapan
Vercel menerapkan server jarak jauh secara otomatis dari konfigurasi cabang repositori. Lingkungan pratinjau tersedia untuk permintaan tarik.
Telemetri
Server MCP Neon mengumpulkan analitik produk dan laporan kesalahan untuk membantu kami memahami penggunaan dan meningkatkan keandalan:
- Analitik produk (Segment): saat Anda terhubung dengan akun terautentikasi, server mengirimkan event
identifydengan ID akun Neon, nama, dan alamat email Anda. Server juga melacak awal sesi (server_init), setiap pemanggilan alat (tool_call), dan error server tak terduga (server_error). Event pemanggilan alat mencakup nama alat, metode autentikasi, dan klien, bukan argumen alat atau hasil kueri. Pemanggilan alat khusus dokumentasi tanpa akun dilacak secara anonim. Event dikirim ketrack.neon.tech, endpoint analitik milik Neon. - Pelaporan error (Sentry): error server tak terduga dilaporkan dengan jejak tumpukan dan konteks permintaan.
Koleksi ini tercakup dalam Kebijakan Privasi Neon. Untuk menonaktifkan analitik saat menjalankan server sendiri, atur NEON_MCP_DISABLE_ANALYTICS=1. Bendera tersebut tidak menonaktifkan Sentry.