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 Logo fallback

Neon MCP सर्वर

Install MCP Server in Cursor Add to Kiro

Neon MCP सर्वर एक ओपन-सोर्स टूल है जो आपको प्राकृतिक भाषा में Neon पर अपने Lakebase Postgres डेटाबेस के साथ इंटरैक्ट करने की सुविधा देता है।

License: MIT

मॉडल कॉन्टेक्स्ट प्रोटोकॉल (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 सर्वर सेट करने के लिए कुछ विकल्प हैं:

  1. API कुंजी के साथ त्वरित सेटअप (Cursor, VS Code, और Claude Code): Neon के MCP सर्वर, एजेंट स्किल्स और VS Code एक्सटेंशन को एक कमांड से स्वचालित रूप से कॉन्फ़िगर करने के लिए neon@latest init चलाएं।
  2. रिमोट MCP सर्वर (OAuth-आधारित प्रमाणीकरण): प्रमाणीकरण के लिए OAuth का उपयोग करके Neon के प्रबंधित MCP सर्वर से कनेक्ट करें। यह विधि अधिक सुविधाजनक है क्योंकि यह API कुंजियों को प्रबंधित करने की आवश्यकता को समाप्त करती है। इसके अतिरिक्त, आपको रिलीज़ होते ही नवीनतम सुविधाएं और सुधार स्वचालित रूप से प्राप्त होंगे।
  3. रिमोट 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 में चयन कर सकते हैं।

रीड-ओनली मोड उपलब्ध टूल्स को प्रतिबंधित करता है, जिससे प्रोजेक्ट बनाने, ब्रांच बनाने या माइग्रेशन चलाने जैसी लेखन क्रियाएं अक्षम हो जाती हैं। रीड-ओनली टूल्स में प्रोजेक्ट सूचीबद्ध करना, स्कीमा का वर्णन करना, डेटा क्वेरी करना और प्रदर्शन मेट्रिक्स देखना शामिल है।

आप रीड-ओनली मोड दो तरीकों से सेट कर सकते हैं:

  1. OAuth स्कोप चयन (अनुशंसित): OAuth में, प्राधिकरण UI में Full access को अनचेक करके रीड-ओनली चुनें।
  2. readonly क्वेरी पैराम: अपने MCP सर्वर URL में ?readonly=true जोड़ें:
{
  "mcpServers": {
    "Neon": {
      "url": "https://mcp.neon.tech/mcp?readonly=true"
    }
  }
}

क्वेरी पैराम कैसे व्यवहार करता है:

  • API कुंजी फ्लो: रीड-ओनली मोड सक्षम करने का तरीका readonly=true है (इस फ्लो में कोई OAuth स्कोप विनिमय नहीं होता)।
  • OAuth फ्लो: readonly=true OAuth स्कोप को ओवरराइड करता है। इसके बिना, रीड-ओनली 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_organizations
  • describe_branch, list_branch_computes, compare_database_schema
  • run_sql, run_sql_transaction, get_database_tables, describe_table_schema
  • list_slow_queries, explain_sql_statement, inspect_database
  • get_connection_string
  • get_neon_auth_config
  • query_logs, list_log_fields, list_log_field_values
  • search, fetch, list_docs_resources, get_doc_resource

लेखन पहुंच की आवश्यकता वाले टूल्स:

  • create_project, delete_project
  • create_branch, delete_branch, reset_from_parent
  • provision_neon_auth, configure_neon_auth, provision_neon_data_api
  • prepare_database_migration, complete_database_migration
  • prepare_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 प्रोजेक्ट्स और डेटाबेस के साथ इंटरैक्ट करने के लिए इन टूल्स का उपयोग कर सकते हैं।

टूल स्कोप मेटाडेटा

प्रत्येक टूल परिभाषा में एक scope श्रेणी शामिल होती है जिसका उपयोग अनुदान-आधारित टूल फ़िल्टरिंग और सहमति UX के लिए किया जाता है। वर्तमान श्रेणियाँ हैं:

  • projects
  • branches
  • schema
  • querying
  • neon_auth
  • data_api
  • observability
  • docs
  • null (स्कोप श्रेणी के बिना टूल्स)

नोट्स:

  • 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 db CLI कमांड के समान जाँचें। उनमें से चार को 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_namelist_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_HOSTNeon OAuth प्रदाता URL
CLIENT_IDOAuth क्लाइंट ID
CLIENT_SECRETOAuth क्लाइंट सीक्रेट
COOKIE_SECRETहस्ताक्षरित कुकीज़ के लिए सीक्रेट
KV_URLVercel KV (Upstash Redis) URL
OAUTH_DATABASE_URLटोकन भंडारण के लिए Postgres URL

वैकल्पिक:

चरविवरण
LOG_LEVELWinston लॉग स्तर: 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 रिपॉजिटरी ब्रांच कॉन्फ़िगरेशन से रिमोट सर्वर को स्वचालित रूप से तैनात करता है। पुल अनुरोधों के लिए पूर्वावलोकन वातावरण उपलब्ध हैं।