MCP ਇੰਸਪੈਕਟਰ ਇੱਕ ਅਹਿਮ ਡੀਬੱਗਿੰਗ ਟੂਲ ਹੈ ਜੋ ਤੁਹਾਨੂੰ ਆਪਣੇ MCP ਸਰਵਰਾਂ ਨੂੰ ਇੰਟਰੈਕਟਿਵ ਤਰੀਕੇ ਨਾਲ ਟੈਸਟ ਅਤੇ ਸਮੱਸਿਆ-ਨਿਰਾਕਰਨ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ ਬਿਨਾਂ ਕਿਸੇ ਪੂਰੇ AI ਹੋਸਟ ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਲੋੜ ਪੈਂਦੇ। ਇਸਨੂੰ "MCP ਲਈ Postman" ਸਮਝੋ - ਇਹ ਇਕ ਵਿਜ਼ੂਅਲ ਇੰਟਰਫੇਸ ਮੁਹੱਈਆ ਕਰਵਾਉਂਦਾ ਹੈ ਜੋ ਬੇਨਤੀਆਂ ਭੇਜਣ, ਜਵਾਬ ਵੇਖਣ, ਅਤੇ ਸਮਝਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ ਕਿ ਤੁਹਾਡੇ ਸਰਵਰ ਦਾ ਵਤੀਰਾ ਕਿਵੇਂ ਹੈ।
ਜਦੋਂ ਤੁਸੀਂ MCP ਸਰਵਰ ਬਣਾਉਂਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਅਕਸਰ ਇਹ ਸਮੱਸਿਆਵਾਂ ਆਉਂਦੀਆਂ ਹਨ:
- "ਕੀ ਮੇਰਾ ਸਰਵਰ ਚੱਲ ਰਿਹਾ ਹੈ?" - ਇੰਸਪੈਕਟਰ ਕਨੈਕਸ਼ਨ ਸਥਿਤੀ ਦਿਖਾਉਂਦਾ ਹੈ
- "ਮੇਰੇ ਟੂਲ ਸਹੀ ਤਰੀਕੇ ਨਾਲ ਦਰਜ ਹਨ?" - ਇੰਸਪੈਕਟਰ ਸਾਰੇ ਉਪਲਬਧ ਟੂਲ ਲਿਸਟ ਕਰਦਾ ਹੈ
- "ਜਵਾਬ ਦੀ ਫਾਰਮੈਟ ਕੀ ਹੈ?" - ਇੰਸਪੈਕਟਰ ਪੂਰੇ JSON ਜਵਾਬ ਦਿਖਾਉਂਦਾ ਹੈ
- "ਇਹ ਟੂਲ ਕੰਮ ਕਿਉਂ ਨਹੀਂ ਕਰ ਰਿਹਾ?" - ਇੰਸਪੈਕਟਰ ਵਿਸ਼ਤ੍ਰਿਤ ਗਲਤੀ ਸੁਨੇਹੇ ਦਿਖਾਉਂਦਾ ਹੈ
- Node.js 18+ ਇੰਸਟਾਲਡ
- npm (Node.js ਨਾਲ ਆਉਂਦਾ ਹੈ)
- ਟੈਸਟ ਕਰਨ ਲਈ MCP ਸਰਵਰ (ਦੇਖੋ Module 3.1 - First Server)
npx @modelcontextprotocol/inspectornpm install -g @modelcontextprotocol/inspector
mcp-inspectorcd your-mcp-server-project
npm install --save-dev @modelcontextprotocol/inspectorpackage.json ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ:
{
"scripts": {
"inspector": "mcp-inspector"
}
}ਜਿਨ੍ਹਾਂ ਸਰਵਰਾਂ ਦੀ ਸੰਚਾਰ ਸਟੈਂਡਰਡ ਇਨਪੁੱਟ/ਆਉਟਪੁੱਟ ਰਾਹੀਂ ਹੁੰਦੀ ਹੈ:
# ਪਾਈਥਨ ਸਰਵਰ
npx @modelcontextprotocol/inspector python -m your_server_module
# ਨੋਡ.js ਸਰਵਰ
npx @modelcontextprotocol/inspector node ./build/index.js
# ਵਿਕਾਸੀ ਵਾਤਾਵਰਣ ਮੁੱਲਾਂ ਨਾਲ
OPENAI_API_KEY=xxx npx @modelcontextprotocol/inspector python server.pyਜੋ 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 ਟੈਬ 'ਤੇ ਕਲਿੱਕ ਕਰੋ
- ਇੰਸਪੈਕਟਰ ਆਪੋ-ਆਪ
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 ਟੈਬ ’ਤੇ ਕਲਿੱਕ ਕਰੋ
- ਇੰਸਪੈਕਟਰ
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 ਕੋਡ ਤੋਂ ਇੰਸਪੈਕਟਰ ਚਲਾ ਸਕਦੇ ਹੋ:
.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"
}
}
}
]
}ਲੱਛਣ: ਇੰਸਪੈਕਟਰ "Disconnected" ਦਿਖਾਉਂਦਾ ਜਾਂ "Connecting..." 'ਤੇ ਫਸਿਆ ਹੋਇਆ ਹੈ
ਚੈੱਕਲਿਸਟ:
- ✅ ਸਹੀ ਸਰਵਰ ਕਮਾਂਡ ਵਰਤੀ ਗਈ?
- ✅ ਸਾਰੇ ਡਿਪੈਂਡੈਂਸੀਜ਼ ਇੰਸਟਾਲ ਹਨ?
- ✅ ਸਰਵਰ ਪਾਥ ਮੁਕੰਮਲ ਜਾਂ ਮੌਜੂਦਾ ਡਿਰੈਕਟਰੀ ਦੇ ਸਾਪੇਖ ਹੈ?
- ✅ ਜ਼ਰੂਰੀ ਇਨਵਾਇਰੰਮੈਂਟ ਵੈਰੀਏਬਲ ਸੈਟ ਹਨ?
ਡੀਬੱਗ ਕਦਮ:
# ਸਭ ਤੋਂ ਪਹਿਲਾਂ ਸਰਵਰ ਨੂੰ ਹੱਥੋਂ ਟੈਸਟ ਕਰੋ
python -c "import your_server_module; print('OK')"
# ਆਯਾਤ ਦੀਆਂ ਗਲਤੀਆਂ ਲਈ ਜਾਂਚ ਕਰੋ
python -m your_server_module 2>&1 | head -20
# ਯਕੀਨੀ ਬਣਾਓ ਕਿ MCP SDK ਇੰਸਟਾਲ ਹੈ
pip show mcpਲੱਛਣ: Tools ਟੈਬ ਸੁੰਨਾ ਵੇਖਾਈ ਦੇ ਰਿਹਾ ਹੈ
ਸੰਭਾਵਿਤ ਕਾਰਨ:
- ਸਰਵਰ ਸ਼ੁਰੂਆਤ ਸਮੇਂ ਟੂਲ ਦਰਜ ਨਹੀਂ ਹੋਏ
- ਸਰਵਰ ਸ਼ੁਰੂ ਹੋਣ ਤੋਂ ਬਾਅਦ ਕੁਝ ਕਰੈਸ਼ ਹੋ ਗਿਆ
tools/listਹੈਂਡਲਰ ਖਾਲੀ ਐਰੇ ਵਾਪਸ ਕਰ ਰਿਹਾ ਹੈ
ਡੀਬੱਗ ਕਦਮ:
tools/listਜਵਾਬ ਲਈ ਸੁਨੇਹਾ ਲਾਗ ਚੈੱਕ ਕਰੋ- ਆਪਣੇ ਟੂਲ ਰਜਿਸਟਰੇਸ਼ਨ ਕੋਡ ਵਿੱਚ ਲੌਗਿੰਗ ਜੋੜੋ
- ਪੱਕਾ ਕਰੋ ਕਿ
@mcp.tool()ਡੈੱਕੋਰੇਟਰ ਮੌਜੂਦ ਹਨ (Python)
ਲੱਛਣ: ਟੂਲ ਕਾਲ ਗਲਤੀ ਜਵਾਬ ਦਿੰਦਾ ਹੈ
ਡੀਬੱਗ ਤਰੀਕਾ:
- ਗਲਤੀ ਸੁਨੇਹਾ ਧਿਆਨ ਨਾਲ ਪੜ੍ਹੋ
- ਪੈਰਾਮੀਟਰ ਕਿਸਮਾਂ ਸਕੀਮਾ ਨਾਲ ਮੇਲ ਖਾਂਦੀਆਂ ਹਨ ਜਾਂ ਨਹੀਂ ਦੇਖੋ
- ਵਿਸ਼ਤ੍ਰਿਤ ਗਲਤੀ ਸੁਨੇਹੇ ਲਈ 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}")ਲੱਛਣ: ਰਿਸੋਰਸ ਵਾਪਸ ਹੁੰਦਾ ਹੈ ਪਰ ਸਮੱਗਰੀ ਖਾਲੀ ਜਾਂ null ਹੈ
ਚੈੱਕਲਿਸਟ:
- ✅ ਫਾਇਲ ਪਾਥ ਜਾਂ URI ਸਹੀ ਹੈ
- ✅ ਸਰਵਰ ਕੋਲ ਰਿਸੋਰਸ ਪੜ੍ਹਨ ਦੀ ਅਨੁਮਤੀ ਹੈ
- ✅ ਰਿਸੋਰਸ ਸਮੱਗਰੀ ਸਹੀ ਤਰੀਕੇ ਨਾਲ ਵਾਪਸ ਹੋ ਰਹੀ ਹੈ
npx @modelcontextprotocol/inspector \
--sse http://localhost:8080/sse \
--header "Authorization: Bearer your-token"DEBUG=mcp* npx @modelcontextprotocol/inspector python server.pyਇੰਸਪੈਕਟਰ ਸੁਨੇਹਾ ਲਾਗ ਨਿਰਯਾਤ ਕਰ ਸਕਦਾ ਹੈ ਅਗਲੇ ਵਿਸ਼ਲੇਸ਼ਣ ਲਈ:
- ਸੁਨੇਹਾ ਪੈਨਲ ਵਿੱਚ Export Log ‘ਤੇ ਕਲਿੱਕ ਕਰੋ
- JSON ਫਾਇਲ ਸੇਵ ਕਰੋ
- ਡੀਬੱਗਿੰਗ ਲਈ ਟੀਮ ਨਾਲ ਸਾਂਝਾ ਕਰੋ
- ਜਲਦੀ ਤੇ ਅਕਸਰ ਟੈਸਟ ਕਰੋ - ਵਿਕਾਸ ਦੌਰਾਨ ਇੰਸਪੈਕਟਰ ਵਰਤੋ, ਸਿਰਫ ਗੜਬੜ ਹੋਣ 'ਤੇ ਨਹੀਂ
- ਸਰਲ ਤੋਂ ਸ਼ੁਰੂ ਕਰੋ - ਜਟਿਲ ਟੂਲ ਕਾਲ ਕਰੋ ਤੋਂ ਪਹਿਲਾਂ ਮੂਲ ਕਨੇਕਟੀਵਟੀ ਨੂੰ ਚੈੱਕ ਕਰੋ
- ਸਕੀਮਾ ਦੀ ਜਾਂਚ ਕਰੋ - ਬਹੁਤ ਸਾਰੀਆਂ ਗਲਤੀਆਂ ਪੈਰਾਮੀਟਰ ਕਿਸਮਾਂ ਦੇ ਮਿਸਮੈਚ ਤੋਂ ਹੁੰਦੀਆਂ ਹਨ
- ਗਲਤੀ ਸੁਨੇਹੇ ਪੜ੍ਹੋ - MCP ਦੀਆਂ ਗਲਤੀਆਂ ਆਮ ਤੌਰ ‘ਤੇ ਵੇਰਵੇਦਾਰ ਹੁੰਦੀਆਂ ਹਨ
- ਇੰਸਪੈਕਟਰ ਖੁੱਲ੍ਹਾ ਰੱਖੋ - ਵਿਕਾਸ ਦੌਰਾਨ ਸਮੱਸਿਆਵਾਂ ਫੜਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ
ਤੁਸੀਂ ਮੋਡੀਊਲ 3: ਵੀਥੀ ਸ਼ੁਰੂਆਤ ਮੁਕੰਮਲ ਕਰ ਲਿਆ ਹੈ! ਆਪਣਾ ਸਿੱਖਣਾ ਜਾਰੀ ਰੱਖੋ:
ਇਸਤੇਮਾਲ ਦੀ ਸੂਚਨਾ:
ਇਹ ਦਸਤਾਵੇਜ਼ ਏਆਈ ਅਨੁਵਾਦ ਸੇਵਾ Co-op Translator ਦੀ ਵਰਤੋਂ ਨਾਲ ਅਨੁਵਾਦ ਕੀਤਾ ਗਿਆ ਹੈ। ਜਦੋਂ ਕਿ ਅਸੀਂ ਸ਼ੁੱਧਤਾ ਲਈ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਹਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਰੱਖੋ ਕਿ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦਾਂ ਵਿੱਚ ਗਲਤੀਆਂ ਜਾਂ ਅਸੁਤੰਤਰਤਾ ਹੋ ਸਕਦੀ ਹੈ। ਮੂਲ ਦਸਤਾਵੇਜ਼ ਆਪਣੀ ਮੂਲ ਭਾਸ਼ਾ ਵਿੱਚ ਪ੍ਰਮਾਣਿਕ ਸਰੋਤ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਜਰੂਰੀ ਜਾਣਕਾਰੀ ਲਈ, ਪ੍ਰੋਫੈਸ਼ਨਲ ਮਾਨਵੀ ਅਨੁਵਾਦ ਸਿਫਾਰਸ਼ੀਅਤ ਹੈ। ਅਸੀਂ ਇਸ ਅਨੁਵਾਦ ਦੀ ਵਰਤੋਂ ਤੋਂ ਪੈਦਾ ਹੋਣ ਵਾਲੀ ਕਿਸੇ ਵੀ ਗਲਤਫਹਿਮੀ ਜਾਂ ਗਲਤ ਵਿਆਖਿਆ ਲਈ ਜ਼ਿੰਮੇਵਾਰ ਨਹੀਂ ਹਾਂ।