okta-mcp-server
Version:
Model Context Protocol (MCP) server for Okta API operations with support for bulk operations and caching
188 lines • 6.14 kB
JavaScript
export const groupTools = [
{
name: 'listGroups',
description: 'List Okta groups with pagination and filtering support. Returns a page of groups matching the specified criteria.',
inputSchema: {
type: 'object',
properties: {
limit: {
type: 'number',
description: 'Number of groups to return per page (1-200)',
default: 20,
minimum: 1,
maximum: 200,
},
after: {
type: 'string',
description: 'Cursor for pagination - use the cursor from previous response to get next page',
},
filter: {
type: 'string',
description: 'Filter expression for groups (e.g., "type eq \\"OKTA_GROUP\\"", "profile.name sw \\"Engineering\\"")',
},
search: {
type: 'string',
description: 'Searches for groups with a supported filtering expression for most properties',
},
type: {
type: 'string',
description: 'Filter by group type (e.g., "OKTA_GROUP", "APP_GROUP")',
},
sortBy: {
type: 'string',
enum: ['id', 'created', 'lastUpdated', 'name'],
description: 'Field to sort results by',
},
sortOrder: {
type: 'string',
enum: ['asc', 'desc'],
description: 'Sort order',
default: 'asc',
},
},
},
},
{
name: 'getGroup',
description: 'Get a single Okta group by ID',
inputSchema: {
type: 'object',
properties: {
groupId: {
type: 'string',
description: 'Group ID to retrieve',
},
},
required: ['groupId'],
},
},
{
name: 'createGroup',
description: 'Create a new Okta group',
inputSchema: {
type: 'object',
properties: {
profile: {
type: 'object',
description: 'Group profile information',
properties: {
name: {
type: 'string',
description: 'Group name (required)',
},
description: {
type: 'string',
description: 'Group description',
},
},
required: ['name'],
},
},
required: ['profile'],
},
},
{
name: 'updateGroup',
description: 'Update an existing Okta group',
inputSchema: {
type: 'object',
properties: {
groupId: {
type: 'string',
description: 'Group ID to update',
},
profile: {
type: 'object',
description: 'Profile fields to update',
properties: {
name: {
type: 'string',
description: 'Group name',
},
description: {
type: 'string',
description: 'Group description',
},
},
},
},
required: ['groupId', 'profile'],
},
},
{
name: 'deleteGroup',
description: 'Delete an Okta group',
inputSchema: {
type: 'object',
properties: {
groupId: {
type: 'string',
description: 'Group ID to delete',
},
},
required: ['groupId'],
},
},
{
name: 'listGroupMembers',
description: 'List all members of a group with pagination support',
inputSchema: {
type: 'object',
properties: {
groupId: {
type: 'string',
description: 'Group ID to get members for',
},
limit: {
type: 'number',
description: 'Number of members to return per page',
default: 20,
minimum: 1,
maximum: 200,
},
after: {
type: 'string',
description: 'Cursor for pagination',
},
},
required: ['groupId'],
},
},
{
name: 'addGroupMember',
description: 'Add a user to a group',
inputSchema: {
type: 'object',
properties: {
groupId: {
type: 'string',
description: 'Group ID to add the user to',
},
userId: {
type: 'string',
description: 'User ID to add to the group',
},
},
required: ['groupId', 'userId'],
},
},
{
name: 'removeGroupMember',
description: 'Remove a user from a group',
inputSchema: {
type: 'object',
properties: {
groupId: {
type: 'string',
description: 'Group ID to remove the user from',
},
userId: {
type: 'string',
description: 'User ID to remove from the group',
},
},
required: ['groupId', 'userId'],
},
},
];
//# sourceMappingURL=definitions.js.map