-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy path_context.py
More file actions
39 lines (32 loc) · 1.48 KB
/
_context.py
File metadata and controls
39 lines (32 loc) · 1.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
from enum import Enum
class UiPathServerType(Enum):
"""Defines the different types of UiPath servers used in the MCP ecosystem.
This enum is used to identify and configure the behavior of different server types
during runtime registration and execution.
Attributes:
UiPath (0): Standard UiPath server for Processes, Agents, and Activities
Command (1): Command server types like npx, uvx
Coded (2): Coded MCP server (PackageType.MCPServer)
SelfHosted (3): Tunnel to externally hosted server
"""
UiPath = 0 # Processes, Agents, Activities
Command = 1 # npx, uvx
Coded = 2 # PackageType.MCPServer
SelfHosted = 3 # tunnel to externally hosted server
@classmethod
def from_string(cls, name: str) -> "UiPathServerType":
"""Get enum value from string name."""
try:
return cls[name]
except KeyError as e:
raise ValueError(f"Unknown server type: {name}") from e
@classmethod
def get_description(cls, server_type: "UiPathServerType") -> str:
"""Get description for a server type."""
descriptions = {
cls.UiPath: "Standard UiPath server for Processes, Agents, and Activities",
cls.Command: "Command server types like npx, uvx",
cls.Coded: "Coded MCP server (PackageType.MCPServer)",
cls.SelfHosted: "Tunnel to externally hosted server",
}
return descriptions.get(server_type, "Unknown server type")