Skip listing tools that aren't valid ToolDefinitions (#340)
The tool used in the mcp demo isn't a valid ToolDefinition. Unable to list tool 'Demo.lorem': 1 validation error for ToolDefinition requirements Input should be a valid dictionary or instance of ToolRequirements For further information visit https://errors.pydantic.dev/2.10/v/model_type
This commit is contained in:
parent
cb1fff151b
commit
2dd7719517
1 changed files with 6 additions and 1 deletions
|
|
@ -17,6 +17,7 @@ from openai import OpenAI, Stream
|
|||
from openai.types.chat.chat_completion import Choice as ChatCompletionChoice
|
||||
from openai.types.chat.chat_completion_chunk import ChatCompletionChunk
|
||||
from openai.types.chat.chat_completion_chunk import Choice as ChatCompletionChunkChoice
|
||||
from pydantic import ValidationError
|
||||
from rich.console import Console
|
||||
from rich.live import Live
|
||||
from rich.markdown import Markdown
|
||||
|
|
@ -201,7 +202,11 @@ def get_tools_from_engine(
|
|||
try:
|
||||
page_iterator = client.tools.list(toolkit=toolkit or NOT_GIVEN)
|
||||
for tool in page_iterator:
|
||||
tools.append(ToolDefinition.model_validate(tool.model_dump()))
|
||||
try:
|
||||
tools.append(ToolDefinition.model_validate(tool.model_dump()))
|
||||
except ValidationError:
|
||||
# Skip listing tools that aren't valid ToolDefinitions
|
||||
continue
|
||||
except APIConnectionError:
|
||||
console.print(
|
||||
f"❌ Can't connect to Arcade Engine at {base_url}. (Is it running?)", style="bold red"
|
||||
|
|
|
|||
Loading…
Reference in a new issue