Neon

resmi

Berinteraksi 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_projects dan create_project.
  • Menjalankan kueri SQL — Jalankan SQL tunggal atau transaksional terhadap database menggunakan run_sql atau run_sql_transaction.
  • Melakukan migrasi database yang aman — Mulai migrasi pada cabang sementara dengan prepare_database_migration, lalu terapkan melalui complete_database_migration.
  • Memeriksa dan mengoptimalkan kueri — Identifikasi kueri lambat dengan list_slow_queries atau dapatkan rencana eksekusi melalui explain_sql_statement.
  • Menjelajahi skema database — Daftar tabel dengan get_database_tables atau lihat detail kolom menggunakan describe_table_schema.
  • Mengelola cabang dan endpoint — Buat cabang dengan create_branch atau kontrol endpoint komputasi seperti suspend_postgres_endpoint.

Server MCP Terhosting

npx add-mcp 'https://mcp.neon.tech/mcp'

Terpasang ke Claude Code, Codex, Cursor, dan lainnya

Dokumentasi

Neon Logo fallback

Server MCP Neon

Install MCP Server in Cursor Add to Kiro

Server MCP Neon adalah alat sumber terbuka yang memungkinkan Anda berinteraksi dengan database Postgres Lakebase di Neon menggunakan bahasa alami.

License: MIT

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:

  1. Pengaturan Cepat dengan Kunci API (Cursor, VS Code, dan Claude Code): Jalankan neon@latest init untuk mengonfigurasi Server MCP Neon, keterampilan agen, dan ekstensi VS Code secara otomatis dengan satu perintah.
  2. 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.
  3. 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.46 dan 23.22.233.166 ke daftar izin Anda (mcp.neon.tech IP 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_id atau project_id dalam 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:

  1. Pemilihan lingkup OAuth (disarankan): Di OAuth, pilih hanya-baca dengan menghapus centang Akses penuh di UI otorisasi.
  2. Parameter kueri readonly: Tambahkan ?readonly=true ke URL server MCP Anda:
{
  "mcpServers": {
    "Neon": {
      "url": "https://mcp.neon.tech/mcp?readonly=true"
    }
  }
}

Bagaimana parameter kueri berperilaku:

  • Alur kunci API: readonly=true adalah cara untuk mengaktifkan mode hanya-baca (tidak ada pertukaran lingkup OAuth dalam alur ini).
  • Alur OAuth: readonly=true menimpa 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_sql tetap 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.

ParamDeskripsiContoh
readonlyAktifkan mode hanya-baca (true/false)?readonly=true
categoryBatasi ke kategori alat tertentu (diulang atau CSV)?category=querying&category=schema
projectIdLingkup 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_migration
  • prepare_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 OAuth
  • app/.well-known/: Titik akhir metadata penemuan OAuth
  • mcp/: Server MCP, alat, penangan, analitik, dan integrasi Sentry
  • lib/: Pembantu yang kompatibel dengan Next.js (OAuth, konfigurasi, penanganan kesalahan)
  • mcp/utils/read-only.ts: Penanganan mode hanya-baca dan lingkup

Panduan

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:

  • projects
  • branches
  • endpoints
  • snapshots
  • schema
  • querying
  • neon_auth
  • data_api
  • observability
  • docs
  • functions
  • storage
  • null (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=branches mencakup alat cabang, peran, dan basis data (list_postgres_roles, create_postgres_database, …). Token yang sudah diterbitkan untuk branches mendapatkan akses tulis tersebut. Daftar komputasi adalah ?category=endpoints. Pemulihan snapshot adalah ?category=snapshots.
  • Penulisan izin dan anggota proyek tidak dipublikasikan. list_project_members dan list_project_permissions adalah operasi baca.
  • Alat skema (?category=schema) adalah alat host get_database_tables dan describe_table_schema, plus compare_database_schema yang dihasilkan.
  • Penegakan hanya-baca masih bergantung pada readOnlySafe dan logika hanya-baca sisi server; scope adalah 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_project juga disembunyikan.

Manajemen Proyek:

  • list_projects: Menampilkan daftar proyek Neon. limit membatasi 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": "…" }. Panggil get_connection_string setelah 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 id br-….
  • list_credentials, create_credential, revoke_credential, rotate_credential: Kredensial lingkup cabang untuk Object Storage dan AI Gateway. reveal bukan 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" }. Berikan no_compute: true untuk melewati endpoint. Panggil get_connection_string setelah berhasil.
  • reset_from_parent: Mengatur ulang cabang ke HEAD induk saat ini ({ "project_id": "…", "branch_id": "br-…" }). Membuang penulisan sejak cabang bercabang. preserve_under_name diperlukan saat cabang memiliki anak; anak-anak tersebut pindah ke cabang baru. Hanya HEAD induk; pemulihan titik-waktu adalah restore_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_id sebagai id cabang (br-...), bukan nama.
  • restore_snapshot: Memulihkan snapshot. Berikan target_branch_id untuk 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_schema
  • compare_database_schema: Perbedaan skema SQL dari satu basis data terhadap cabang lain. database_name wajib. Menghilangkan base_branch_id membandingkan dengan induk. Opsional lsn, timestamp, base_lsn, base_timestamp hanya 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 CLI neon inspect db. Hilangkan database_name untuk mencakup setiap basis data di cabang; berikan nama untuk memeriksa satu. Empat di antaranya memerlukan ekstensi pg_stat_statements atau neon.
  • 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_config
  • get_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_provider
  • list_auth_trusted_domains, add_auth_trusted_domain, delete_auth_trusted_domain
  • create_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 dari https://neon.com/docs/llms.txt. Mengembalikan URL dan judul halaman yang dapat diambil satu per satu menggunakan alat get_doc_resource.
  • get_doc_resource: Mengambil halaman dokumentasi Neon tertentu sebagai konten markdown. Gunakan alat list_docs_resources terlebih 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_function
  • list_functions_custom_domains, register_functions_custom_domain, delete_functions_custom_domain
  • list_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_bucket
  • list_storage_objects, delete_storage_object, delete_storage_objects_by_prefix
  • presign_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:

VariabelDeskripsi
SERVER_HOSTURL Server (default ke VERCEL_URL)
UPSTREAM_OAUTH_HOSTURL penyedia OAuth Neon
CLIENT_IDID klien OAuth
CLIENT_SECRETRahasia klien OAuth
KV_URLURL Vercel KV (Upstash Redis)
OAUTH_DATABASE_URLURL Postgres untuk penyimpanan token

Opsional:

VariabelDeskripsi
LOG_LEVELTingkat log Winston: error, warn, info (default), debug, verbose, silly
NEON_MCP_DISABLE_ANALYTICSSetel 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 identify dengan 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 ke track.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.