23 KiB
MCP இன்ஸ்பெக்டர் மூலம் பிழைதிருத்தல்
MCP இன்ஸ்பெக்டர் என்பது உங்கள் MCP சர்வர்களை முழு AI ஹோஸ்ட் பயன்பாட்டிற்கு தேவையில்லாமல் சார்ந்தியாக பரிசோதித்து பிழைகளை கண்டுபிடிக்க உதவும் அவசியமான பிழைதிருத்துதல் கருவியாகும். இதைப் "MCP க்கான Postman" என்றும் நினைக்கலாம் - இது கோரிக்கைகளை அனுப்ப, பதில்களை பார்க்க மற்றும் உங்கள் சர்வர் எப்படி செயல்படுவதோ அதை புரிந்துகொள்ள ஒரு கண்ணிலை வழங்குகிறது.
ஏன் MCP இன்ஸ்பெக்டரை பயன்படுத்த வேண்டும்?
MCP சர்வர்களை உருவாக்கும் போது நீங்கள் அடிக்கடி சந்திக்கும் சவால்கள்:
- "எனது சர்வர் இயங்குகிறதா?" - இன்ஸ்பெக்டர் இணைப்பு நிலையை காட்டுகிறது
- "எனது கருவிகள் சரியாக பதிவு செய்யப்பட்டுள்ளனவா?" - இன்ஸ்பெக்டர் அனைத்து கிடைக்கும் கருவிகளையும் பட்டியலிடுகிறது
- "பதில் வடிவம் எப்படி உள்ளது?" - இன்ஸ்பெக்டர் முழு JSON பதில்களை காட்சி செய்கிறது
- "இந்த கருவி ஏன் வேலை செய்யவில்லை?" - இன்ஸ்பெக்டர் விரிவான பிழை செய்திகள் காட்டுகிறது
தேவையானவை
- Node.js 18+ நிறுவப்பட்டது
- npm (Node.js உடன் வருகிறது)
- பரிசோதிக்க ஒரு MCP சர்வர் (பாருங்கள் Module 3.1 - முதல் சர்வர்)
நிறுவல்
விருப்பம் 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 சர்வர்கள் (உள்ளூர் செயலி)
நிரல்திறன் உள்ளீடு/வெளியீடு வழியாக தொடர்பு கொள்ளும் சர்வர்களுக்கான:
# பைதான் சர்வர்
npx @modelcontextprotocol/inspector python -m your_server_module
# நோட்.ஜெஸ் சர்வர்
npx @modelcontextprotocol/inspector node ./build/index.js
# சூழல் மாறிலிகள் உடன்
OPENAI_API_KEY=xxx npx @modelcontextprotocol/inspector python server.py
SSE/HTTP சர்வர்கள் (வலையமைப்பு)
HTTP சேவையாக இயங்கும் சர்வர்களுக்கான:
-
முதலில் உங்கள் சர்வரை தொடங்கவும்:
python server.py # சர்வர் http://localhost:8080 இல் இயங்குகிறது -
இன்ஸ்பெக்டரை தொடங்கி இணைக்கவும்:
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) │ │
│ └───────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
கருவிகள் பரிசோதனை
கிடைக்கும் கருவிகளை பட்டியலிடுவது
- கருவிகள் தாவலை கிளிக் செய்யவும்
- இன்ஸ்பெக்டர் தானாகவே
tools/listஐ அழைக்கிறது - உங்களுக்கு காண்பிக்கப்படும் அனைத்துப் பதிவு செய்யப்பட்ட கருவிகள்:
- கருவியின் பெயர்
- விளக்கம்
- உள்ளீடு கட்டமைப்பு (பารாமீட்டர்கள்)
கருவியை இயக்குவது
- பட்டியலில் இருந்து கருவியை தேர்ந்தெடுக்கவும்
- படிவத்தில் தேவையான அளவுருக்களை நிரப்பவும்
- Run Tool என்பதை கிளிக்செய்யவும்
- முடிவுகள் பகுதியில் பதிலை பார்க்கவும்
உதாரணம்: கணக்கிடும் கருவியை பரிசோதித்தல்
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 | உள் பிழை |
வளங்களைப் பரிசோதித்தல்
வளங்களை பட்டியலிடல்
- வளங்கள் தாவலை கிளிக் செய்யவும்
- இன்ஸ்பெக்டர்
resources/listஐ அழைக்கிறது - நீங்கள் காண்பீர்கள்:
- வள URIகள்
- பெயர்கள் மற்றும் விளக்கங்கள்
- MIME வகைகள்
வளத்தைப் படித்தல்
- ஒரு வளத்தை தேர்ந்தெடுக்கவும்
- Read Resource ஐ கிளிக் செய்யவும்
- திரும்பிய செயலியை காணவும்
உதாரண வெளிக்கூறு:
Resource: file:///config/settings.json
Content-Type: application/json
{
"config": {
"debug": true,
"maxConnections": 10
}
}
கூறுணர்வுகளை பரிசோதித்தல்
கூறுணர்வுகளை பட்டியலிடல்
- Prompts தாவலை கிளிக் செய்யவும்
- இன்ஸ்பெக்டர்
prompts/listஐ அழைக்கிறது - கிடைக்கும் கூறுணர்வு வடிவங்களை பார்வையிடவும்
ஒரு கூறுணர்வைப் பெறுதல்
- ஒரு கூறுணர்வை தேர்ந்தெடுக்கவும்
- தேவையான அளவுருக்களை நிரப்பவும்
- Get Prompt ஐ கிளிக் செய்யவும்
- காட்டப்பட்ட கூறுணர்வு மெசேஜ்களைப் பார்க்கவும்
செய்தி பதிவு பகுப்பாய்வு
செய்தி பதிவு அனைத்து 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 Code இலிருந்து இன்ஸ்பெக்டரை இயக்கலாம்:
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"
}
]
}
Tasks பயன்படுத்துதல்
.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..."ல் ஸ்தம்பித்தல்
சரிபார்க்க வேண்டியவை:
- ✅ சர்வர் கட்டளை சரியாக உள்ளதா?
- ✅ அனைத்து சார்ந்தொளிகள் நிறுவப்பட்டுள்ளனவா?
- ✅ சர்வர் பாதை முழுமையானதா அல்லது தற்போதைய அடைவிற்கு சப்முறைபடி உள்ளதா?
- ✅ தேவையான சூழல் மாறிகள் அமைக்கப்பட்டுள்ளனவா?
பிழைதிருத்த படிகள்:
# முதலில் சேவையகத்தை கைமுறையாக சோதிக்கவும்
python -c "import your_server_module; print('OK')"
# இறக்குமதி பிழைகள் உள்ளதா என்று பரிசோதிக்கவும்
python -m your_server_module 2>&1 | head -20
# MCP SDK நிறுவப்பட்டுள்ளதா என்பதை உறுதிப்படுத்தவும்
pip show mcp
சூழ்நிலை 2: கருவிகள் தோன்றவில்லை
இறுதி அறிகுறிகள்: கருவிகள் தாவல் வெற்று பட்டியலை காட்டுகிறது
சாத்திய காரணங்கள்:
- சர்வர் துவங்கும்போது கருவிகள் பதிவு செய்யப்படவில்லை
- சர்வர் துவக்கத்துக்குப் பிறகு இடிந்து விழுந்தது
tools/listகைப்பகம் வெற்று வரிசையைத் திருப்புகிறது
பிழைதிருத்த படிகள்:
tools/listபதிலைக் காண செய்தி பதிவை சரிபார்க்கவும்- உங்கள் கருவி பதிவு குறியீட்டில் பதிவு சேர்க்கவும்
@mcp.tool()அலங்காரிகள் உள்ளனவா என்பதை சரிபார்க்கவும் (Python)
சூழ்நிலை 3: கருவி பிழை காட்சிப்படுத்துகிறது
இறுதி அறிகுறிகள்: கருவி அழைப்பு பிழை பதிலை திருப்புகிறது
பிழைதிருத்த அணுகுமுறை:
- பிழை செய்தியை கவனமாகப் படிக்கவும்
- அளவுரு வகைகள் கட்டமைப்புடன் பொருந்துகிறதா என சரிபார்க்கவும்
- விரிவான பிழை செய்திகளுடன் try/catch சேர்க்கவும்
- பக்கடியில் சர்வர் பதிவுகளைப் பார்வையிடவும்
முன்னேற்றப்பட்ட பிழை கையாள்வின் உதாரணம்:
@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}")
சூழ்நிலை 4: வள உள்ளடக்கம் வெறுமையாக உள்ளது
இறுதி அறிகுறிகள்: வள திரும்புகிறான் ஆனால் உள்ளடக்கம் காலியாக அல்லது null ஆக உள்ளது
சரிபார்க்க வேண்டியவை:
- ✅ கோப்பு பாதை அல்லது URI சரியாக உள்ளது
- ✅ சர்வருக்கு வளத்தைப் படிக்க அனுமதி உள்ளது
- ✅ வள உள்ளடக்கம் சரியாக திரும்புகிறது
மேம்பட்ட இன்ஸ்பெக்டர் அம்சங்கள்
சுயவிவர வரிகள் (SSE)
npx @modelcontextprotocol/inspector \
--sse http://localhost:8080/sse \
--header "Authorization: Bearer your-token"
விரிவான பதிவேட்டல்
DEBUG=mcp* npx @modelcontextprotocol/inspector python server.py
அமர்வுகளை பதிவுசெய்தல்
இன்ஸ்பெக்டர் பின்னர் பகுப்பாய்விற்கான செய்தி பதிவுகளை ஏற்றுமatra செய்ய முடியும்:
- செய்தி பகுதியில் Export Log ஐ கிளிக் செய்யவும்
- JSON கோப்பை சேமிக்கவும்
- பிழைதிருத்தாளர்களுடன் பகிரவும்
சிறந்த நடைமுறைகள்
- ஆரம்பத்திலிருந்தே தொடர்ந்து பரிசோதிக்கவும் - விஷயங்கள் முறுகிய பிறகு மட்டும் அல்ல
- எளிமையாக தொடங்கவும் - சிக்கலான கருவி அழைப்புகளுக்கு முன் அடிப்படை இணைப்பைச் சரிபார்க்கவும்
- கட்டமைப்பைக் பரிசோதிக்கவும் - நிறைய பிழைகள் அளவுரு வகை பொருந்தாமையில் ஏற்படுகின்றன
- பிழை செய்திகள் வாசிக்கவும் - MCP பிழைகள் பொதுவாக விவரமானவை
- இன்ஸ்பெக்டரை திறந்திருங்கள் - உருவாக்கத்தின் போது பிரச்சனைகளை பிடிக்க உதவும்
அடுத்தது என்ன
நீங்கள் Module 3: Getting Started ஐ முடித்துவிட்டீர்கள்! உங்கள் கற்று முன்னேற்றத்தை தொடரவும்:
கூடுதல் வளங்கள்
- MCP இன்ஸ்பெக்டர் GitHub தொகுப்பு
- MCP விவரக்குறிப்பு - புரோட்டோக்கால் செய்திகள்
- JSON-RPC 2.0 விவரக்குறிப்பு
குறிப்புரை: இந்த ஆவணம் AI மொழிபெயர்ப்பு சேவை Co-op Translator பயன்படுத்தி மொழிபெயர்க்கப்பட்டுள்ளது. நாங்கள் துல்லியத்தை உத்தேசித்திருந்தாலும், தானாக உருவாகும் மொழிபெயர்ப்புகளில் பிழைகள் அல்லது தவறுகள் இருக்கக்கூடும் என்பதைப் please கவனத்தில் கொள்ளவும். அதன் சொந்த மொழியில் உள்ள அசல் ஆவணம் அதிகாரப்பூர்வ மூலமாக கருதப்பட வேண்டும். முக்கியமான தகவல்களுக்காக, தொழில்முறை மனித மொழிபெயர்ப்பு பரிந்துரைக்கப்படுகிறது. இந்த மொழிபெயர்ப்பின் பயன்பாட்டிற்காக ஏற்பட்ட எந்த குழப்பங்கள் அல்லது தவறான புரிதல்களுக்கு நாங்கள் பொறுப்பில்லை.