Skip to main content
Glama
JLKmach

ServiceNow MCP Server

by JLKmach

get_user

Retrieve specific user details from ServiceNow using user ID, username, or email address for administration and management purposes.

Instructions

Get a specific user in ServiceNow

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
user_idNoUser ID or sys_id
user_nameNoUsername of the user
emailNoEmail address of the user

Implementation Reference

  • The handler function that implements the core logic of the get_user tool by querying the ServiceNow sys_user table API based on provided user_id, user_name, or email.
    def get_user( config: ServerConfig, auth_manager: AuthManager, params: GetUserParams, ) -> dict: """ Get a user from ServiceNow. Args: config: Server configuration. auth_manager: Authentication manager. params: Parameters for getting the user. Returns: Dictionary containing user details. """ api_url = f"{config.api_url}/table/sys_user" query_params = {} # Build query parameters if params.user_id: query_params["sysparm_query"] = f"sys_id={params.user_id}" elif params.user_name: query_params["sysparm_query"] = f"user_name={params.user_name}" elif params.email: query_params["sysparm_query"] = f"email={params.email}" else: return {"success": False, "message": "At least one search parameter is required"} query_params["sysparm_limit"] = "1" query_params["sysparm_display_value"] = "true" # Make request try: response = requests.get( api_url, params=query_params, headers=auth_manager.get_headers(), timeout=config.timeout, ) response.raise_for_status() result = response.json().get("result", []) if not result: return {"success": False, "message": "User not found"} return {"success": True, "message": "User found", "user": result[0]} except requests.RequestException as e: logger.error(f"Failed to get user: {e}") return {"success": False, "message": f"Failed to get user: {str(e)}"}
  • Pydantic BaseModel defining the input schema for the get_user tool, with optional fields for user_id, user_name, or email.
    class GetUserParams(BaseModel): """Parameters for getting a user.""" user_id: Optional[str] = Field(None, description="User ID or sys_id") user_name: Optional[str] = Field(None, description="Username of the user") email: Optional[str] = Field(None, description="Email address of the user")
  • Registration entry for the 'get_user' tool in the central tool_definitions dictionary, specifying the aliased handler function, input schema model, return type hint, description, and serialization method.
    "get_user": ( get_user_tool, GetUserParams, Dict[str, Any], # Expects dict "Get a specific user in ServiceNow", "raw_dict", ),

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/JLKmach/servicenow-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server