README.md

April 11, 2026 · View on GitHub

ടെസ്റ്റിംഗ് ആൻഡ് ഡീബഗ്ഗിങ്

നിങ്ങളുടെ MCP സെർവർ ടെസ്റ്റ് ചെയ്യുന്നതിന് മുമ്പ്, ലഭ്യമായ ഉപകരണങ്ങളെയും ഡീബഗ്ഗിങ്ങിനുള്ള മികച്ച പ്രവണതകളെയും മനസ്സിലാക്കുന്നത് പ്രധാനമാണ്. കാര്യക്ഷമമായ ടെസ്റ്റിംഗ് നിങ്ങളുടെ സെർവർ പ്രതീക്ഷിച്ച രൂപത്തിൽ പ്രവർത്തിക്കുന്നതിന് ഉറപ്പുനൽകുകയും ഉപദ്രവങ്ങളെ വേഗത്തിൽ തിരിച്ചറിയുകയും പരിഹരിക്കാനുമായി സഹായിക്കുകയും ചെയ്യുന്നു. നിങ്ങളുടെ MCP ഗതിവിതാനം പരിശോധനയ്ക്കുള്ള ശിപാർശചെയ്ത സമീപനങ്ങൾ താഴെപ്പറയുന്ന വിഭാഗത്തിൽ വിശദീകരിച്ചിരിക്കുന്നു.

അവലോകനം

ഈ പാഠത്തിൽ ശരിയായ ടെസ്റ്റിംഗ് സമീപനം തിരഞ്ഞെടുക്കുന്നതും ഏറ്റവും കാര്യക്ഷമമായ ടെസ്റ്റിംഗ് ഉപകരണം എന്തെന്ന് പരിഗണിക്കലും ഉൾക്കൊള്ളുന്നു.

പഠിക്കാനുള്ള ലക്ഷ്യങ്ങൾ

ഈ പാഠത്തിന്റെ അവസാനം നിങ്ങൾക്ക് സാധിക്കുകയുള്ളത്:

  • ടെസ്റ്റിംഗിനുള്ള വിവിധ സമീപനങ്ങൾ വിവരണം ചെയ്യുക.
  • വ്യത്യസ്ത ഉപകരണങ്ങൾ ഉപയോഗിച്ച് നിങ്ങളുടെ കോഡ് കാര്യക്ഷമമായി ടെസ്റ്റ് ചെയ്യുക.

MCP സെർവറുകൾ ടെസ്റ്റ് ചെയ്യൽ

MCP നിങ്ങളുടെ സെർവറുകളെ ടെസ്റ്റ് ചെയ്യാനും ഡീബഗ് ചെയ്യാനും സഹായിക്കുന്ന ഉപകരണങ്ങൾ നൽകുന്നു:

  • MCP ഇൻസ്പെക്ടർ: ഒരു കമാൻഡ് ലൈൻ ടൂൾ, CLI ടൂൾ ആയി കൂടാതെ ദൃശ്യ ഉപകരണമായി ഉപയോഗിക്കാവുന്നതാണ്.
  • മാനുവൽ ടെസ്റ്റിംഗ്: curl പോലുള്ള ഒരു ഉപകരണം ഉപയോഗിച്ച് വെബ് അഭ്യർത്ഥനകൾ നടത്താം, എന്നാൽ HTTP പ്രവർത്തിക്കുവാൻ കഴിയുന്ന ഏതെങ്കിലും ഉപകരണം ഉപയോഗിക്കാം.
  • യൂണിറ്റ് ടെസ്റ്റിംഗ്: നിങ്ങളുടെ ഇഷ്ടംപ്രകാരം ടെസ്റ്റിംഗ് ഫ്രെയിമ്വർക്ക് ഉപയോഗിച്ച് സെർവർ, ക്ളയന്റ് എന്നിവയുടെ ഫീച്ചറുകൾ ടെസ്റ്റ് ചെയ്യാം.

MCP ഇൻസ്പെക്ടർ ഉപയോഗിക്കൽ

നാം ഇതുവരെ പാഠങ്ങളിൽ ഈ ടൂളിന്റെ ഉപയോഗം വിശദമാക്കി കഴിഞ്ഞിട്ടുണ്ട്, പക്ഷേ ഒരു ഉന്നത തലത്തിലുള്ള ചർച്ച ചെയ്യാം. ഇത് Node.js-ൽ നിർമ്മിച്ച ഒരു ഉപകരണം ആണ്, npx എക്സിക്യൂട്ടബിൾ വിളിച്ച് ഉപയോഗിക്കാം. ഇത് ടൂൾ താൽക്കാലികമായി ഡൗൺലോഡ് ചെയ്ത് ഇൻസ്റ്റാൾ ചെയ്യും, നിങ്ങളുടെ അഭ്യർത്ഥനം പ്രവർത്തനം പൂർത്തിയാക്കിയ ശേഷം സ്വയം നീക്കം ചെയ്യും.

MCP ഇൻസ്പെക്ടർ നിങ്ങൾക്ക് സഹായിക്കുന്നു:

  • സെർവർ പ്രവർത്തനശേഷി കണ്ടെത്തുക: ലഭ്യമായ റിസോഴ്സുകൾ, ടൂളുകൾ, പ്രോംപ്റ്റുകൾ ഓട്ടോമാറ്റിക്കായി കണ്ടെത്തുക
  • ടൂൾ എക്സിക്യൂഷൻ ടെസ്റ്റ് ചെയ്യുക: വ്യത്യസ്ത പാരാമീറ്ററുകൾ പരീക്ഷിച്ച് പ്രതികരണങ്ങൾ തത്സമയത്തിൽ കാണുക
  • സെർവർ മെറ്റാഡേറ്റ കാണുക: സെർവർ വിവരങ്ങൾ, സ്കീമകൾ, കോൺഫിഗറേഷനുകൾ പരിശോധിക്കുക

ടൂൾ സാധാരണയായി ഇങ്ങനെ പ്രവർത്തിക്കുന്നു:

npx @modelcontextprotocol/inspector node build/index.js

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

അതിന്റേതായ ഇനിപ്പറയുന്ന രൂപമാണ്: Inspector

നിങ്ങൾ ഈ ടൂൾ CLI മോഡിലും ഉപയോഗിക്കാവുന്നതാണ്, ഈ സമയത്ത് --cli എന്ന അറ്റ്രിബ്യൂട്ട് ചേർക്കണം. സെർവറിലെ എല്ലാ ടൂളുകളും പട്ടികപ്പെടുത്തുന്ന "CLI" മോഡിലുള്ള ടൂൾ പ്രവർത്തിപ്പിക്കുന്ന ഉദാഹരണം ഇവിടെ:

npx @modelcontextprotocol/inspector --cli node build/index.js --method tools/list

മാനുവൽ ടെസ്റ്റിംഗ്

സെർവർ ശേഷികൾ പരിശോധിക്കുന്നതിന് ഇൻസ്പെക്ടർ ടൂൾ ഓടിക്കാതെയുള്ള മറ്റൊരു സമാനനീക്കമാണ് HTTP പ്രോട്ടോക്കോൾ ഉപയോഗിക്കുന്നത് പോലെ curl പോലെയുള്ള ക്ലയന്റ് ഉപയോഗിച്ച് പ്രവർത്തിക്കുക.

curl ഉപയോഗിച്ച് MCP സെർവറുകൾ നേരിട്ട് HTTP അഭ്യർത്ഥനകളിലൂടെ ടെസ്റ്റ് ചെയ്യാം:

# ഉദാഹരണം: ടെസ്റ്റ് സെർവർ മേറ്റാഡാറ്റ
curl http://localhost:3000/v1/metadata

# ഉദാഹരണം: ഒരു ഉപകരണം പ്രവർത്തിപ്പിക്കുക
curl -X POST http://localhost:3000/v1/tools/execute \
  -H "Content-Type: application/json" \
  -d '{"name": "calculator", "parameters": {"expression": "2+2"}}'

மேலே curl ഉപയോഗം കാണിക്കുന്നതുപോലെ, ഒരു ടൂൾ എംഗേജുചെയ്യാൻ POST അഭ്യർത്ഥന ഉപയോഗിക്കുന്നു, ടൂളിന്റെ പേര് അതിന്റെ പാരാമീറ്ററുകൾ അടങ്ങിയ പെതലോടുകളോടും കൂടിയാണ്. നിങ്ങള്ക്ക് അനുസരിക്കുന്ന സമീപനം ഉപയോഗിക്കുക. CLI ടൂളുകൾ സാധാരണഗതിയിൽ വേഗത്തിൽ ഉപയോഗിക്കാൻ കഴിയുകയും സ്രിപ്റ്റ് ചെയ്യാനാകുന്നതും ഇത് CI/CD പരിതസ്ഥിതികളിലു ന്ന് ഉപകാരപ്രദവുമാണ്.

യൂണിറ്റ് ടെസ്റ്റിംഗ്

ഇന്ത്യാങ്ങളുടെ ടൂളുകൾക്കും റിസോഴ്സുകൾക്കും യൂണിറ്റ് ടെസ്റ്റുകൾ സൃഷ്ടിക്കുക, അവ പ്രതീക്ഷിച്ചതുപോലെ പ്രവർത്തിക്കുന്നതെന്ന് ഉറപ്പാക്കാൻ. ചില ഉദാഹരണ ടെസ്റ്റിംഗ് കോഡുകൾ കാണാം.

import pytest

from mcp.server.fastmcp import FastMCP
from mcp.shared.memory import (
    create_connected_server_and_client_session as create_session,
)

# അസിങ്ക്രണസ് ടെസ്റ്‌സിന് മുഴുവൻ മോഡ്യൂള്‍ അടയാളപ്പെടുത്തുക
pytestmark = pytest.mark.anyio


async def test_list_tools_cursor_parameter():
    """Test that the cursor parameter is accepted for list_tools.

    Note: FastMCP doesn't currently implement pagination, so this test
    only verifies that the cursor parameter is accepted by the client.
    """

 server = FastMCP("test")

    # ചില ടെസ്റ്റ് ടൂളുകൾ സൃഷ്ടിക്കുക
    @server.tool(name="test_tool_1")
    async def test_tool_1() -> str:
        """First test tool"""
        return "Result 1"

    @server.tool(name="test_tool_2")
    async def test_tool_2() -> str:
        """Second test tool"""
        return "Result 2"

    async with create_session(server._mcp_server) as client_session:
        # കേഴ്സർ പാരാമീറ്റർ ഇല്ലാതെ ടെസ്റ്റ് ചെയ്യുക (വയ്ക്കാതിരിക്കുക)
        result1 = await client_session.list_tools()
        assert len(result1.tools) == 2

        # കേഴ്സർ=None ആയി ടെസ്റ്റ് ചെയ്യുക
        result2 = await client_session.list_tools(cursor=None)
        assert len(result2.tools) == 2

        # കേഴ്സർ സ്ട്രിംഗായി ടെസ്റ്റ് ചെയ്യുക
        result3 = await client_session.list_tools(cursor="some_cursor_value")
        assert len(result3.tools) == 2

        # ശൂന്യ സ്ട്രിംഗ് കേഴ്സറോടെയുള്ള ടെസ്റ്റ്
        result4 = await client_session.list_tools(cursor="")
        assert len(result4.tools) == 2
    

മുകളിലുള്ള കോഡ് താഴെപ്പറയുന്ന ചുമതലകൾ നിർവഹിക്കുന്നു:

  • pytest ഫ്രെയിമ്വർക്ക് ഉപയോഗിച്ച് ഫംഗ്ഷനുകളായി ടെസ്റ്റ് സൃഷ്ടിക്കുകയും assert പ്രസ്താവനകൾ ഉപയോഗിക്കുകയും ചെയ്യുന്നു.
  • രണ്ട് വ്യത്യസ്ത ടൂളുകൾ ഉൾക്കൊള്ളുന്ന MCP സെർവർ സൃഷ്ടിക്കുന്നു.
  • നിശ്ചിത കണ്ടീഷനുകൾ നിറവേറിയിട്ടുണ്ടോ എന്ന് പരിശോധിക്കാൻ assert പ്രസ്താവന ഉപയോഗിക്കുന്നു.

പൂർണ്ണ ഫയൽ ഇവിടെ കാണുക

മുകളിലുള്ള ഫയൽ അടിസ്ഥാനമാക്കി, നിങ്ങളുടെ സ്വന്തം സെർവർ ടെസ്റ്റ് ചെയ്ത് പ്രസക്തമായ ശേഷികൾ സൃഷ്ടിച്ചതായി ഉറപ്പാക്കാം.

അകമ്പടി SDKകളിലും സമാനമായ ടെസ്റ്റിംഗ് വിഭാഗങ്ങൾ ഉണ്ടാകുന്നു, അതിനാൽ നിങ്ങളുടെ തിരഞ്ഞെടുക്കുന്ന റൺടൈം അനുസരിച്ച് ക്രമീകരിക്കാം.

സാംപിളുകൾ

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

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


ഡിസ്‌ക്ലെയിമർ:
ഈ പ്രമാണം AI വിവർത്തന സേവനം Co-op Translator ഉപയോഗിച്ച് വിവർത്തനം ചെയ്തതാണ്. ഞങ്ങൾ തൊണ്ടിച്ചില്ലാത്ത കൃത്യതയ്ക്ക് ശ്രമിച്ചാൽ പൊരുതും, ഓട്ടോമേറ്റഡ് വിവർത്തനങ്ങളിൽ പിഴവുകൾ അല്ലെങ്കിൽculosുകൾ ഉണ്ടാകാൻ സാധ്യതയുണ്ടെന്ന് ദയവായി ശ്രദ്ധിക്കുക. അതിന്റെ എല്ലാ വിവരം പതിവായ ഭാഷയിലെ യഥാർത്ഥ പ്രമാണം അധികാരമുളള ഉറവിടമായി അംഗീകരിക്കപ്പെടണം. അതിക്ഷണ വിവരങ്ങൾക്ക് പ്രൊഫഷണൽ മാനുഷിക വിവർത്തനം ശുപാർശചെയ്യുന്നു. ഈ വിവർത്തനം ഉപയോഗിച്ച് ഉണ്ടാകുന്ന പദ്ധതികൾ അല്ലെങ്കിൽ തെറ്റിദ്ധാരണകൾക്ക് ഞങ്ങൾ ഉത്തരവാദികളല്ല.