liurenchaxin/litellm/test_mcp_detailed.py

49 lines
1.8 KiB
Python

import asyncio
import httpx
import json
async def test_mcp_detailed():
print("详细测试LiteLLM的MCP端点...")
async with httpx.AsyncClient() as client:
try:
print("\n测试端点: http://localhost:4000/mcp/")
# 使用流式请求来处理SSE
async with client.stream(
"GET",
"http://localhost:4000/mcp/",
headers={
"Authorization": "Bearer sk-1234567890abcdef",
"Accept": "text/event-stream",
"Cache-Control": "no-cache"
},
timeout=10.0
) as response:
print(f"状态码: {response.status_code}")
print(f"响应头: {dict(response.headers)}")
if response.status_code == 200:
print("开始读取SSE流...")
content = ""
async for chunk in response.aiter_text():
content += chunk
print(f"收到数据块: {repr(chunk)}")
# 如果收到足够的数据就停止
if len(content) > 1000:
print("收到足够数据,停止读取")
break
print(f"\n完整内容: {content}")
else:
error_content = await response.aread()
print(f"错误响应: {error_content.decode()}")
except Exception as e:
print(f"请求失败: {type(e).__name__}: {e}")
import traceback
traceback.print_exc()
if __name__ == "__main__":
asyncio.run(test_mcp_detailed())