Neon
आधिकारिकNeon सर्वरलेस Postgres प्लेटफ़ॉर्म के साथ इंटरैक्ट करें
Neon MCP के साथ आप क्या कर सकते हैं?
- प्रोजेक्ट बनाएं और प्रबंधित करें —
create_project,list_projectsऔरdelete_projectके माध्यम से Neon प्रोजेक्ट बनाएं, सूचीबद्ध करें या हटाएं। - SQL क्वेरी चलाएं —
run_sqlयाrun_sql_transactionके साथ रीड/राइट SQL निष्पादित करें, औरget_database_tablesके साथ टेबल सूचीबद्ध करें। - ब्रांच प्रबंधित करें —
create_branchके साथ ब्रांच बनाएं,compare_database_schemaके माध्यम से स्कीमा अंतर की तुलना करें, याreset_from_parentके साथ पैरेंट से रीसेट करें। - सुरक्षित माइग्रेशन करें — अस्थायी ब्रांच पर परीक्षण के लिए
prepare_database_migrationका उपयोग करें, फिर लागू करने के लिएcomplete_database_migrationका उपयोग करें। - क्वेरी प्रदर्शन अनुकूलित करें —
list_slow_queriesके साथ धीमी क्वेरी खोजें,explain_sql_statementके माध्यम से निष्पादन योजनाएं प्राप्त करें, औरprepare_query_tuningके साथ ट्यूनिंग का परीक्षण करें।
दस्तावेज़
Neon MCP सर्वर
Neon MCP सर्वर एक ओपन-सोर्स टूल है जो आपको प्राकृतिक भाषा में Neon पर अपने Lakebase Postgres डेटाबेस के साथ इंटरैक्ट करने की सुविधा देता है।
मॉडल कॉन्टेक्स्ट प्रोटोकॉल (MCP) एक मानकीकृत प्रोटोकॉल है जिसे बड़े भाषा मॉडल (LLMs) और बाहरी सिस्टम के बीच कॉन्टेक्स्ट प्रबंधित करने के लिए डिज़ाइन किया गया है। यह रिपॉज़िटरी Neon के लिए एक रिमोट MCP सर्वर प्रदान करती है।
Neon का MCP सर्वर प्राकृतिक भाषा अनुरोधों और Neon API के बीच एक सेतु का कार्य करता है। MCP पर निर्मित, यह आपके अनुरोधों को आवश्यक API कॉल्स में अनुवादित करता है, जिससे आप प्रोजेक्ट और ब्रांच बनाने, क्वेरी चलाने और डेटाबेस माइग्रेशन करने जैसे कार्यों को सहजता से प्रबंधित कर सकते हैं।
Neon MCP सर्वर की कुछ प्रमुख विशेषताएं निम्नलिखित हैं:
- प्राकृतिक भाषा इंटरैक्शन: सहज, संवादात्मक कमांड का उपयोग करके Neon डेटाबेस प्रबंधित करें।
- सरलीकृत डेटाबेस प्रबंधन: SQL लिखे बिना या सीधे Neon API का उपयोग किए बिना जटिल क्रियाएं करें।
- गैर-डेवलपर्स के लिए पहुंच: विभिन्न तकनीकी पृष्ठभूमि वाले उपयोगकर्ताओं को Neon डेटाबेस के साथ इंटरैक्ट करने में सक्षम बनाएं।
- डेटाबेस माइग्रेशन समर्थन: प्राकृतिक भाषा के माध्यम से शुरू किए गए डेटाबेस स्कीमा परिवर्तनों के लिए Neon की ब्रांचिंग क्षमताओं का लाभ उठाएं।
उदाहरण के लिए, Claude Code या किसी भी MCP क्लाइंट में, आप Neon के साथ कार्य पूरे करने के लिए प्राकृतिक भाषा का उपयोग कर सकते हैं, जैसे:
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 सर्वर सुरक्षा संबंधी विचार
Neon MCP सर्वर प्राकृतिक भाषा अनुरोधों के माध्यम से शक्तिशाली डेटाबेस प्रबंधन क्षमताएं प्रदान करता है। निष्पादन से पहले LLM द्वारा अनुरोधित क्रियाओं की हमेशा समीक्षा करें और उन्हें अधिकृत करें। सुनिश्चित करें कि केवल अधिकृत उपयोगकर्ता और एप्लिकेशन ही Neon MCP सर्वर तक पहुंच रखते हैं।Neon MCP सर्वर केवल स्थानीय विकास और IDE एकीकरण के लिए है। हम उत्पादन वातावरण में Neon MCP सर्वर का उपयोग करने की अनुशंसा नहीं करते हैं। यह शक्तिशाली ऑपरेशन निष्पादित कर सकता है जो आकस्मिक या अनधिकृत परिवर्तनों का कारण बन सकता है।
अधिक जानकारी के लिए, देखें MCP सुरक्षा मार्गदर्शन →।
Neon MCP सर्वर सेट करना
Neon MCP सर्वर सेट करने के लिए कुछ विकल्प हैं:
- API कुंजी के साथ त्वरित सेटअप (Cursor, VS Code, और Claude Code): Neon के MCP सर्वर, एजेंट स्किल्स और VS Code एक्सटेंशन को एक कमांड से स्वचालित रूप से कॉन्फ़िगर करने के लिए
neon@latest initचलाएं। - रिमोट MCP सर्वर (OAuth-आधारित प्रमाणीकरण): प्रमाणीकरण के लिए OAuth का उपयोग करके Neon के प्रबंधित MCP सर्वर से कनेक्ट करें। यह विधि अधिक सुविधाजनक है क्योंकि यह API कुंजियों को प्रबंधित करने की आवश्यकता को समाप्त करती है। इसके अतिरिक्त, आपको रिलीज़ होते ही नवीनतम सुविधाएं और सुधार स्वचालित रूप से प्राप्त होंगे।
- रिमोट MCP सर्वर (API कुंजी-आधारित प्रमाणीकरण): प्रमाणीकरण के लिए API कुंजी का उपयोग करके Neon के प्रबंधित MCP सर्वर से कनेक्ट करें। यह विधि उपयोगी है यदि आप किसी रिमोट एजेंट को Neon से कनेक्ट करना चाहते हैं जहां OAuth उपलब्ध नहीं है। इसके अतिरिक्त, आपको रिलीज़ होते ही नवीनतम सुविधाएं और सुधार स्वचालित रूप से प्राप्त होंगे।
पूर्वापेक्षाएँ
- एक MCP क्लाइंट एप्लिकेशन।
- एक Neon खाता।
- Node.js (>= v18.0.0): nodejs.org से डाउनलोड करें।
- यदि IP Allow सक्षम है, तो अपनी अनुमति सूची में
34.192.103.46और23.22.233.166जोड़ें (mcp.neon.techस्थिर IPs)।
विकास के लिए, आपको Node.js 22+ की आवश्यकता होगी (pnpm Corepack के माध्यम से प्रदान किया जाता है — इसे सक्रिय करने के लिए corepack enable चलाएं)।
विकल्प 1. API कुंजी के साथ त्वरित सेटअप
मैन्युअल रूप से API कुंजी नहीं बनाना चाहते?
Neon के MCP सर्वर को एक कमांड से स्वचालित रूप से कॉन्फ़िगर करने के लिए neon@latest init चलाएं:
npx neon@latest init
यह Cursor, VS Code (GitHub Copilot) और Claude Code के साथ काम करता है। यह OAuth के माध्यम से प्रमाणित करेगा, आपके लिए एक Neon API कुंजी बनाएगा, और आपके एडिटर को स्वचालित रूप से कॉन्फ़िगर करेगा।
विकल्प 2. रिमोट होस्टेड MCP सर्वर (OAuth-आधारित प्रमाणीकरण)
प्रमाणीकरण के लिए OAuth का उपयोग करके Neon के प्रबंधित MCP सर्वर से कनेक्ट करें। यह सबसे आसान सेटअप है, इस सर्वर की कोई स्थानीय स्थापना आवश्यक नहीं है, और क्लाइंट में Neon API कुंजी कॉन्फ़िगर करने की आवश्यकता नहीं है।
अपने वर्कस्पेस में सभी पहचाने गए एजेंटों और एडिटरों के लिए Neon MCP सर्वर जोड़ने के लिए निम्नलिखित कमांड चलाएं:
npx add-mcp https://mcp.neon.tech/mcp
प्रोजेक्ट-स्कोप्ड के बजाय वैश्विक MCP सर्वर सूची में Neon MCP सर्वर जोड़ने के लिए -g फ्लैग जोड़ें।
वैकल्पिक रूप से, आप अपने क्लाइंट की MCP सर्वर कॉन्फ़िगरेशन फ़ाइल (जैसे, mcp.json, mcp_config.json) में निम्नलिखित "Neon" प्रविष्टि जोड़ सकते हैं:
{
"mcpServers": {
"Neon": {
"type": "http",
"url": "https://mcp.neon.tech/mcp"
}
}
}
Kiro: अपनी Kiro MCP कॉन्फ़िग फ़ाइल में निम्नलिखित जोड़ें (वैश्विक के लिए ~/.kiro/settings/mcp.json, या प्रोजेक्ट-स्कोप्ड के लिए .kiro/settings/mcp.json):
{
"mcpServers": {
"Neon": {
"url": "https://mcp.neon.tech/mcp"
}
}
}
या इस README के शीर्ष पर स्थित वन-क्लिक इंस्टॉल बटन का उपयोग करें। अधिक जानकारी के लिए, Kiro MCP दस्तावेज़ीकरण देखें।
- अपने MCP क्लाइंट को पुनरारंभ या रीफ़्रेश करें।
- आपके ब्राउज़र में एक OAuth विंडो खुलेगी। अपने MCP क्लाइंट को आपके Neon खाते तक पहुंचने के लिए अधिकृत करने हेतु संकेतों का पालन करें।
OAuth-आधारित प्रमाणीकरण के साथ, MCP सर्वर डिफ़ॉल्ट रूप से आपके व्यक्तिगत Neon खाते के अंतर्गत प्रोजेक्टों पर कार्य करेगा। किसी संगठन से संबंधित प्रोजेक्टों तक पहुंचने या उन्हें प्रबंधित करने के लिए, आपको MCP क्लाइंट को अपने प्रॉम्प्ट में स्पष्ट रूप से
org_idयाproject_idप्रदान करना होगा।
विकल्प 3. रिमोट होस्टेड MCP सर्वर (API कुंजी-आधारित प्रमाणीकरण)
रिमोट MCP सर्वर Authorization हेडर में API कुंजी का उपयोग करके प्रमाणीकरण का भी समर्थन करता है, यदि आपका क्लाइंट इसका समर्थन करता है।
Neon कंसोल में एक Neon API कुंजी बनाएं। इसके बाद, अपने वर्कस्पेस में सभी पहचाने गए एजेंटों और एडिटरों के लिए Neon MCP सर्वर जोड़ने हेतु निम्नलिखित कमांड चलाएं:
npx add-mcp https://mcp.neon.tech/mcp --header "Authorization: Bearer <$NEON_API_KEY>"
वैकल्पिक रूप से, आप अपने क्लाइंट की MCP सर्वर कॉन्फ़िगरेशन फ़ाइल (जैसे, mcp.json, mcp_config.json) में निम्नलिखित "Neon" प्रविष्टि जोड़ सकते हैं:
{
"mcpServers": {
"Neon": {
"type": "http",
"url": "https://mcp.neon.tech/mcp",
"headers": {
"Authorization": "Bearer <$NEON_API_KEY>"
}
}
}
}
केवल संगठन के अंतर्गत प्रोजेक्टों तक पहुंच सीमित करने के लिए संगठन की API कुंजी प्रदान करें।
स्कोप और रीड-ओनली मोड
Neon MCP OAuth स्कोप read, write और * का समर्थन करता है (* का अर्थ दोनों है)। आपका MCP क्लाइंट इन स्कोपों को सीधे अनुरोध कर सकता है, या आप OAuth अनुमतियाँ UI में चयन कर सकते हैं।
रीड-ओनली मोड उपलब्ध टूल्स को प्रतिबंधित करता है, जिससे प्रोजेक्ट बनाने, ब्रांच बनाने या माइग्रेशन चलाने जैसी लेखन क्रियाएं अक्षम हो जाती हैं। रीड-ओनली टूल्स में प्रोजेक्ट सूचीबद्ध करना, स्कीमा का वर्णन करना, डेटा क्वेरी करना और प्रदर्शन मेट्रिक्स देखना शामिल है।
आप रीड-ओनली मोड दो तरीकों से सेट कर सकते हैं:
- OAuth स्कोप चयन (अनुशंसित): OAuth में, प्राधिकरण UI में Full access को अनचेक करके रीड-ओनली चुनें।
readonlyक्वेरी पैराम: अपने MCP सर्वर URL में?readonly=trueजोड़ें:
{
"mcpServers": {
"Neon": {
"url": "https://mcp.neon.tech/mcp?readonly=true"
}
}
}
क्वेरी पैराम कैसे व्यवहार करता है:
- API कुंजी फ्लो: रीड-ओनली मोड सक्षम करने का तरीका
readonly=trueहै (इस फ्लो में कोई OAuth स्कोप विनिमय नहीं होता)। - OAuth फ्लो:
readonly=trueOAuth स्कोप को ओवरराइड करता है। इसके बिना, रीड-ओनली OAuth सहमति UI में चयनित स्कोप द्वारा निर्धारित होता है।
लीगेसी HTTP हेडर x-read-only भी फ़ॉलबैक के रूप में समर्थित है (क्वेरी पैराम से कम प्राथमिकता)।
नोट: रीड-ओनली मोड प्रतिबंधित करता है कि कौन से टूल्स उपलब्ध हैं। इसके अतिरिक्त,
run_sqlटूल केवल रीड-ओनली क्वेरी के लिए उपलब्ध रहता है।
एक्सेस नियंत्रण के लिए URL क्वेरी पैराम्स
अनुदान संदर्भ (स्कोप श्रेणियाँ, प्रोजेक्ट स्कोपिंग, रीड-ओनली मोड) MCP सर्वर URL पर URL क्वेरी पैराम्स के माध्यम से कॉन्फ़िगर किया जाता है। कॉन्फ़िगरेशन प्रत्येक अनुरोध के साथ यात्रा करता है और तुरंत प्रभावी होता है — पुनः-प्रमाणीकरण की आवश्यकता नहीं।
| पैराम | विवरण | उदाहरण |
|---|---|---|
readonly | रीड-ओनली मोड सक्षम करें (true/false) | ?readonly=true |
category | विशिष्ट टूल श्रेणियों तक सीमित करें (दोहराया या CSV) | ?category=querying&category=schema |
projectId | सभी ऑपरेशनों को एकल प्रोजेक्ट पर स्कोप करें | ?projectId=proj-123 |
रीड-ओनली + प्रोजेक्ट-स्कोप्ड उदाहरण:
{
"mcpServers": {
"Neon": {
"url": "https://mcp.neon.tech/mcp?readonly=true&projectId=my-project-id"
}
}
}
श्रेणी-फ़िल्टर किया गया उदाहरण (केवल क्वेरी और स्कीमा टूल्स):
{
"mcpServers": {
"Neon": {
"url": "https://mcp.neon.tech/mcp?category=querying&category=schema"
}
}
}
आप /api/list-tools एंडपॉइंट का उपयोग करके किसी भी कॉन्फ़िगरेशन के लिए कौन से टूल दृश्यमान हैं, इसका पूर्वावलोकन कर सकते हैं (कोई प्रमाणीकरण आवश्यक नहीं):
curl "https://mcp.neon.tech/api/list-tools?readonly=true&category=querying"
रीड-ओनली मोड में उपलब्ध टूल्स
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_statement,inspect_databaseget_connection_stringget_neon_auth_configquery_logs,list_log_fields,list_log_field_valuessearch,fetch,list_docs_resources,get_doc_resource
लेखन पहुंच की आवश्यकता वाले टूल्स:
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
सर्वर-सेंट इवेंट्स (SSE) ट्रांसपोर्ट (अप्रचलित)
MCP दो रिमोट सर्वर ट्रांसपोर्ट का समर्थन करता है: अप्रचलित सर्वर-सेंट इवेंट्स (SSE) और नया, अनुशंसित Streamable HTTP। यदि आपका LLM क्लाइंट अभी तक Streamable HTTP का समर्थन नहीं करता है, तो आप SSE का उपयोग करने के लिए एंडपॉइंट को https://mcp.neon.tech/mcp से https://mcp.neon.tech/sse में बदल सकते हैं।
SSE ट्रांसपोर्ट का उपयोग करके अपने वर्कस्पेस में सभी पहचाने गए एजेंटों और एडिटरों के लिए Neon MCP सर्वर जोड़ने हेतु निम्नलिखित कमांड चलाएं:
npx add-mcp https://mcp.neon.tech/sse --type sse
रिमोट सर्वर आर्किटेक्चर
रिमोट सर्वर mcp.neon.tech पर Vercel पर एक Next.js App Router एप्लिकेशन के रूप में चलता है।
[!NOTE] रूट
/पथ Neon MCP सर्वर दस्तावेज़ पर पुनर्निर्देशित करता है। कोई लैंडिंग पेज नहीं है।
मुख्य कार्यान्वयन क्षेत्र:
app/api/[transport]/route.ts: Streamable HTTP (/mcp) और SSE (/sse) के लिए MCP ट्रांसपोर्ट एंडपॉइंटapp/api/authorize/,app/callback/,app/api/token/,app/api/revoke/: OAuth फ्लो एंडपॉइंट्सapp/.well-known/: OAuth डिस्कवरी मेटाडेटा एंडपॉइंट्सmcp/: MCP सर्वर, टूल्स, हैंडलर, एनालिटिक्स और Sentry एकीकरणlib/: Next.js-संगत सहायक (OAuth, कॉन्फ़िगरेशन, त्रुटि प्रबंधन)mcp/utils/read-only.ts: रीड-ओनली मोड और स्कोप हैंडलिंग
गाइड्स
- Neon MCP सर्वर गाइड
- MCP क्लाइंट्स को Neon से कनेक्ट करें
- Cursor के साथ Neon MCP सर्वर
- Claude Code के साथ Neon MCP सर्वर
- Claude Desktop के साथ Neon MCP सर्वर
- Cline के साथ Neon MCP सर्वर
- Windsurf के साथ Neon MCP सर्वर
- Zed के साथ Neon MCP सर्वर
विशेषताएं
समर्थित टूल्स
Neon MCP सर्वर निम्नलिखित क्रियाएं प्रदान करता है, जो MCP क्लाइंट्स को "टूल्स" के रूप में प्रदर्शित होती हैं। आप प्राकृतिक भाषा कमांड का उपयोग करके अपने Neon प्रोजेक्ट्स और डेटाबेस के साथ इंटरैक्ट करने के लिए इन टूल्स का उपयोग कर सकते हैं।
टूल स्कोप मेटाडेटा
प्रत्येक टूल परिभाषा में एक scope श्रेणी शामिल होती है जिसका उपयोग अनुदान-आधारित टूल फ़िल्टरिंग और सहमति UX के लिए किया जाता है। वर्तमान श्रेणियाँ हैं:
projectsbranchesschemaqueryingneon_authdata_apiobservabilitydocsnull(स्कोप श्रेणी के बिना टूल्स)
नोट्स:
compare_database_schemaकोschemaके अंतर्गत वर्गीकृत किया गया है।provision_neon_data_apiकोdata_apiके अंतर्गत वर्गीकृत किया गया है (neon_authसे अलग)।- केवल-पठन प्रवर्तन अभी भी
readOnlySafeऔर सर्वर-पक्ष केवल-पठन तर्क पर निर्भर करता है;scopeश्रेणी मेटाडेटा है, न कि एक स्वतंत्र पढ़ें/लिखें स्विच। - प्रोजेक्ट-स्कोप्ड मोड (
?projectId=...) में,searchऔरfetchउपलब्ध नहीं हैं।
प्रोजेक्ट प्रबंधन:
list_projects: आपके खाते में पहले 10 Neon प्रोजेक्ट्स की सूची दिखाता है, प्रत्येक प्रोजेक्ट का सारांश प्रदान करता है। यदि आपको कोई विशिष्ट प्रोजेक्ट नहीं मिलता है, तोlimitपैरामीटर में अधिक मान पास करके सीमा बढ़ाएँ।list_shared_projects: वर्तमान उपयोगकर्ता के साथ साझा किए गए Neon प्रोजेक्ट्स की सूची दिखाता है। खोज पैरामीटर और लौटाए जाने वाले प्रोजेक्ट्स की संख्या सीमित करने का समर्थन करता है (डिफ़ॉल्ट: 10)।describe_project: किसी विशिष्ट Neon प्रोजेक्ट के बारे में विस्तृत जानकारी प्राप्त करता है, जिसमें उसका ID, नाम, और संबद्ध ब्रांच और डेटाबेस शामिल हैं।create_project: आपके Neon खाते में एक नया Neon प्रोजेक्ट बनाता है। एक प्रोजेक्ट ब्रांच, डेटाबेस, रोल और कंप्यूट के लिए एक कंटेनर के रूप में कार्य करता है।delete_project: किसी मौजूदा Neon प्रोजेक्ट और उसके सभी संबद्ध संसाधनों को हटाता है।list_organizations: उन सभी संगठनों की सूची दिखाता है जिन तक वर्तमान उपयोगकर्ता की पहुँच है। वैकल्पिक रूप से खोज पैरामीटर का उपयोग करके संगठन के नाम या ID द्वारा फ़िल्टर करें।
ब्रांच प्रबंधन:
create_branch: निर्दिष्ट Neon प्रोजेक्ट के भीतर एक नई ब्रांच बनाता है। विकास, परीक्षण या माइग्रेशन के लिए Neon की ब्रांचिंग सुविधा का लाभ उठाता है।delete_branch: Neon प्रोजेक्ट से किसी मौजूदा ब्रांच को हटाता है।describe_branch: किसी विशिष्ट ब्रांच के बारे में विवरण प्राप्त करता है, जैसे उसका नाम, ID और पैरेंट ब्रांच।list_branch_computes: किसी प्रोजेक्ट या विशिष्ट ब्रांच के लिए कंप्यूट एंडपॉइंट्स की सूची दिखाता है, जिसमें कंप्यूट ID, प्रकार, आकार, अंतिम सक्रिय समय और ऑटोस्केलिंग जानकारी शामिल है।compare_database_schema: चाइल्ड ब्रांच और उसके पैरेंट के बीच स्कीमा अंतर दिखाता है।reset_from_parent: वर्तमान ब्रांच को उसके पैरेंट की स्थिति में रीसेट करता है, स्थानीय परिवर्तनों को त्याग देता है। यदि ब्रांच में चाइल्ड हैं तो स्वचालित रूप से बैकअप सुरक्षित रखता है, या वैकल्पिक रूप से कस्टम नाम के साथ अनुरोध पर सुरक्षित रखता है।
SQL क्वेरी निष्पादन:
get_connection_string: आपका डेटाबेस कनेक्शन स्ट्रिंग लौटाता है।run_sql: निर्दिष्ट Neon डेटाबेस के विरुद्ध एक एकल SQL क्वेरी निष्पादित करता है। पढ़ने और लिखने दोनों संचालन का समर्थन करता है।run_sql_transaction: Neon डेटाबेस के विरुद्ध एक ही ट्रांज़ैक्शन के भीतर SQL क्वेरीज़ की एक श्रृंखला निष्पादित करता है।get_database_tables: निर्दिष्ट Neon डेटाबेस के भीतर सभी टेबल्स की सूची दिखाता है।describe_table_schema: किसी विशिष्ट टेबल की स्कीमा परिभाषा प्राप्त करता है, जिसमें कॉलम, डेटा प्रकार और बाधाएँ विस्तृत होती हैं।
डेटाबेस माइग्रेशन (स्कीमा परिवर्तन):
prepare_database_migration: डेटाबेस माइग्रेशन प्रक्रिया शुरू करता है। महत्वपूर्ण रूप से, यह मुख्य ब्रांच को प्रभावित करने से पहले माइग्रेशन को सुरक्षित रूप से लागू करने और परीक्षण करने के लिए एक अस्थायी ब्रांच बनाता है।complete_database_migration: तैयार डेटाबेस माइग्रेशन को अंतिम रूप देता है और मुख्य ब्रांच पर लागू करता है। यह क्रिया अस्थायी माइग्रेशन ब्रांच से परिवर्तनों को मर्ज करती है और अस्थायी संसाधनों को साफ करती है।
SQL क्वेरी और अनुकूलन:
inspect_database: एक ब्रांच के विरुद्ध 14 पूर्वनिर्धारित केवल-पठन Postgres डायग्नोस्टिक्स में से एक चलाता है — रिलेशन और इंडेक्स आकार, इंडेक्स और अनुक्रमिक-स्कैन उपयोग, सक्रिय क्वेरी और लॉक, सबसे भारी और सबसे लगातार क्वेरी, कैश हिट दर और वर्किंग-सेट आकार, ऑटोवैक्यूम और ब्लोट अनुमान, और प्रतिकृति स्थिति।neon inspect dbCLI कमांड के समान जाँचें। उनमें से चार कोpg_stat_statementsयाneonएक्सटेंशन की आवश्यकता होती है।list_slow_queries: डेटाबेस में सबसे धीमी क्वेरी खोजकर प्रदर्शन बाधाओं की पहचान करता है। pg_stat_statements एक्सटेंशन की आवश्यकता होती है।explain_sql_statement: SQL क्वेरी के लिए विस्तृत निष्पादन योजनाएँ प्रदान करता है ताकि प्रदर्शन बाधाओं की पहचान करने में मदद मिल सके।prepare_query_tuning: क्वेरी प्रदर्शन का विश्लेषण करता है और इंडेक्स निर्माण जैसे अनुकूलन सुझाता है। इन अनुकूलनों का सुरक्षित रूप से परीक्षण करने के लिए एक अस्थायी ब्रांच बनाता है।complete_query_tuning: अनुकूलनों को मुख्य ब्रांच पर लागू करके या उन्हें त्याग कर क्वेरी ट्यूनिंग को अंतिम रूप देता है। अस्थायी ट्यूनिंग ब्रांच को साफ करता है।
Neon Auth:
provision_neon_auth: Neon प्रोजेक्ट के लिए Neon Auth प्रावधानित करता है। यह डेवलपर्स को Auth प्रदाता के साथ एकीकरण बनाकर प्रमाणीकरण अवसंरचना आसानी से स्थापित करने की अनुमति देता है।configure_neon_auth: एक ब्रांच के लिए मौजूदा Neon Auth एकीकरण को कॉन्फ़िगर करता है — विश्वसनीय ओरिजिन, localhost पहुँच, प्रमाणीकरण विधियाँ, OAuth प्रदाता और ट्रांज़ैक्शनल ईमेल प्रदाता का प्रबंधन करता है।get_neon_auth_config: एक ब्रांच के लिए पूर्ण Neon Auth कॉन्फ़िगरेशन पढ़ता है, जिसमें एकीकरण मेटाडेटा और कॉन्फ़िगर करने योग्य सेटिंग्स शामिल हैं (रहस्य छिपाए गए हैं)।
Neon Data API:
provision_neon_data_api: HTTP-आधारित डेटाबेस पहुँच के लिए Neon Data API प्रावधानित करता है, जिसमें Neon Auth या बाहरी JWKS प्रदाताओं के माध्यम से वैकल्पिक JWT प्रमाणीकरण होता है।
खोज और डिस्कवरी:
search: किसी क्वेरी से मेल खाते संगठनों, प्रोजेक्ट्स और ब्रांचों में खोज करता है। IDs, शीर्षक और Neon Console के सीधे लिंक लौटाता है।fetch: ID का उपयोग करके किसी विशिष्ट संगठन, प्रोजेक्ट या ब्रांच के बारे में विस्तृत जानकारी प्राप्त करता है (आमतौर पर खोज टूल से)।
अवलोकनीयता: इन टूल्स के लिए Neon Platform Beta की आवश्यकता होती है और वर्तमान में ये केवल aws-us-east-2 क्षेत्र के प्रोजेक्ट्स के लिए उपलब्ध हैं। लॉग पहुँच के बिना एक ब्रांच कारण telemetry_not_enabled के साथ HTTP 404 लौटाता है।
query_logs: Neon सर्वरलेस फ़ंक्शन और अन्य सेवाओं द्वारा उत्सर्जित OpenTelemetry लॉग क्वेरी करता है। स्रोत, सेवा नाम, गंभीरता और समय विंडो के लिए संरचित फ़िल्टर का उपयोग करें, या स्ट्रीम चयनकर्ताओं और लाइन फ़िल्टर के लिए कच्चेlogqlका उपयोग करें जिन्हें संरचित इनपुट व्यक्त नहीं कर सकते।list_log_fields: उन लॉग फ़ील्ड्स की सूची दिखाता है जिनके लिए आप एक ब्रांच पर मानों की गणना कर सकते हैं, जैसेservice_name,severity_textऔरscope_name।list_log_field_valuesसे पहले उपयोग करें।list_log_field_values: एक ब्रांच और समय विंडो के भीतर लॉग फ़ील्ड के विशिष्ट मानों की सूची दिखाता है, ताकि संरचित फ़िल्टर या कच्चेlogqlके लिए ठोस मान खोजे जा सकें।
दस्तावेज़ीकरण और संसाधन:
list_docs_resources:https://neon.com/docs/llms.txtसे इंडेक्स प्राप्त करके सभी उपलब्ध Neon दस्तावेज़ीकरण पृष्ठों की सूची दिखाता है। पृष्ठ URL और शीर्षक लौटाता है जिन्हेंget_doc_resourceटूल का उपयोग करके व्यक्तिगत रूप से प्राप्त किया जा सकता है।get_doc_resource: किसी विशिष्ट Neon दस्तावेज़ीकरण पृष्ठ को markdown सामग्री के रूप में प्राप्त करता है। उपलब्ध पृष्ठ slugs खोजने के लिए पहलेlist_docs_resourcesटूल का उपयोग करें, फिर slug को इस टूल में पास करें।
माइग्रेशन
माइग्रेशन समय के साथ आपके डेटाबेस स्कीमा में परिवर्तनों को प्रबंधित करने का एक तरीका है। Neon MCP सर्वर के साथ, LLM को अलग "Start" (prepare_database_migration) और "Commit" (complete_database_migration) कमांड के साथ सुरक्षित रूप से माइग्रेशन करने की क्षमता मिलती है।
"Start" कमांड एक माइग्रेशन स्वीकार करता है और उसे एक नई अस्थायी ब्रांच में चलाता है। लौटने पर, यह कमांड LLM को संकेत देता है कि उसे इस ब्रांच पर माइग्रेशन का परीक्षण करना चाहिए। LLM फिर मूल ब्रांच पर माइग्रेशन लागू करने के लिए "Commit" कमांड चला सकता है।
विकास
यह प्रोजेक्ट pnpm को पैकेज मैनेजर के रूप में उपयोग करता है, जो Corepack के माध्यम से पिन किया गया है।
प्रोजेक्ट संरचना
MCP सर्वर कोड रिपॉजिटरी रूट पर स्थित है, जो mcp.neon.tech पर Vercel पर तैनात एक Next.js एप्लिकेशन है।
corepack enable
pnpm install
स्थानीय विकास
# Start the Next.js dev server (for the remote MCP server)
pnpm dev
लिंटिंग और टाइप जाँच
pnpm lint
pnpm typecheck
पर्यावरण चर
रिमोट सर्वर रनटाइम के लिए आवश्यक:
| चर | विवरण |
|---|---|
SERVER_HOST | सर्वर URL (डिफ़ॉल्ट VERCEL_URL) |
UPSTREAM_OAUTH_HOST | Neon OAuth प्रदाता URL |
CLIENT_ID | OAuth क्लाइंट ID |
CLIENT_SECRET | OAuth क्लाइंट सीक्रेट |
COOKIE_SECRET | हस्ताक्षरित कुकीज़ के लिए सीक्रेट |
KV_URL | Vercel KV (Upstash Redis) URL |
OAUTH_DATABASE_URL | टोकन भंडारण के लिए Postgres URL |
वैकल्पिक:
| चर | विवरण |
|---|---|
LOG_LEVEL | Winston लॉग स्तर: error, warn, info (डिफ़ॉल्ट), debug, verbose, silly |
परीक्षण पिरामिड
सभी परीक्षण रिपॉजिटरी रूट से चलते हैं।
# 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
परीक्षण रणनीति:
- ट्रांसपोर्ट/प्रोटोकॉल और उपयोगकर्ता-दृश्यमान व्यवहार के लिए E2E को प्राथमिकता दें।
- निर्धारित टूल अनुबंधों और वर्कफ़्लो व्यवहार के लिए एकीकरण परीक्षणों का उपयोग करें।
- शुद्ध तर्क और किनारे के मामलों के लिए यूनिट परीक्षणों का उपयोग करें।
- मर्ज-गेटिंग परीक्षणों में तृतीय-पक्ष अपटाइम पर निर्भर रहने से बचें; एकीकरण/यूनिट स्तरों में बाहरी निर्भरताओं को मॉक करें।
तैनाती
Vercel रिपॉजिटरी ब्रांच कॉन्फ़िगरेशन से रिमोट सर्वर को स्वचालित रूप से तैनात करता है। पुल अनुरोधों के लिए पूर्वावलोकन वातावरण उपलब्ध हैं।