refactor(agent): improve MCP server configuration handling in agent creation and update
This commit is contained in:
parent
bd659ecaff
commit
8f1fef71a5
@ -192,6 +192,7 @@ async def create_agent(db: Session, agent: AgentCreate) -> Agent:
|
||||
if isinstance(config, dict):
|
||||
# Process MCP servers
|
||||
if "mcp_servers" in config:
|
||||
if config["mcp_servers"] is not None:
|
||||
processed_servers = []
|
||||
for server in config["mcp_servers"]:
|
||||
# Convert server id to UUID if it's a string
|
||||
@ -225,9 +226,12 @@ async def create_agent(db: Session, agent: AgentCreate) -> Agent:
|
||||
)
|
||||
|
||||
config["mcp_servers"] = processed_servers
|
||||
else:
|
||||
config["mcp_servers"] = []
|
||||
|
||||
# Process custom MCP servers
|
||||
if "custom_mcp_servers" in config:
|
||||
if config["custom_mcp_servers"] is not None:
|
||||
processed_custom_servers = []
|
||||
for server in config["custom_mcp_servers"]:
|
||||
# Validate URL format
|
||||
@ -243,15 +247,19 @@ async def create_agent(db: Session, agent: AgentCreate) -> Agent:
|
||||
)
|
||||
|
||||
config["custom_mcp_servers"] = processed_custom_servers
|
||||
else:
|
||||
config["custom_mcp_servers"] = []
|
||||
|
||||
# Process sub-agents
|
||||
if "sub_agents" in config:
|
||||
if config["sub_agents"] is not None:
|
||||
config["sub_agents"] = [
|
||||
str(agent_id) for agent_id in config["sub_agents"]
|
||||
]
|
||||
|
||||
# Process tools
|
||||
if "tools" in config:
|
||||
if config["tools"] is not None:
|
||||
config["tools"] = [
|
||||
{"id": str(tool["id"]), "envs": tool["envs"]}
|
||||
for tool in config["tools"]
|
||||
@ -392,6 +400,7 @@ async def update_agent(
|
||||
|
||||
# Process MCP servers
|
||||
if "mcp_servers" in config:
|
||||
if config["mcp_servers"] is not None:
|
||||
processed_servers = []
|
||||
for server in config["mcp_servers"]:
|
||||
# Convert server id to UUID if it's a string
|
||||
@ -425,9 +434,12 @@ async def update_agent(
|
||||
)
|
||||
|
||||
config["mcp_servers"] = processed_servers
|
||||
else:
|
||||
config["mcp_servers"] = []
|
||||
|
||||
# Process custom MCP servers
|
||||
if "custom_mcp_servers" in config:
|
||||
if config["custom_mcp_servers"] is not None:
|
||||
processed_custom_servers = []
|
||||
for server in config["custom_mcp_servers"]:
|
||||
# Validate URL format
|
||||
@ -443,15 +455,19 @@ async def update_agent(
|
||||
)
|
||||
|
||||
config["custom_mcp_servers"] = processed_custom_servers
|
||||
else:
|
||||
config["custom_mcp_servers"] = []
|
||||
|
||||
# Process sub-agents
|
||||
if "sub_agents" in config:
|
||||
if config["sub_agents"] is not None:
|
||||
config["sub_agents"] = [
|
||||
str(agent_id) for agent_id in config["sub_agents"]
|
||||
]
|
||||
|
||||
# Process tools
|
||||
if "tools" in config:
|
||||
if config["tools"] is not None:
|
||||
config["tools"] = [
|
||||
{"id": str(tool["id"]), "envs": tool["envs"]}
|
||||
for tool in config["tools"]
|
||||
|
Loading…
Reference in New Issue
Block a user