Skip to main content
Glama
vparlapalli490

ServiceNow MCP Server

remove_group_members

Remove users from ServiceNow groups to manage access permissions and maintain accurate team membership records.

Instructions

Remove members from an existing group in ServiceNow

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
group_idYesGroup ID or sys_id
membersYesList of user sys_ids or usernames to remove as members

Implementation Reference

  • The core handler function that executes the tool: resolves usernames to sys_ids, queries sys_user_grmember table for memberships, and deletes the records to remove members from the group.
    def remove_group_members( config: ServerConfig, auth_manager: AuthManager, params: RemoveGroupMembersParams, ) -> GroupResponse: """ Remove members from a group in ServiceNow. Args: config: Server configuration. auth_manager: Authentication manager. params: Parameters for removing members from the group. Returns: Response with the result of the operation. """ success = True failed_members = [] for member in params.members: # Get user ID if username is provided user_id = member if not member.startswith("sys_id:"): user = get_user(config, auth_manager, GetUserParams(user_name=member)) if not user.get("success"): user = get_user(config, auth_manager, GetUserParams(email=member)) if user.get("success"): user_id = user.get("user", {}).get("sys_id") else: success = False failed_members.append(member) continue # Find and delete the group membership api_url = f"{config.api_url}/table/sys_user_grmember" query_params = { "sysparm_query": f"group={params.group_id}^user={user_id}", "sysparm_limit": "1", } try: # First find the membership record 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: success = False failed_members.append(member) continue # Then delete the membership record membership_id = result[0].get("sys_id") delete_url = f"{api_url}/{membership_id}" response = requests.delete( delete_url, headers=auth_manager.get_headers(), timeout=config.timeout, ) response.raise_for_status() except requests.RequestException as e: logger.error(f"Failed to remove member '{member}' from group: {e}") success = False failed_members.append(member) if failed_members: message = f"Some members could not be removed from the group: {', '.join(failed_members)}" else: message = "All members removed from the group successfully" return GroupResponse( success=success, message=message, group_id=params.group_id, )
  • Pydantic BaseModel defining the input schema for the tool parameters: group_id (str) and members (list of str).
    class RemoveGroupMembersParams(BaseModel): """Parameters for removing members from a group.""" group_id: str = Field(..., description="Group ID or sys_id") members: List[str] = Field( ..., description="List of user sys_ids or usernames to remove as members" )
  • Registration of the tool in the MCP server's tool definitions dictionary, mapping name to (handler function alias, params schema, return type, description, serialization method).
    "remove_group_members": ( remove_group_members_tool, RemoveGroupMembersParams, Dict[str, Any], # Expects dict "Remove members from an existing group in ServiceNow", "raw_dict", ),
  • Export/import of the remove_group_members handler function into the tools package namespace for use in MCP registration.
    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, )
  • Import alias of the handler function as remove_group_members_tool for use in tool registration.
    remove_group_members as remove_group_members_tool, )

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