Skip to main content
Glama
vparlapalli490

ServiceNow MCP Server

get_user

Retrieve specific user details from ServiceNow by providing a user ID, username, or email address using the ServiceNow MCP Server integration.

Instructions

Get a specific user in ServiceNow

Input Schema

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

Implementation Reference

  • The main handler function that implements the get_user tool logic, querying ServiceNow sys_user table by 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 model defining the input parameters for the get_user tool.
    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 of the get_user tool in the central tool definitions dictionary, mapping name to implementation, params, description, etc.
    "get_user": ( get_user_tool, GetUserParams, Dict[str, Any], # Expects dict "Get a specific user in ServiceNow", "raw_dict", ),
  • Import and exposure of get_user function in the tools package __init__.py, making it available for use.
    from servicenow_mcp.tools.user_tools import ( create_user, update_user, get_user, list_users, create_group, update_group, add_group_members, remove_group_members, list_groups, )

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/vparlapalli490/MCP'

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