okta-mcp-server
Version:
Model Context Protocol (MCP) server for Okta API operations with support for bulk operations and caching
75 lines • 2.17 kB
JavaScript
import { z } from 'zod';
// Request schemas
export const ListGroupsSchema = z.object({
limit: z.number().min(1).max(200).optional().default(20),
after: z.string().optional(),
filter: z.string().optional(),
search: z.string().optional(),
type: z.string().optional(),
sortBy: z.enum(['id', 'created', 'lastUpdated', 'name']).optional(),
sortOrder: z.enum(['asc', 'desc']).optional().default('asc'),
});
export const GetGroupSchema = z.object({
groupId: z.string(),
});
export const CreateGroupSchema = z.object({
profile: z.object({
name: z.string(),
description: z.string().optional(),
}),
});
export const UpdateGroupSchema = z.object({
groupId: z.string(),
profile: z.object({
name: z.string().optional(),
description: z.string().optional(),
}),
});
export const DeleteGroupSchema = z.object({
groupId: z.string(),
});
export const ListGroupMembersSchema = z.object({
groupId: z.string(),
limit: z.number().min(1).max(200).optional().default(20),
after: z.string().optional(),
});
export const AddGroupMemberSchema = z.object({
groupId: z.string(),
userId: z.string(),
});
export const RemoveGroupMemberSchema = z.object({
groupId: z.string(),
userId: z.string(),
});
// Response schemas
export const GroupResponseSchema = z.object({
id: z.string(),
created: z.string(),
lastUpdated: z.string(),
lastMembershipUpdated: z.string(),
objectClass: z.array(z.string()),
type: z.string(),
profile: z.object({
name: z.string(),
description: z.string().optional(),
}),
});
export const UserResponseSchema = z.object({
id: z.string(),
status: z.string(),
created: z.string(),
activated: z.string().optional(),
statusChanged: z.string().optional(),
lastLogin: z.string().optional(),
lastUpdated: z.string(),
passwordChanged: z.string().optional(),
profile: z
.object({
login: z.string(),
email: z.string(),
firstName: z.string().optional(),
lastName: z.string().optional(),
})
.passthrough(),
});
//# sourceMappingURL=schemas.js.map