मुख्य सामग्री पर जाएं
मॉडल कॉन्टेक्स्ट प्रोटोकॉल (MCP) में दो प्रोसेस शामिल होते हैं जो HTTP या stdio के माध्यम से एक‑दूसरे से संचार करते हैं। उन्हें डीबग करने का तरीका यहाँ बताया गया है।

tmux पैटर्न

सर्वर और Client को स्प्लिट किए गए टर्मिनलों में चलाएँ:
tmux new-session -d -s mcp
tmux split-window -h
tmux send-keys -t mcp:0.0 'python server.py' C-m
sleep 2
tmux send-keys -t mcp:0.1 'python client.py' C-m
tmux attach -t mcp
दोनों आउटपुट को साथ‑साथ देखें। काम पूरा होने पर सत्र बंद करने के लिए यह कमांड चलाएँ: tmux kill-session -t mcp

स्ट्रक्चर्ड लॉगिंग

टूल्स के भीतर से लॉगिंग करें:
from dedalus_mcp import get_context, tool

@tool(description="Process data")
async def process(data: str) -> dict:
    ctx = get_context()
    await ctx.debug("Starting", data={"length": len(data)})
    # ... कार्य ...
    await ctx.info("Done", data={"result": 42})
    return {"ok": True}

वर्बोज़ मोड

await server.serve(verbose=True, log_level="debug")
या environment वेरिएबल्स के माध्यम से:
LOG_LEVEL=debug python server.py

Client-साइड लॉग कैप्चर

from dedalus_mcp.client import MCPClient, ClientCapabilitiesConfig

def log_handler(params):
    print(f"[{params.level}] {params.data}")

config = ClientCapabilitiesConfig(logging=log_handler)
client = await MCPClient.connect(url, capabilities=config)

सामान्य समस्याएँ

“Client does not advertise the sampling capability” एक sampling handler प्रदान करें:
config = ClientCapabilitiesConfig(sampling=sampling_handler)  # sampling हैंडलर पास करें
client = await MCPClient.connect(url, capabilities=config)
“सर्वर स्टार्ट होने के बाद उपकरण में बदलाव करने का प्रयास” डायनेमिक टूल्स सक्षम करें:
server = MCPServer("my-server", allow_dynamic_tools=True)
कनेक्शन अस्वीकृत पोर्ट जांचें: lsof -i :8000 अनाथ प्रक्रियाओं को समाप्त करें: lsof -ti :8000 | xargs kill -9 गलत URL एंडपॉइंट http://127.0.0.1:8000/mcp है, सिर्फ :8000 नहीं।

जब अटक जाएँ

  1. समस्या को न्यूनतम पुनरुत्पादन तक सीमित करें
  2. मॉडल कॉन्टेक्स्ट प्रोटोकॉल (MCP) स्पेक अनुपालन जाँचें
  3. MCP Inspector के साथ टेस्ट करें: npx @anthropic/mcp-inspector
  4. सर्वर लॉग्स पढ़ें