Files
2026-07-13 13:31:35 +08:00

23 KiB

MCP ഇൻസ്പക്ടറോടൊപ്പം ഡിബഗ്ഗിംഗ്

MCP ഇൻസ്പക്ടർ എളുപ്പത്തിൽ MCP സേർവറുകളെ ടെസ്റ്റ് ചെയ്ത് പ്രശ്നങ്ങൾ കണ്ടെത്താൻ സഹായിക്കുന്ന ഒരു മഹത്തരമായ ഡിബഗ്ഗിംഗ് ടൂളാണ്. ഒരു പൂർണ്ണ AI ഹോസ്റ്റ് എപ്ലിക്കേഷൻ ആവശ്യമില്ലാതെ നിങ്ങൾക്ക് സംവദിക്കാൻ, ആവശ്യങ്ങൾ അയയ്ക്കാനും, പ്രതികരണങ്ങൾ കാണാനും, സേർവർ എങ്ങിനെയൊന്ന് പ്രവർത്തിക്കുന്നു എന്ന് മനസിലാക്കാനും ഇത് സഹായിക്കുന്നു. ഇതിനെ "MCP-ക്ക് പോസ്റ്റ്മാൻ" എന്ന് കരുതാം - അത് ആവശ്യങ്ങൾ അയയ്ക്കുന്നതിനും, പ്രാപ്ത മറുപടികൾ കാണുന്നതിനും ദൃശ്യാത്മക ഇന്റർഫേസ് നൽകുന്നു.

MCP ഇൻസ്പക്ടർ ഉപയോഗിക്കുന്നതിനുള്ള കാരണം

MCP സേർവറുകൾ നിർമ്മിക്കുമ്പോൾ നിങ്ങൾ പലപ്പോഴും ഈ വെല്ലുവിളികളുമായി നേരിടേണ്ടിവരും:

  • "എന്റെ സെർവർ പ്രവർത്തിക്കുന്നുണ്ടോ?" - ഇൻസ്പക്ടർ കണക്ഷൻ നില കാണിക്കുന്നതിന്
  • "എന്റെ ടൂളുകൾ ശരിയായി രജിസ്റ്റർ ചെയ്തിട്ടുണ്ടോ?" - ഇൻസ്പക്ടർ എല്ലാ ലഭ്യമായ ടൂളുകളും പട്ടിക ഇടുന്നു
  • "പ്രതികരണ ഫോർമാറ്റ് എന്താണ്?" - ഇൻസ്പക്ടർ സമ്പൂർണ JSON പ്രതികരണങ്ങൾ പ്രദർശിപ്പിക്കുന്നു
  • "ഈ ടൂൾ എന്തിന് പ്രവർത്തിക്കുന്നില്ല?" - ഇൻസ്പക്ടർ വിശദമായ പിഴവു സന്ദേശങ്ങൾ കാണിക്കുന്നു

ആവശ്യമായ മുൻകൂർ വിവരങ്ങൾ

  • Node.js 18+ സ്ഥാപിച്ചിട്ടിരിക്കണം
  • npm (Node.js-നൊപ്പം വരുന്നു)
  • ടെസ്റ്റ് ചെയ്യാൻ ഒരു MCP സേർവർ (കാണുക Module 3.1 - First Server)

ഇൻസ്റ്റാളേഷൻ

ഓപ്ഷൻ 1: npx ഉപയോഗിച്ച് ഓടിക്കുക (വേഗത്തിലുള്ള ടെസ്റ്റിംഗിന് ശുപാർശ ചെയ്യുന്നു)

npx @modelcontextprotocol/inspector

ഓപ്ഷൻ 2: ഗ്ലോബലി ഇൻസ്റ്റാൾ ചെയ്യുക

npm install -g @modelcontextprotocol/inspector
mcp-inspector

ഓപ്ഷൻ 3: നിങ്ങളുടെ പ്രോജക്ടിൽ ചേർക്കുക

cd your-mcp-server-project
npm install --save-dev @modelcontextprotocol/inspector

package.json-ൽ ചേർക്കുക:

{
  "scripts": {
    "inspector": "mcp-inspector"
  }
}

നിങ്ങളുടെ സെർവറുമായി കണക്ട് ചെയ്യൽ

stdio സർവറുകൾ (ലോകൽ പ്രോസസ്)

സ്റ്റാൻഡേർഡ് ഇൻപുട്ട്/ഔട്ട്പുട്ട് വഴി സംവദിക്കുന്ന സർവറുകൾക്കായി:

# പPython സർവർ
npx @modelcontextprotocol/inspector python -m your_server_module

# Node.js സർവർ
npx @modelcontextprotocol/inspector node ./build/index.js

# പരിസ്ഥിതി വ്യത്യാസങ്ങളോടൊപ്പം
OPENAI_API_KEY=xxx npx @modelcontextprotocol/inspector python server.py

SSE/HTTP സർവറുകൾ (നെറ്റ്‌വർക്ക്സ്)

HTTP സേവനങ്ങളായി പ്രവർത്തിക്കുന്ന സർവറുകൾക്കായി:

  1. ആദ്യം നിങ്ങളുടെ സർവർ ആരംഭിക്കുക:

    python server.py  # സെർവർ http://localhost:8080 ൽ പ്രവർത്തിക്കുന്നു
    
  2. ഇൻസ്പക്ടർ ആരംഭിച്ച് കണക്ട് ചെയ്യുക:

    npx @modelcontextprotocol/inspector --sse http://localhost:8080/sse
    

ഇൻസ്പക്ടർ ഇന്റർഫേസ് അവലോകനം

ഇൻസ്പക്ടർ ആരംഭിക്കുമ്പോൾ, നിങ്ങൾക്ക് ഒരു വെബ് ഇന്റർഫേസും കാണാം ( സാധാരണയായി http://localhost:5173):

┌─────────────────────────────────────────────────────────────┐
│  MCP Inspector                              [Connected ✅]   │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐         │
│  │   🔧 Tools  │  │ 📄 Resources│  │ 💬 Prompts  │         │
│  │    (3)      │  │    (2)      │  │    (1)      │         │
│  └─────────────┘  └─────────────┘  └─────────────┘         │
│                                                             │
│  ┌───────────────────────────────────────────────────────┐ │
│  │  📋 Message Log                                       │ │
│  │  ─────────────────────────────────────────────────── │ │
│  │  → initialize                                         │ │
│  │  ← initialized (server info)                          │ │
│  │  → tools/list                                         │ │
│  │  ← tools (3 tools)                                    │ │
│  └───────────────────────────────────────────────────────┘ │
│                                                             │
└─────────────────────────────────────────────────────────────┘

ടെസ്റ്റിംഗ് ടൂൾസ്

ലഭ്യമായ ടൂളുകളുടെ പട്ടിക കാണുക

  1. Tools ടാബിൽ ക്ലിക്ക് ചെയ്യുക
  2. ഇൻസ്പക്ടർ സ്വയം tools/list കോൾ ചെയ്യുന്നു
  3. നിങ്ങൾക്ക് എല്ലാ രജിസ്റ്റർ ചെയ്ത ടൂളുകളും കാണാം:
    • ടൂൾ പേര്
    • വിവരണം
    • ഇൻപുട്ട് സ്കീമ (പരാമീറ്ററുകൾ)

ഒരു ടൂൾ പ്രവർത്തിപ്പിക്കുക

  1. പട്ടികയിൽ നിന്ന് ഒരു ടൂൾ തിരഞ്ഞെടുക്കുക
  2. ഫോംയിൽ ആവശ്യമായ പാർാമീറ്ററുകൾ പൂരിപ്പിക്കുക
  3. Run Tool ക്ലിക്ക് ചെയ്യുക
  4. ഫലം പാനലിൽ പ്രതികരണം കാണുക

ഉദാഹരണം: കാൽക്കുലേറ്റർ ടൂൾ ടെസ്റ്റ് ചെയ്യുന്നു

Tool: add
Parameters:
  a: 25
  b: 17

Response:
{
  "content": [
    {
      "type": "text",
      "text": "42"
    }
  ]
}

ടൂൾ പിഴവുകൾ ഡിബഗ് ചെയ്യൽ

ഒരു ടൂൾ പരാജയപ്പെടുമ്പോൾ ഇൻസ്പക്ടർ കാണിക്കുന്നു:

Error Response:
{
  "error": {
    "code": -32602,
    "message": "Invalid params: 'b' is required"
  }
}

സാധാരണ പിഴവു കോഡുകൾ:

കോഡ് അർത്ഥം
-32700 പാഴ്‌സ് പിഴവ് (ശരിയായ JSON കയറ്റം അല്ല)
-32600 അസാധുവായ അപേക്ഷ
-32601 വിധി കണ്ടെത്തിയില്ല
-32602 അസാധുവായ പരാമീറ്ററുകൾ
-32603 ആന്തരിക പിഴവ്

റിസോഴ്സുകൾ ടെസ്റ്റ് ചെയ്യൽ

റിസോഴ്സുകളുടെ പട്ടിക കാണുക

  1. Resources ടാബിൽ ക്ലിക്ക് ചെയ്യുക
  2. ഇൻസ്പക്ടർ resources/list കോൾ ചെയ്യുന്നു
  3. നിങ്ങൾക്ക് കാണാം:
    • റിസോഴ്‌സ് URI-കൾ
    • പേരുകൾ, വിവരണങ്ങൾ
    • MIME തരം

ഒരു റിസോഴ്‌സ് വായിക്കുക

  1. ഒരു റിസോഴ്‌സ് തിരഞ്ഞെടുക്കുക
  2. Read Resource ക്ലിക്ക് ചെയ്യുക
  3. തിരികെ ലഭിക്കുന്ന ഉള്ളടക്കം കാണുക

ഉദാഹരണം ഔട്ട്പുട്ട്:

Resource: file:///config/settings.json
Content-Type: application/json

{
  "config": {
    "debug": true,
    "maxConnections": 10
  }
}

പ്രോമ്പ്റ്റുകൾ ടെസ്റ്റ് ചെയ്യൽ

പ്രോമ്പ്റ്റുകളുടെ പട്ടിക

  1. Prompts ടാബിൽ ക്ലിക്ക് ചെയ്യുക
  2. ഇൻസ്പക്ടർ prompts/list കോൾ ചെയ്യുന്നു
  3. ലഭ്യമായ പ്രോമ്പ്റ്റ് ടെംപ്ലേറ്റുകൾ കാണുക

ഒരു പ്രോമ്പ്റ്റ് നേടുക

  1. ഒരു പ്രോമ്പ്റ്റ് തിരഞ്ഞെടുക്കുക
  2. ആവശ്യമായ ആര്‌ഗ്യൂമെന്റുകൾ പൂരിപ്പിക്കുക
  3. Get Prompt ക്ലിക്ക് ചെയ്യുക
  4. റെൻഡർ ചെയ്‌ത പ്രോമ്പ്റ്റ് സന്ദേശങ്ങൾ കാണുക

സന്ദേശ ലോഗ് വിശകലനം

സന്ദേശ ലോഗ് MCP പ്രോട്ടോക്കോൾ സന്ദേശങ്ങൾ എല്ലാം കാണിക്കുന്നു:

14:32:01 → {"jsonrpc":"2.0","id":1,"method":"initialize",...}
14:32:01 ← {"jsonrpc":"2.0","id":1,"result":{"protocolVersion":"2025-11-25",...}}
14:32:02 → {"jsonrpc":"2.0","id":2,"method":"tools/list"}
14:32:02 ← {"jsonrpc":"2.0","id":2,"result":{"tools":[...]}}
14:32:05 → {"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"add",...}}
14:32:05 ← {"jsonrpc":"2.0","id":3,"result":{"content":[...]}}

ശ്രദ്ധിക്കാനുള്ള കാര്യങ്ങൾ

  • അപേക്ഷ/പ്രതികരണം ജോഡി: ഓരോ നും അനുയോജ്യമായ ഉണ്ടായിരിക്കണം
  • പിഴവു സന്ദേശങ്ങൾ: പ്രതികരണങ്ങളിൽ "error" ഉണ്ടാകുന്നിടം നോക്കുക
  • സമയ അടിസ്ഥാനത്തിലുള്ള പ്രശ്നങ്ങൾ: വലിയ ഇടവേളകൾ പ്രകടന പ്രശ്നങ്ങൾ സൂചിപ്പിച്ചേക്കാം
  • പ്രോട്ടോക്കോൾ പതിപ്പ്: സെർവർ, ക്ലയന്റ് പതിപ്പുകളിൽ സഹമതം ഉണ്ടെന്ന് ഉറപ്പാക്കുക

VS കോഡ് സംയോജനം

കഴിയായി ഇൻസ്പექტർ നേരിട്ട് VS കോഡ്-ൽ നിന്നും ഓടിക്കാം:

launch.json ഉപയോഗിച്ച്

.vscode/launch.json-ൽ ചേർക്കുക:

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Debug with MCP Inspector",
      "type": "node",
      "request": "launch",
      "runtimeExecutable": "npx",
      "runtimeArgs": [
        "@modelcontextprotocol/inspector",
        "python",
        "${workspaceFolder}/server.py"
      ],
      "console": "integratedTerminal"
    },
    {
      "name": "Debug SSE Server with Inspector",
      "type": "chrome",
      "request": "launch",
      "url": "http://localhost:5173",
      "preLaunchTask": "Start MCP Inspector"
    }
  ]
}

ടാസ്കുകൾ ഉപയോഗിച്ച്

.vscode/tasks.json-ൽ ചേർക്കുക:

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "Start MCP Inspector",
      "type": "shell",
      "command": "npx @modelcontextprotocol/inspector node ${workspaceFolder}/build/index.js",
      "isBackground": true,
      "problemMatcher": {
        "pattern": {
          "regexp": "^$"
        },
        "background": {
          "activeOnStart": true,
          "beginsPattern": "Inspector",
          "endsPattern": "listening"
        }
      }
    }
  ]
}

സാധാരണ ഡിബഗ്ഗിംഗ് സാഹചര്യങ്ങൾ

സാഹചര്യം 1: സെർവർ കണക്ട് ചെയ്യുന്നില്ല

ലക്ഷണങ്ങൾ: ഇൻസ്പക്ടർ "Disconnected" കാണിക്കുന്നു അല്ലെങ്കിൽ "Connecting..."ൽ തളരുന്നു

ചെക്ക്ലിസ്റ്റ്:

  1. സെർവർ കമാൻഡ് ശരിയാണോ?
  2. എല്ലാ ആശ്രിതസാധനങ്ങളും ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ടോ?
  3. സെർവർ പാത്ത് ആബ്സല്യൂട്ട് അല്ലെങ്കിൽ നിലവിലെ ഡയറക്റ്ററിയോട് സംബദ്ധമാണോ?
  4. ആവശ്യമായ പരിസര മാറ്റികൾ സെറ്റ് ചെയ്തിട്ടുണ്ടോ?

ഡിബഗ് ചുവടുകൾ:

# ആദ്യമായി സെർവർ മാനുവൽ ആയി സമീപിക്കൂ
python -c "import your_server_module; print('OK')"

# ഇംപോർട്ട് പിശകുകൾ പരിശോധിക്കുക
python -m your_server_module 2>&1 | head -20

# MCP SDK ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ടെന്ന് സ്ഥിരീകരിക്കുക
pip show mcp

സാഹചര്യം 2: ടൂളുകൾ കാണാനില്ല

ലക്ഷണങ്ങൾ: Tools ടാബിൽ എന്തും ഇല്ല

സാധ്യമായ കാരണങ്ങൾ:

  1. സെർവർ ആരംഭിക്കുമ്പോൾ ടൂളുകൾ രജിസ്റ്റർ ചെയ്തില്ല
  2. സ്റ്റാർട്ടപ്പ് ശേഷം സെർവർ ക്രാഷ് ചെയ്തു
  3. tools/list ഹാൻഡ്‌ലർ ശൂന്യമായ ലിസ്റ്റ് തിരികെ നൽകുന്നു

ഡിബഗ് ചുവടുകൾ:

  1. മെസ്സേജ് ലോഗിൽ tools/list പ്രതികരണം പരിശോധിക്കുക
  2. ടൂൾ രജിസ്ട്രേഷൻ കോഡിൽ ലോഗിംഗ് ചേർക്കുക
  3. @mcp.tool() ഡെക്കറേറ്ററുകൾ നിലവിലാണെന്ന് ഉറപ്പാക്കുക (Python)

സാഹചര്യം 3: ടൂൾ പിഴവ് നൽകുന്നു

ലക്ഷണങ്ങൾ: ടൂൾ കോൾ പിഴവ് ഫലം തിരികെ നൽകുന്നു

ഡിബഗ് സമീപനം:

  1. പിഴവു സന്ദേശം നന്നായി വായിക്കുക
  2. പാർാമീറ്റർ തരം സ്കീമയോട് പൊരുത്തപ്പെടുന്നുണ്ടെന്ന് പരിശോധിക്കുക
  3. വിശദമായ പിഴവു സന്ദേശങ്ങൾക്കായി try/catch ചേർക്കുക
  4. സെർവർ ലോഗുകളിൽ സ്റ്റാക്ക് ട്രേസുകളും പരിശോധിക്കുക

ഉദാഹരണത്തിൽ മെച്ചപ്പെടുത്തി പിഴവു കൈകാര്യം:

@mcp.tool()
async def my_tool(param1: str, param2: int) -> str:
    try:
        # ഉപകരണ തർക്കം ഇവിടെ
        result = process(param1, param2)
        return str(result)
    except ValueError as e:
        raise McpError(f"Invalid parameter: {e}")
    except Exception as e:
        raise McpError(f"Tool failed: {type(e).__name__}: {e}")

സാഹചര്യo 4: റിസോഴ്സ് ഉള്ളടക്കം ശൂന്യം

ലക്ഷണങ്ങൾ: റിസോഴ്സ് പ്രതികരണമായി വരുന്നു, എന്നാൽ ഉള്ളടക്കം ശൂന്യമോ നുള്ളോ ആണു

ചെക്ക്ലിസ്റ്റ്:

  1. ഫയൽ പാത്ത് അല്ലെങ്കിൽ URI ശരിയാണ്
  2. സേർവർക്ക് റിസോഴ്സ് വായിക്കാന് അനുമതി ഉണ്ട്
  3. റിസോഴ്‌സ് ഉള്ളടക്കം ശരിയായി തിരികെ നൽകപ്പെടുന്നു

ഉയര്‍ന്നതല ഇന്‍സ്‌പക്ടര്‍ പ്രവർത്തനങ്ങൾ

കസ്റ്റം ഹെഡറുകൾ (SSE)

npx @modelcontextprotocol/inspector \
  --sse http://localhost:8080/sse \
  --header "Authorization: Bearer your-token"

വിശദമായ ലോഗിംഗ്

DEBUG=mcp* npx @modelcontextprotocol/inspector python server.py

സെഷനുകൾ റെക്കോർഡ് ചെയ്യൽ

ഇൻസ്പക്ടർ പിന്നീട് വിശകലനത്തിനായി സന്ദേശ ലോഗ് എക്സ്പോർട്ട് ചെയ്യാൻ കഴിയും:

  1. സന്ദേശ പാനലിൽ Export Log ക്ലിക്ക് ചെയ്യുക
  2. JSON ഫയൽ സേവ് ചെയ്യുക
  3. ടീം അംഗങ്ങൾക്ക് ഷെയർ ചെയ്യുക ഡിബഗ്ഗിങ്ങിന്

മികച്ച പ്രവൃത്തിപദ്ധതികൾ

  1. പോർവൊക്കെ ടെസ്റ്റ് ചെയ്യുക - വികസന സമയത്ത് സമീപിച്ച് ടെസ്റ്റ് ചെയ്‌താൽ പ്രശ്നങ്ങൾ നേരത്തെ കണ്ടെത്താം
  2. സരളമായി തുടങ്ങുക - സങ്കീർണ്ണ ടൂൾ കോൾമുകൾക്ക് മുമ്പ് അടിസ്ഥാന കണക്ടിവിറ്റി റൂട്ട് ചെയ്യുക
  3. സ്കീമ പരിശോധിക്കുക - പല പിഴവുകളും പാർാമീറ്റർ തരം പൊരുത്തക്കേട് മൂലം ഉണ്ടായിരിക്കും
  4. പിഴവു സന്ദേശങ്ങൾ വായിക്കുക - MCP പിഴവുകൾ സാധാരണയായി വിവരണാത്മകമാണ്
  5. ഇൻസ്പക്ടർ തുറന്ന് വയ്ക്കുക - വികസന സമയത്ത് പ്രശ്നങ്ങൾ പിടികൂടാൻ സഹായിക്കുന്നു

അടുത്തത് എന്താണ്?

നിങ്ങൾ Module 3: Getting Started പൂർത്തിയായിട്ടുണ്ട്! പഠനം തുടരുമായി:


അധിക വിഭവങ്ങൾ


അസാധുവാക്കല്‍: ഈ രേഖ Co-op Translator എന്ന AI വിവര്‍ത്തന സേവനം ഉപയോഗിച്ച് വിവര്‍ത്തനം ചെയ്തതാണ്. ഞങ്ങള്‍ ശുദ്ധതയ്ക്ക് ശ്രമിച്ചെങ്കിലും, ഓട്ടോമാറ്റിക് വിവര്‍ത്തനങ്ങളില്‍ പിഴവുകള്‍ അല്ലെങ്കില്‍ അളവിന് അനുസരിക്കാത്തതായ വിവരങ്ങളുണ്ടാവാവുന്നതാണ്. മൗലിക താളിന്റെ സോഴ്സ് ഭാഷ ബ്ലമേര്‍ഴിക്ക് അധികാരമുള്ളവയാണെന്ന് പരിഗണിക്കണം. അനിവാര്യമായ വിവരങ്ങള്‍ക്കായി പ്രൊഫഷണല്‍ മനുഷ്യ വിവര്‍ത്തനം ശുപാര്‍ശചെയ്യുന്നു. ഈ വിവര്‍ത്തനത്തിന്റെ ഉപയോഗത്തില്‍ ഉണ്ടാകാവുന്ന തെറ്റിദ്ധാരണകള്‍ക്കും തെറ്റായ അര്‍ഥമാക്കലുകള്‍ക്കും ഞങ്ങള്‍ ഉത്തരവാദിത്വം വഹിക്കുന്നില്ല.