Neon
resmiNeon sunucusuz Postgres platformu ile etkileşim kurun
Neon MCP ile neler yapabilirsiniz?
- Proje oluşturma ve yönetme — Yeni bir Postgres veritabanı başlatmak, mevcut projeleri listelemek veya
create_projectya dalist_projectsile bir projeyi silmek için istekte bulunun. - SQL sorguları ve işlemleri çalıştırma —
run_sqlveyarun_sql_transactionkullanarak bir veritabanına karşı yazma işlemleri dahil tek veya çok deyimli SQL çalıştırın. - Performansı inceleme ve optimize etme —
list_slow_queries,explain_sql_statementveyainspect_databaseile yavaş sorguları belirleyin, yürütme planları alın veya önbellek isabet oranı gibi tanılamaları çalıştırın. - Şemaları güvenle taşıma — Geçici bir dalda geçiş başlatın, test edin ve
prepare_database_migrationilecomplete_database_migrationkullanarak ana dala aktarın. - Veritabanı yapısını keşfetme —
get_database_tables,describe_table_schemaveyacompare_database_schemakullanarak tabloları listeleyin, sütun şemalarını tanımlayın veya dallar arasındaki şemaları karşılaştırın.
Barındırılan MCP Sunucusu
npx add-mcp 'https://mcp.neon.tech/mcp'Claude Code, Codex, Cursor ve daha fazlasına kurulur
Dokümantasyon
Neon MCP Sunucusu
Neon MCP Sunucusu, Neon'daki Lakebase Postgres veritabanlarınızla doğal dil kullanarak etkileşim kurmanızı sağlayan açık kaynaklı bir araçtır.
Model Context Protocol (MCP), büyük dil modelleri (LLM'ler) ile harici sistemler arasındaki bağlamı yönetmek için tasarlanmış standartlaştırılmış bir protokoldür. Bu depo, Neon için uzaktan bir MCP Sunucusu sağlar.
Neon'un MCP sunucusu, doğal dil istekleri ile Neon API arasında bir köprü görevi görür. MCP üzerine inşa edilen bu sunucu, isteklerinizi gerekli API çağrılarına çevirerek proje ve dal oluşturma, sorgu çalıştırma ve veritabanı geçişlerini gerçekleştirme gibi görevleri sorunsuz bir şekilde yönetmenizi sağlar.
Neon MCP sunucusunun öne çıkan bazı özellikleri şunlardır:
- Doğal dil etkileşimi: Neon veritabanlarını sezgisel, konuşma tabanlı komutlarla yönetin.
- Basitleştirilmiş veritabanı yönetimi: SQL yazmadan veya Neon API'yi doğrudan kullanmadan karmaşık işlemler gerçekleştirin.
- Geliştirici olmayanlar için erişilebilirlik: Farklı teknik geçmişlere sahip kullanıcıların Neon veritabanlarıyla etkileşim kurmasını sağlayın.
- Veritabanı geçiş desteği: Doğal dil ile başlatılan veritabanı şeması değişiklikleri için Neon'un dallanma özelliklerinden yararlanın.
Örneğin, Claude Code veya herhangi bir MCP İstemcisinde, Neon ile şu tür işleri gerçekleştirmek için doğal dili kullanabilirsiniz:
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]
Neon MCP Sunucusu Güvenlik Hususları
Neon MCP Sunucusu, doğal dil istekleri aracılığıyla güçlü veritabanı yönetimi yetenekleri sağlar. Yürütmeden önce LLM tarafından istenen eylemleri her zaman gözden geçirin ve yetkilendirin. Neon MCP Sunucusuna yalnızca yetkili kullanıcıların ve uygulamaların erişebildiğinden emin olun.Neon MCP Sunucusu yalnızca yerel geliştirme ve IDE entegrasyonları için tasarlanmıştır. Neon MCP Sunucusunu üretim ortamlarında kullanmanızı önermiyoruz. Kazara veya yetkisiz değişikliklere yol açabilecek güçlü işlemler gerçekleştirebilir.
Daha fazla bilgi için bkz. MCP güvenlik rehberi →.
Neon MCP Sunucusunu Kurma
Neon MCP Sunucusunu kurmak için birkaç seçenek vardır:
- API Anahtarı ile Hızlı Kurulum (Cursor, VS Code ve Claude Code): Neon'un MCP Sunucusunu, aracı becerilerini ve VS Code uzantısını tek komutla otomatik olarak yapılandırmak için
neon@latest initkomutunu çalıştırın. - Uzaktan MCP Sunucusu (OAuth Tabanlı Kimlik Doğrulama): Kimlik doğrulama için OAuth kullanarak Neon'un yönetilen MCP sunucusuna bağlanın. Bu yöntem, API anahtarlarını yönetme ihtiyacını ortadan kaldırdığı için daha kullanışlıdır. Ayrıca, yayınlandıkları anda en son özellikleri ve iyileştirmeleri otomatik olarak alırsınız.
- Uzaktan MCP Sunucusu (API Anahtarı Tabanlı Kimlik Doğrulama): Kimlik doğrulama için API anahtarı kullanarak Neon'un yönetilen MCP sunucusuna bağlanın. Bu yöntem, OAuth'un bulunmadığı bir yerde Neon'a uzaktan bir aracı bağlamak istiyorsanız kullanışlıdır. Ayrıca, yayınlandıkları anda en son özellikleri ve iyileştirmeleri otomatik olarak alırsınız.
Ön Koşullar
- Bir MCP İstemci uygulaması.
- Bir Neon hesabı.
- Node.js (>= v18.0.0): nodejs.org adresinden indirin.
- IP İzin Listesi etkinse, izin listenize
34.192.103.46ve23.22.233.166adreslerini ekleyin (mcp.neon.techstatik IP'leri).
Geliştirme için Node.js 22+ gerekir (pnpm, Corepack aracılığıyla sağlanır — etkinleştirmek için corepack enable komutunu çalıştırın).
Seçenek 1. API Anahtarı ile Hızlı Kurulum
API anahtarını manuel olarak oluşturmak istemiyor musunuz?
Neon'un MCP Sunucusunu tek komutla otomatik olarak yapılandırmak için neon@latest init komutunu çalıştırın:
npx neon@latest init
Bu, Cursor, VS Code (GitHub Copilot) ve Claude Code ile çalışır. OAuth ile kimlik doğrulaması yapar, sizin için bir Neon API anahtarı oluşturur ve düzenleyicinizi otomatik olarak yapılandırır.
Seçenek 2. Uzaktan Barındırılan MCP Sunucusu (OAuth Tabanlı Kimlik Doğrulama)
Kimlik doğrulama için OAuth kullanarak Neon'un yönetilen MCP sunucusuna bağlanın. Bu, en kolay kurulumdur, bu sunucunun yerel olarak kurulmasını gerektirmez ve istemcide yapılandırılmış bir Neon API anahtarı gerektirmez.
Çalışma alanınızdaki tespit edilen tüm aracılar ve düzenleyiciler için Neon MCP Sunucusunu eklemek üzere aşağıdaki komutu çalıştırın:
npx add-mcp "https://mcp.neon.tech/mcp?category=projects&category=branches&category=endpoints&category=querying&category=schema"
Bu URL; projeleri, dalları, bilgi işlem uç noktalarını, sorgulamayı ve şemayı yayınlar. /api/list-tools?category=projects&category=branches&category=endpoints&category=querying&category=schema ile önizleyin. Filtrelenmemiş URL tüm kategorileri yayınlar:
npx add-mcp https://mcp.neon.tech/mcp
Neon MCP Sunucusunu proje kapsamlı yerine genel MCP sunucu listesine eklemek için -g bayrağını ekleyin.
Alternatif olarak, istemcinizin MCP sunucu yapılandırma dosyasına (örn. mcp.json, mcp_config.json) aşağıdaki "Neon" girişini ekleyebilirsiniz:
{
"mcpServers": {
"Neon": {
"type": "http",
"url": "https://mcp.neon.tech/mcp?category=projects&category=branches&category=endpoints&category=querying&category=schema"
}
}
}
Kiro: Kiro MCP yapılandırma dosyanıza aşağıdakini ekleyin (genel için ~/.kiro/settings/mcp.json veya proje kapsamlı için .kiro/settings/mcp.json):
{
"mcpServers": {
"Neon": {
"url": "https://mcp.neon.tech/mcp?category=projects&category=branches&category=endpoints&category=querying&category=schema"
}
}
}
Veya bu README'nin üst kısmındaki tek tıklamayla kurulum düğmesini kullanın. Daha fazla bilgi için Kiro MCP belgelerine bakın.
- MCP istemcinizi yeniden başlatın veya yenileyin.
- Tarayıcınızda bir OAuth penceresi açılacaktır. MCP istemcinizin Neon hesabınıza erişmesine izin vermek için istemleri izleyin.
OAuth tabanlı kimlik doğrulamada, MCP sunucusu varsayılan olarak kişisel Neon hesabınızdaki projeler üzerinde çalışır. Bir kuruluşa ait projelere erişmek veya bunları yönetmek için, MCP istemcisine verdiğiniz istemde açıkça
org_idveyaproject_idbelirtmeniz gerekir.
Seçenek 3. Uzaktan Barındırılan MCP Sunucusu (API Anahtarı Tabanlı Kimlik Doğrulama)
Uzaktan MCP Sunucusu, istemciniz destekliyorsa Authorization başlığında bir API anahtarı kullanarak kimlik doğrulamayı da destekler.
Neon Konsolu'nda bir Neon API anahtarı oluşturun. Ardından, çalışma alanınızdaki tespit edilen tüm aracılar ve düzenleyiciler için Neon MCP Sunucusunu eklemek üzere aşağıdaki komutu çalıştırın:
npx add-mcp "https://mcp.neon.tech/mcp?category=projects&category=branches&category=endpoints&category=querying&category=schema" --header "Authorization: Bearer <$NEON_API_KEY>"
Alternatif olarak, istemcinizin MCP sunucu yapılandırma dosyasına (örn. mcp.json, mcp_config.json) aşağıdaki "Neon" girişini ekleyebilirsiniz:
{
"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>"
}
}
}
}
Erişimi yalnızca kuruluş altındaki projelerle sınırlamak için bir kuruluşun API anahtarını sağlayın.
Kapsamlar ve Salt Okunur Mod
Neon MCP, read ve write OAuth kapsamlarını duyurur. MCP istemciniz bunları isteyebilir veya OAuth izinleri arayüzünde seçimi yapabilirsiniz. Bir istemci hâlâ gönderiyorsa * yazma olarak kabul edilir.
Salt okunur mod, hangi araçların kullanılabilir olduğunu kısıtlar; proje oluşturma, dal oluşturma veya geçiş çalıştırma gibi yazma işlemlerini devre dışı bırakır. Salt okunur araçlar; projeleri listeleme, şemaları tanımlama, veri sorgulama ve performans metriklerini görüntülemeyi içerir.
Salt okunur modu iki şekilde ayarlayabilirsiniz:
- Varsayılan MCP URL'si (düzenlenebilir onay):
https://mcp.neon.tech/mcpile bağlanın ve yetkilendirme sayfasında Yazmalara izin ver seçeneğinin işaretini kaldırın. Ayrıca orada bir proje ve bir araç kategorisi alt kümesi seçebilirsiniz. - Parametreli MCP URL'si (sabit onay): MCP sunucu URL'sine
readonly,projectIdve/veyacategoryekleyin. Yetkilendirme sayfası bu izni onaylar ve düzenleyici sunmaz. İzni değiştirmek için URL'yi değiştirin ve yeniden yetkilendirin.
{
"mcpServers": {
"Neon": {
"url": "https://mcp.neon.tech/mcp?readonly=true"
}
}
}
Sorgu parametresinin davranışı:
- API anahtarı akışı:
readonly=true, salt okunur modu etkinleştirmenin yoludur (bu akışta OAuth kapsam değişimi yoktur). URL değişiklikleri bir sonraki istekte uygulanır. - OAuth akışı: MCP URL'sindeki
projectId,categoryvereadonly, yetkilendirme sırasında onaylanan sabit bir izindir.readonly=trueo sayfada yazmalara genişletilemez. Bir belirteç verildikten sonra URL'yi değiştirmek o belirteci genişletmez; yeniden yetkilendirin.
OAuth kaydı için x-read-only, düzenlenebilir onayda başlangıçtaki Yazmalara izin ver varsayılanıdır. Onayı kilitlemez ve readonly=false içeren parametreli bir URL'yi azaltmaz. API anahtarı istekleri, readonly sorgu parametresinin altında, istek başına x-read-only değerini yine de dikkate alır.
Not: Salt okunur mod, hangi araçların kullanılabilir olduğunu kısıtlar. Ayrıca,
run_sqlaracı yalnızca salt okunur sorgular için kullanılabilir durumda kalır.
Erişim Kontrolü için URL Sorgu Parametreleri
İzin bağlamı (kapsam kategorileri, proje kapsamı, salt okunur mod), MCP sunucu URL'sindeki URL sorgu parametreleri aracılığıyla yapılandırılır. API anahtarı istekleri bu parametreleri her istekte uygular. OAuth belirteçleri, yetkilendirme sırasında onaylanan veya düzenlenen izni saklar.
| Parametre | Açıklama | Örnek |
|---|---|---|
readonly | Salt okunur modu etkinleştir (true/false) | ?readonly=true |
category | Belirli araç kategorileriyle sınırla (tekrarlanan veya CSV) | ?category=querying&category=schema |
projectId | Tüm işlemleri tek bir projeye kapsamla | ?projectId=proj-123 |
Salt okunur + proje kapsamlı örnek:
{
"mcpServers": {
"Neon": {
"url": "https://mcp.neon.tech/mcp?readonly=true&projectId=my-project-id"
}
}
}
Kategori filtreli örnek (yalnızca sorgulama ve şema araçları):
{
"mcpServers": {
"Neon": {
"url": "https://mcp.neon.tech/mcp?category=querying&category=schema"
}
}
}
Herhangi bir yapılandırma için hangi araçların görünür olduğunu /api/list-tools uç noktasını kullanarak önizleyebilirsiniz (kimlik doğrulama gerekmez):
curl "https://mcp.neon.tech/api/list-tools?readonly=true&category=querying"
Salt okunur modda kullanılabilen araçlar
Ana bilgisayar araçları: 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.
GET olan ve sır döndürmeyen oluşturulan Yönetim API araçları, ayrıca query_logs (POST, salt okunur). Tam seti /api/list-tools?readonly=true ile önizleyin.
Yazma erişimi gerektiren araçlar:
- Oluşturulan Yönetim API yazmaları (
create_project,create_branch,delete_project, …) get_connection_string(bağlantı dizesi ayrıcalıklı bir rol parolası taşır, bu nedenle salt okunur modda gizlenir; bunun yerine Neon Konsolundan kopyalayın)prepare_database_migration,complete_database_migrationprepare_query_tuning,complete_query_tuning
Sunucu Tarafından Gönderilen Olaylar (SSE) Aktarımı (Kullanımdan Kaldırıldı)
MCP iki uzaktan sunucu aktarımını destekler: kullanımdan kaldırılan Sunucu Tarafından Gönderilen Olaylar (SSE) ve daha yeni, önerilen Akışkan HTTP. LLM istemciniz henüz Akışkan HTTP'yi desteklemiyorsa, SSE kullanmak için uç noktayı https://mcp.neon.tech/mcp adresinden https://mcp.neon.tech/sse adresine değiştirebilirsiniz.
SSE aktarımını kullanarak çalışma alanınızdaki tespit edilen tüm aracılar ve düzenleyiciler için Neon MCP Sunucusunu eklemek üzere aşağıdaki komutu çalıştırın:
npx add-mcp https://mcp.neon.tech/sse --type sse
Uzaktan Sunucu Mimarisi
Uzaktan sunucu, Vercel'de mcp.neon.tech adresinde bir Next.js App Router uygulaması olarak çalışır.
[!NOTE] Kök
/yolu Neon MCP Sunucusu belgelerine yönlendirir. Açılış sayfası yoktur.
Çekirdek uygulama alanları:
app/api/[transport]/route.ts: Akışkan HTTP (/mcp) ve SSE (/sse) için MCP aktarım uç noktasıapp/api/authorize/,app/callback/,app/api/token/,app/api/revoke/: OAuth akış uç noktalarıapp/.well-known/: OAuth keşif meta verisi uç noktalarımcp/: MCP sunucusu, araçlar, işleyiciler, analitik ve Sentry entegrasyonulib/: Next.js uyumlu yardımcılar (OAuth, yapılandırma, hata işleme)mcp/utils/read-only.ts: salt okunur mod ve kapsam işleme
Rehberler
- Neon MCP Sunucu Kılavuzu
- MCP İstemcilerini Neon'a Bağlama
- Cursor ile Neon MCP Sunucusu
- Claude Code ile Neon MCP Sunucusu
- Claude Desktop ile Neon MCP Sunucusu
- Cline ile Neon MCP Sunucusu
- Windsurf ile Neon MCP Sunucusu
- Zed ile Neon MCP Sunucusu
Özellikler
Desteklenen Araçlar
Neon MCP Sunucusu, MCP İstemcilerine "araçlar" olarak sunulan aşağıdaki eylemleri sağlar. Bu araçları, doğal dil komutlarını kullanarak Neon projeleriniz ve veritabanlarınızla etkileşim kurmak için kullanabilirsiniz.
Araç Kapsamı Meta Verileri
Her araç tanımı, izin tabanlı araç filtreleme ve onay deneyimi için kullanılan bir scope kategorisi içerir. Geçerli kategoriler şunlardır:
projectsbranchesendpointssnapshotsschemaqueryingneon_authdata_apiobservabilitydocsfunctionsstoragenull(kapsam kategorisi olmayan araçlar)
Notlar:
- Yönetim API araçları
@neon/toolskaynağından gelir. Seçiciler SDK yollarıdır (projects.list); yayınlanan MCP adları fiil-önceliklidir (list_projects,delete_project,query_logs). Tarihsel adlar, zaten var oldukları yerlerde kalır (describe_project,create_branch,reset_from_parent,compare_database_schema,provision_neon_auth,provision_neon_data_api,list_branch_computes). ?category=branches, dal, rol ve veritabanı araçlarını içerir (list_postgres_roles,create_postgres_database, …).branchesiçin zaten verilmiş bir belirteç bu yazma işlemlerini kazanır. Bilgi işlem listeleme?category=endpointsşeklindedir. Anlık görüntü geri yükleme?category=snapshotsşeklindedir.- Proje üyesi ve izin yazma işlemleri yayınlanmaz.
list_project_membersvelist_project_permissionsokuma işlemleridir. - Şema araçları (
?category=schema), ana bilgisayar araçlarıget_database_tablesvedescribe_table_schemaile oluşturulancompare_database_schemaöğesidir. - Salt okunur zorlama hâlâ
readOnlySafeve sunucu tarafı salt okunur mantığına dayanır;scopekategori meta verisidir, bağımsız bir okuma/yazma anahtarı değildir. - Proje kapsamlı modda (
?projectId=...), proje yolu olmayan araçlar (list_projects,create_project,list_organizations,list_regions,search,fetch, …) gizlenir.delete_projectda gizlenir.
Proje Yönetimi:
list_projects: Neon projelerini listeler.limit, kaç öğenin geri döneceğini sınırlar.describe_project: Bir Neon projesini kimliğe göre getirir ({ "project_id": "…" }).create_project: Bir Neon projesi oluşturur ve varsayılan bilgi işlemin hazır olmasını bekler. Bağlantı dizesi döndürmez. Bağımsız değişkenler{ "name": "…", "org_id": "…", "region_id": "…" }şeklindedir. Başarılı olduktan sonraget_connection_stringçağrısını yapın.delete_project: Mevcut bir Neon projesini siler. Bağımsız değişkenler{ "project_id": "…" }şeklindedir.list_organizations: Geçerli kullanıcının erişebildiği tüm kuruluşları listeler. İsteğe bağlı olarak, arama parametresini kullanarak kuruluş adına veya kimliğine göre filtreleyin.
Dal Yönetimi:
list_branches: Bir projedeki dalları listeler. Bir dal adınıbr-…kimliğine çözmek için kullanın.list_credentials,create_credential,revoke_credential,rotate_credential: Nesne Depolama ve AI Ağ Geçidi için dal kapsamlı kimlik bilgileri.revealbir araç değildir; döndürme, sırları yerinde değiştirir ve idempotent değildir.create_branch: Okuma-yazma bilgi işlemi olan bir dal oluşturur ve hazır olana kadar bekler. Bağlantı dizesi döndürmez. Bağımsız değişkenler{ "project_id": "…", "name": "feature-x" }şeklindedir. Uç noktayı atlamak içinno_compute: truedeğerini iletin. Başarılı olduktan sonraget_connection_stringçağrısını yapın.reset_from_parent: Bir dalı, üst dalının geçerli HEAD konumuna sıfırlar ({ "project_id": "…", "branch_id": "br-…" }). Dal ayrıldığından beri yapılan yazma işlemlerini atar. Dalın alt dalları varsapreserve_under_namegereklidir; bu alt dallar yeni dala taşınır. Yalnızca üst HEAD; zamanda nokta geri yüklemerestore_snapshotşeklindedir.delete_branch: Bir dalı siler ({ "project_id": "…", "branch_id": "br-…" }).describe_branch: Bir dalda veritabanları, şemalar, tablolar, görünümler ve işlevlerden oluşan bir ağaç alır.- Oluşturulan dal araçları,
branch_iddeğerini bir dal kimliği olarak alır (br-...), bir ad olarak değil. restore_snapshot: Bir anlık görüntüyü geri yükler. Mevcut bir dala geri yüklemek içintarget_branch_iddeğerini iletin; yeni bir tane oluşturmak için atlayın.
Bilgi işlem uç noktaları (?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
Anlık Görüntüler (?category=snapshots):
list_snapshots,get_snapshot_schedule,set_snapshot_schedule,create_snapshot,update_snapshot,delete_snapshot,restore_snapshot
Şema (?category=schema):
get_database_tables,describe_table_schemacompare_database_schema: Bir veritabanının başka bir dala karşı SQL şema farkı.database_namegereklidir.base_branch_idatlanırsa üst dala karşı karşılaştırır. İsteğe bağlılsn,timestamp,base_lsn,base_timestampyalnızca zamanda nokta içindir.
SQL Sorgu Yürütme:
get_connection_string: Veritabanı bağlantı dizenizi döndürür.run_sql: Belirtilen bir Neon veritabanına karşı tek bir SQL sorgusu yürütür. Hem okuma hem de yazma işlemlerini destekler.run_sql_transaction: Bir Neon veritabanına karşı tek bir işlem içinde bir dizi SQL sorgusu yürütür.get_database_tables: Belirtilen bir Neon veritabanındaki tüm tabloları listeler.describe_table_schema: Belirli bir tablonun şema tanımını alır; sütunları, veri türlerini ve kısıtlamaları ayrıntılarıyla açıklar.
Veritabanı Geçişleri (Şema Değişiklikleri):
prepare_database_migration: Bir veritabanı geçiş sürecini başlatır. Kritik olarak, ana dalı etkilemeden önce geçişi güvenli bir şekilde uygulamak ve test etmek için geçici bir dal oluşturur.complete_database_migration: Hazırlanmış bir veritabanı geçişini ana dala uygular ve sonuçlandırır. Bu eylem, geçici geçiş dalındaki değişiklikleri birleştirir ve geçici kaynakları temizler.
SQL Sorgulama ve Optimizasyon:
inspect_database: Bir dala karşı önceden tanımlanmış 15 salt okunur Postgres tanılama aracından birini çalıştırır — ilişki ve dizin boyutları, dizin ve sıralı tarama kullanımı, etkin sorgular ve kilitler, en ağır ve en sık sorgular, önbellek isabet oranı ve çalışma kümesi boyutu, otomatik vakum ve şişkinlik tahminleri ve çoğaltma durumu.neon inspect dbCLI komutuyla aynı kontroller. Tüm veritabanlarını kapsamak içindatabase_nameatlayın; birini incelemek için bir ad iletin. Bunlardan dördüpg_stat_statementsveyaneonuzantısını gerektirir.list_slow_queries: Bir veritabanındaki en yavaş sorguları bularak performans darboğazlarını belirler. pg_stat_statements uzantısını gerektirir.explain_sql_statement: Performans darboğazlarını belirlemeye yardımcı olmak için SQL sorguları için ayrıntılı yürütme planları sağlar.prepare_query_tuning: Sorgu performansını analiz eder ve dizin oluşturma gibi optimizasyonlar önerir. Bu optimizasyonları güvenli bir şekilde test etmek için geçici bir dal oluşturur.complete_query_tuning: Optimizasyonları ana dala uygulayarak veya atarak sorgu ayarını sonuçlandırır. Geçici ayar dalını temizler.
Neon Auth (?category=neon_auth):
provision_neon_auth,get_auth,disable_auth,update_auth_configget_neon_auth_config: ana bilgisayar aracı; sırlar gizlenir. Ayarları değiştirmek için oluşturulan Auth yazma araçlarını kullanın.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 Veri API'si (?category=data_api):
provision_neon_data_api,get_data_api,update_data_api,delete_data_api: Bir dal veritabanı için Veri API'sini yönetin.
Arama ve Keşif:
search: Bir sorguyla eşleşen kuruluşlar, projeler ve dallar arasında arama yapar. Kimlikleri, başlıkları ve Neon Konsolu'na doğrudan bağlantıları döndürür.fetch: Bir kimlik kullanarak belirli bir kuruluş, proje veya dal hakkında ayrıntılı bilgi getirir (genellikle arama aracından).
Gözlemlenebilirlik (?category=observability): bu araçlar Neon Platform Beta sürümünü gerektirir ve şu anda yalnızca aws-us-east-2 bölgesindeki projeler için kullanılabilir. Günlük erişimi olmayan bir dal, telemetry_not_enabled nedeniyle HTTP 404 döndürür.
query_logs: Bir dal için OpenTelemetry günlüklerini sorgular. Yönetim API'sinde POST; bu sunucu tarafından salt okunur olarak ele alınır.list_log_fields: Bir dalda değerlerini numaralandırabileceğiniz günlük alanlarını listeler.list_log_field_values: Bir dal ve zaman penceresi içindeki bir günlük alanının farklı değerlerini listeler.
Belgeler ve Kaynaklar (?category=docs):
list_docs_resources:https://neon.com/docs/llms.txtadresinden dizini getirerek mevcut tüm Neon belgeleri sayfalarını listeler. Sayfa URL'lerini ve başlıklarını döndürür; bunlarget_doc_resourcearacı kullanılarak tek tek getirilebilir.get_doc_resource: Belirli bir Neon belgeleri sayfasını markdown içeriği olarak getirir. Kullanılabilir sayfa kısa adlarını keşfetmek için öncelist_docs_resourcesaracını kullanın, ardından kısa adı bu araca iletin.
İşlevler (?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: Zamanlanmış işlev tetikleyicileri (type: "schedule", beş alanlı UTC cron).
Depolama (?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
Geçişler
Geçişler, veritabanı şemanızda zaman içinde yapılan değişiklikleri yönetmenin bir yoludur. Neon MCP sunucusuyla, LLM'ler ayrı "Başlat" (prepare_database_migration) ve "Kaydet" (complete_database_migration) komutlarıyla geçişleri güvenli bir şekilde yapma yetkisine sahiptir.
"Başlat" komutu bir geçişi kabul eder ve yeni bir geçici dalda çalıştırır. Geri döndüğünde, bu komut LLM'ye geçişi bu dalda test etmesi gerektiğini ima eder. LLM daha sonra geçişi orijinal dala uygulamak için "Kaydet" komutunu çalıştırabilir.
Geliştirme
Bu proje, Corepack aracılığıyla sabitlenmiş paket yöneticisi olarak pnpm kullanır.
Proje Yapısı
MCP sunucu kodu, mcp.neon.tech adresinde Vercel'e dağıtılan bir Next.js uygulaması olan depo kökünde bulunur.
corepack enable
pnpm install
Araçların nasıl ekleneceği için CONTRIBUTING.md dosyasına bakın. Araç bağımsız değişkenleri snake_case şeklindedir.
Yerel Geliştirme
# Start the Next.js dev server (for the remote MCP server)
pnpm dev
Lint ve Tip Kontrolü
pnpm lint
pnpm typecheck
Ortam Değişkenleri
Uzak sunucu çalışma zamanı için gereklidir:
| Değişken | Açıklama |
|---|---|
SERVER_HOST | Sunucu URL'si (varsayılan VERCEL_URL) |
UPSTREAM_OAUTH_HOST | Neon OAuth sağlayıcı URL'si |
CLIENT_ID | OAuth istemci kimliği |
CLIENT_SECRET | OAuth istemci sırrı |
KV_URL | Vercel KV (Upstash Redis) URL'si |
OAUTH_DATABASE_URL | Belirteç depolama için Postgres URL'si |
İsteğe bağlı:
| Değişken | Açıklama |
|---|---|
LOG_LEVEL | Winston günlük seviyesi: error, warn, info (varsayılan), debug, verbose, silly |
NEON_MCP_DISABLE_ANALYTICS | Ürün analitiğini devre dışı bırakmak için 1 olarak ayarlayın |
Test Piramidi
Tüm testler depo kök dizininden çalıştırılır.
# 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
Test stratejisi:
- Taşıma/protokol ve kullanıcı tarafından görülebilir davranışlar için E2E tercih edin.
- Belirleyici araç sözleşmeleri ve iş akışı davranışları için entegrasyon testlerini kullanın.
- Saf mantık ve uç durumlar için birim testlerini kullanın.
- Birleştirme kapısı testlerinde üçüncü taraf çalışma süresine güvenmekten kaçının; entegrasyon/birim katmanlarında harici bağımlılıkları taklit edin.
Dağıtım
Vercel, uzak sunucuyu depo dal yapılandırmasından otomatik olarak dağıtır. Çekme istekleri için önizleme ortamları mevcuttur.
Telemetri
Neon MCP sunucusu, kullanımı anlamamıza ve güvenilirliği artırmamıza yardımcı olmak için ürün analitiği ve hata raporları toplar:
- Ürün analitiği (Segment): kimliği doğrulanmış bir hesapla bağlandığınızda, sunucu Neon hesap kimliğiniz, adınız ve e-posta adresinizle bir
identifyolayı gönderir. Ayrıca oturum başlangıcını (server_init), her araç çağrısını (tool_call) ve beklenmeyen sunucu hatalarını (server_error) izler. Bir araç çağrısı olayı, araç adını, kimlik doğrulama yöntemini ve istemciyi içerir; araç bağımsız değişkenlerini veya sorgu sonuçlarını içermez. Hesap olmadan yalnızca belge amaçlı araç çağrıları anonim olarak izlenir. Olaylar, Neon'un kendi analitik uç noktası olantrack.neon.techadresine gider. - Hata raporlama (Sentry): beklenmeyen sunucu hataları, yığın izleri ve istek bağlamıyla birlikte raporlanır.
Bu toplama, Neon Gizlilik Politikası kapsamındadır. Sunucuyu kendiniz çalıştırırken analitiği devre dışı bırakmak için NEON_MCP_DISABLE_ANALYTICS=1 ayarlayın. Bu bayrak Sentry'yi devre dışı bırakmaz.