Neon
resmiNeon sunucusuz Postgres platformu ile etkileşim kurun
Neon MCP ile neler yapabilirsiniz?
- Projeler ve dallar oluşturun — "my-database adında bir Postgres veritabanı oluştur" gibi yeni bir Neon projesi veya dalı başlatmak için
create_projectvecreate_branchkullanın. - SQL sorguları ve işlemleri çalıştırın —
run_sqlveyarun_sql_transactionile bir veritabanına karşı tek veya çok deyimli SQL yürütün; salt okunur modda değilken yazma işlemleri dahil. - Şemaları ve tabloları inceleyin —
get_database_tablesile tabloları listeleyin veyadescribe_table_schemaaracılığıyla bir tablonun tam sütun/kısıt tanımını alın. - Geçişleri güvenle planlayın ve uygulayın — Geçici bir dalda test etmek için
prepare_database_migrationile bir geçiş başlatın, ardındancomplete_database_migrationile sonlandırın. - Yavaş sorguları ayarlayın —
list_slow_queriesile darboğazları belirleyin veyaexplain_sql_statementile yürütme planları alın, ardındanprepare_query_tuningile düzeltmeleri test edin. - Projeleri ve günlükleri keşfedin —
searchile kuruluşlar, projeler ve dallar arasında arama yapın veyaquery_logsvelist_log_fieldskullanarak yapılandırılmış günlükleri filtreleyin.
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ış standart bir protokoldür. Bu depo, Neon için uzaktan çalışan 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 edilmiş olan bu sunucu, isteklerinizi gerekli API çağrılarına çevirerek proje ve dal oluşturma, sorgu çalıştırma ve veritabanı geçişlerini (migration) gerçekleştirme gibi görevleri sorunsuz bir şekilde yönetmenizi sağlar.
Neon MCP sunucusunun öne çıkan özelliklerinden bazıları ş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ş (migration) desteği: Doğal dil ile başlatılan veritabanı şeması değişiklikleri için Neon'un dal (branching) ö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 Konuları
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 işlemleri her zaman gözden geçirin ve onaylayın. 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): Tek bir komutla Neon'un MCP Sunucusunu, ajan becerilerini ve VS Code uzantısını 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, yeni özellikleri ve iyileştirmeleri yayınlandıkları anda 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ığı durumlarda uzaktan bir ajanı Neon'a bağlamak istiyorsanız kullanışlıdır. Ayrıca, yeni özellikleri ve iyileştirmeleri yayınlandıkları anda 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 Allow etkinse,
34.192.103.46ve23.22.233.166adreslerini beyaz listeye (allowlist) ekleyin (mcp.neon.techstatik IP'ler).
Geliştirme için Node.js 22+ gereklidir (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ı elle oluşturmak istemiyor musunuz?
Neon'un MCP Sunucusunu tek bir komutla otomatik olarak yapılandırmak için neon@latest init komutunu çalıştırın:
npx neon@latest init
Bu işlem; 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; sunucunun yerel olarak kurulmasını gerektirmez ve istemcide bir Neon API anahtarının yapılandırılmasına ihtiyaç duymaz.
Çalışma alanınızdaki algılanan tüm ajanlar 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
Neon MCP Sunucusunu proje kapsamlı yerine genel MCP sunucu listesine eklemek için -g bayrağını ekleyin.
Alternatif olarak, aşağıdaki "Neon" girdisini istemcinizin MCP sunucu yapılandırma dosyasına ekleyebilirsiniz (örn. mcp.json, mcp_config.json):
{
"mcpServers": {
"Neon": {
"type": "http",
"url": "https://mcp.neon.tech/mcp"
}
}
}
Kiro: Aşağıdakini Kiro MCP yapılandırma dosyanıza 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"
}
}
}
Ya da 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şimini yetkilendirmek 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 bu projeleri yönetmek için, MCP istemcisine verdiğiniz istemde açıkça
org_idveyaproject_idbilgisini sağlamanız 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 API anahtarı kullanarak kimlik doğrulamayı da destekler.
Neon Konsolu'nda bir Neon API anahtarı oluşturun. Ardından, çalışma alanınızdaki algılanan tüm ajanlar 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 --header "Authorization: Bearer <$NEON_API_KEY>"
Alternatif olarak, aşağıdaki "Neon" girdisini istemcinizin MCP sunucu yapılandırma dosyasına ekleyebilirsiniz (örn. mcp.json, mcp_config.json):
{
"mcpServers": {
"Neon": {
"type": "http",
"url": "https://mcp.neon.tech/mcp",
"headers": {
"Authorization": "Bearer <$NEON_API_KEY>"
}
}
}
}
Erişimi yalnızca kuruluş altındaki projelerle sınırlamak için bir kuruluş API anahtarı sağlayın.
Kapsamlar ve Salt Okunur Mod
Neon MCP, read, write ve * OAuth kapsamlarını destekler (* her ikisi anlamına gelir). MCP istemciniz bu kapsamları doğrudan talep edebilir veya OAuth izinleri arayüzünde seçimi yapabilirsiniz.
Salt okunur mod, hangi araçların kullanılabilir olduğunu kısıtlar; proje oluşturma, dal oluşturma veya geçiş (migration) ç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:
- OAuth kapsam seçimi (önerilir): OAuth'ta, yetkilendirme arayüzünde Full access seçeneğinin işaretini kaldırarak salt okunur modu seçin.
readonlysorgu parametresi: MCP sunucu URL'nize?readonly=trueekleyin:
{
"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). - OAuth akışı:
readonly=true, OAuth kapsamını geçersiz kılar. Bu olmadan, salt okunur mod, OAuth onay arayüzünde seçilen kapsama göre belirlenir.
Eski HTTP başlığı x-read-only da bir geri dönüş olarak desteklenir (sorgu parametresinden daha düşük önceliklidir).
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
Yetki bağlamı (kapsam kategorileri, proje kapsamlama, salt okunur mod), MCP sunucu URL'sindeki URL sorgu parametreleri aracılığıyla yapılandırılır. Yapılandırma her istekle birlikte taşınır ve anında etkili olur — yeniden kimlik doğrulama gerekmez.
| 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
list_projects,list_shared_projects,describe_project,list_organizationsdescribe_branch,list_branch_computes,compare_database_schemarun_sql,run_sql_transaction,get_database_tables,describe_table_schemalist_slow_queries,explain_sql_statementget_connection_stringget_neon_auth_configquery_logs,list_log_fields,list_log_field_valuessearch,fetch,list_docs_resources,get_doc_resource
Yazma erişimi gerektiren araçlar:
create_project,delete_projectcreate_branch,delete_branch,reset_from_parentprovision_neon_auth,configure_neon_auth,provision_neon_data_apiprepare_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 Streamable HTTP. LLM istemciniz henüz Streamable 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 algılanan tüm ajanlar 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.
Temel uygulama alanları:
app/api/[transport]/route.ts: Streamable 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 verileri 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 Sunucusu Rehberi
- MCP İstemcilerini Neon'a Bağlama
- Neon MCP Sunucusu ile Cursor
- Neon MCP Sunucusu ile Claude Code
- Neon MCP Sunucusu ile Claude Desktop
- Neon MCP Sunucusu ile Cline
- Neon MCP Sunucusu ile Windsurf
- Neon MCP Sunucusu ile Zed
Ö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ı, yetki tabanlı araç filtreleme ve onay kullanıcı deneyimi için kullanılan bir scope kategorisi içerir. Geçerli kategoriler şunlardır:
projectsbranchesschemaqueryingneon_authdata_apiobservabilitydocsnull(kapsam kategorisi olmayan araçlar)
Notlar:
compare_database_schema,schemakategorisi altında sınıflandırılmıştır.provision_neon_data_api,data_apikategorisi altında sınıflandırılmıştır (neon_auth'ten ayrı olarak).- Salt okunur zorlaması 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=...),searchvefetchkullanılamaz.
Proje Yönetimi:
list_projects: Hesabınızdaki ilk 10 Neon projesini listeler ve her projenin özetini sağlar. Belirli bir projeyi bulamıyorsanız,limitparametresine daha yüksek bir değer ileterek limiti artırın.list_shared_projects: Geçerli kullanıcıyla paylaşılan Neon projelerini listeler. Arama parametresini ve döndürülecek proje sayısını sınırlamayı destekler (varsayılan: 10).describe_project: Belirli bir Neon projesi hakkında kimliği, adı ve ilişkili dallar ile veritabanları dahil ayrıntılı bilgi getirir.create_project: Neon hesabınızda yeni bir Neon projesi oluşturur. Bir proje; dallar, veritabanları, roller ve compute'lar için bir kapsayıcı görevi görür.delete_project: Mevcut bir Neon projesini ve ilişkili tüm kaynaklarını siler.list_organizations: Geçerli kullanıcının erişebildiği tüm organizasyonları listeler. İsteğe bağlı olarak arama parametresini kullanarak organizasyon adına veya kimliğine göre filtreleyin.
Dal Yönetimi:
create_branch: Belirtilen bir Neon projesi içinde yeni bir dal oluşturur. Geliştirme, test veya geçişler için Neon'un dallandırma özelliğinden yararlanır.delete_branch: Neon projesinden mevcut bir dalı siler.describe_branch: Belirli bir dal hakkında adı, kimliği ve üst dal gibi ayrıntıları alır.list_branch_computes: Bir proje veya belirli bir dal için compute uç noktalarını listeler; compute kimliği, türü, boyutu, son etkinlik zamanı ve otomatik ölçeklendirme bilgileri dahildir.compare_database_schema: Alt dal ile üst dal arasındaki şema farkını gösterir.reset_from_parent: Geçerli dalı üst dalının durumuna sıfırlar ve yerel değişiklikleri atar. Dalın alt dalları varsa otomatik olarak yedek korunur veya isteğe bağlı olarak özel bir adla yedek korunabilir.
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 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ılandırır.
Veritabanı Geçişleri (Şema Değişiklikleri):
prepare_database_migration: Bir veritabanı geçiş süreci başlatır. Kritik olarak, ana dalı etkilemeden geçişi güvenli ş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 işlem, geçici geçiş dalındaki değişiklikleri birleştirir ve geçici kaynakları temizler.
SQL Sorgulama ve Optimizasyon:
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üvenle 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:
provision_neon_auth: Bir Neon projesi için Neon Auth sağlar. Geliştiricilerin bir Auth sağlayıcısıyla entegrasyon oluşturarak kimlik doğrulama altyapısını kolayca kurmasını sağlar.configure_neon_auth: Bir dal için mevcut bir Neon Auth entegrasyonunu yapılandırır; güvenilir kaynakları, localhost erişimini, kimlik doğrulama yöntemlerini, OAuth sağlayıcılarını ve işlemsel e-posta sağlayıcısını yönetir.get_neon_auth_config: Bir dal için entegrasyon meta verileri ve yapılandırılabilir ayarlar dahil tam Neon Auth yapılandırmasını okur (sırlar gizlenir).
Neon Data API:
provision_neon_data_api: HTTP tabanlı veritabanı erişimi için Neon Data API sağlar; Neon Auth veya harici JWKS sağlayıcıları aracılığıyla isteğe bağlı JWT kimlik doğrulaması içerir.
Arama ve Keşif:
search: Bir sorguyla eşleşen organizasyonlar, 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 organizasyon, proje veya dal hakkında ayrıntılı bilgi getirir (genellikle arama aracından).
Gözlemlenebilirlik:
query_logs: Neon sunucusuz işlevleriniz ve diğer hizmetler tarafından yayılan günlükleri yapılandırılmış filtrelerle (kaynak, hizmet adı, önem düzeyi, zaman penceresi) sorgular. Günlükler OpenTelemetry tabanlıdır.list_log_fields: Bir dal için filtreleyebileceğiniz günlük alanlarını (etiketleri) listeler; örneğinservice_name,severity_textvescope_name.query_logs'dan önce kullanın.list_log_field_values: Bir dal ve zaman penceresi içindeki bir günlük alanının farklı değerlerini listeler; böylecequery_logsparametresine aktarılacak somut değerleri keşfedebilirsiniz.
Dokümantasyon ve Kaynaklar:
list_docs_resources: Dizinihttps://neon.com/docs/llms.txtadresinden getirerek kullanılabilir tüm Neon dokümantasyon 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 dokümantasyon sayfasını markdown içeriği olarak getirir. Öncelist_docs_resourcesaracını kullanarak kullanılabilir sayfa slug'larını keşfedin, ardından slug'ı bu araca iletin.
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 "İşle" (complete_database_migration) komutlarıyla geçişleri güvenle yapabilir.
"Başlat" komutu bir geçişi kabul eder ve yeni bir geçici dalda çalıştırır. 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 "İşle" komutunu çalıştırabilir.
Geliştirme
Bu proje, Corepack ile sabitlenen pnpm paket yöneticisini 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
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 gerekli:
| 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ı |
COOKIE_SECRET | İmzalı çerezler için sır |
KV_URL | Vercel KV (Upstash Redis) URL'si |
OAUTH_DATABASE_URL | Token depolama için Postgres URL'si |
İsteğe bağlı:
| Değişken | Açıklama |
|---|---|
LOG_LEVEL | Winston günlük düzeyi: error, warn, info (varsayılan), debug, verbose, silly |
Test Piramidi
Tüm testler depo kökünden ç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ış için E2E'yi tercih edin.
- Belirleyici araç sözleşmeleri ve iş akışı davranışı 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ı mock'layın.
Dağıtım
Vercel, uzak sunucuyu otomatik olarak depo dal yapılandırmasından dağıtır. Önizleme ortamları, çekme istekleri için kullanılabilir.