Skip to main content
Glama

Feishu MCP Server

admin_v1.ts23.5 kB
import { z } from 'zod'; export type adminV1ToolName = | 'admin.v1.adminDeptStat.list' | 'admin.v1.adminUserStat.list' | 'admin.v1.auditInfo.list' | 'admin.v1.badge.create' | 'admin.v1.badge.get' | 'admin.v1.badgeGrant.create' | 'admin.v1.badgeGrant.delete' | 'admin.v1.badgeGrant.get' | 'admin.v1.badgeGrant.list' | 'admin.v1.badgeGrant.update' | 'admin.v1.badge.list' | 'admin.v1.badge.update' | 'admin.v1.password.reset'; export const adminV1AdminDeptStatList = { project: 'admin', name: 'admin.v1.adminDeptStat.list', sdkName: 'admin.v1.adminDeptStat.list', path: '/open-apis/admin/v1/admin_dept_stats', httpMethod: 'GET', description: '[Feishu/Lark]-管理后台-数据报表管理-获取部门维度的用户活跃和功能使用数据-该接口用于获取部门维度的用户活跃和功能使用数据,即IM(即时通讯)、日历、云文档、音视频会议、邮箱功能的使用数据', accessTokens: ['tenant'], schema: { params: z.object({ department_id_type: z .enum(['department_id', 'open_department_id']) .describe('部门ID类型 Options:department_id(部门的 ID),open_department_id(部门的 Open ID)'), start_date: z.string().describe('起始日期(包含),格式是YYYY-mm-dd'), end_date: z.string().describe('终止日期(包含),格式是YYYY-mm-dd,起止日期之间相差不能超过91天(包含91天)'), department_id: z.string().describe('部门的 ID,取决于department_id_type,仅支持根部门及其下前4级子部门'), contains_child_dept: z .boolean() .describe( '是否包含子部门,如果该值为false,则只查出本部门直属用户活跃和功能使用数据;如果该值为true,则查出该部门以及其子部门(子部门层级最多不超过根部门下的前4级)的用户活跃和功能使用数据', ), page_size: z.number().describe('分页大小').optional(), page_token: z .string() .describe( '分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果', ) .optional(), target_geo: z .string() .describe('需跨域访问的Geo数据,每个Geo仅包含本Geo数据,不传默认查本地数据,调用前需要先开通FG(cn、sg、jp、us)') .optional(), with_product_version: z .boolean() .describe('是否返回分产品版本数据(灰度功能,如需使用请联系 CMS 团队)') .optional(), }), }, }; export const adminV1AdminUserStatList = { project: 'admin', name: 'admin.v1.adminUserStat.list', sdkName: 'admin.v1.adminUserStat.list', path: '/open-apis/admin/v1/admin_user_stats', httpMethod: 'GET', description: '[Feishu/Lark]-管理后台-数据报表管理-获取用户维度的用户活跃和功能使用数据-用于获取用户维度的用户活跃和功能使用数据,即IM(即时通讯)、日历、云文档、音视频会议、邮箱功能的使用数据', accessTokens: ['tenant'], schema: { params: z.object({ user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(), department_id_type: z .enum(['department_id', 'open_department_id']) .describe('部门ID类型 Options:department_id(部门的 ID),open_department_id(部门的 Open ID)') .optional(), start_date: z.string().describe('起始日期(包含),格式是YYYY-mm-dd'), end_date: z.string().describe('终止日期(包含),格式是YYYY-mm-dd。起止日期之间相差不能超过31天(包含31天)'), department_id: z.string().describe('部门的 ID,取决于department_id_type').optional(), user_id: z.string().describe('用户的open_id,user_id或者union_id,取决于user_id_type').optional(), page_size: z.number().describe('分页大小').optional(), page_token: z .string() .describe( '分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果', ) .optional(), target_geo: z .string() .describe( '需跨域访问的Geo数据,每个Geo仅包含本Geo数据,不传默认查本地数据,调用前需要先开通FG(cn、us、sg、jp),每次只能查一个Geo数据', ) .optional(), }), }, }; export const adminV1AuditInfoList = { project: 'admin', name: 'admin.v1.auditInfo.list', sdkName: 'admin.v1.auditInfo.list', path: '/open-apis/admin/v1/audit_infos', httpMethod: 'GET', description: '[Feishu/Lark]-安全合规-行为审计日志-获取行为审计日志数据-用户行为日志搜索', accessTokens: ['tenant'], schema: { params: z.object({ user_id_type: z.enum(['user_id', 'union_id', 'open_id']).describe('用户ID类型').optional(), latest: z.number().describe('日志时间范围: 结束时间. 格式: 秒级时间戳. 默认值: 此刻').optional(), oldest: z.number().describe('日志时间范围: 起始时间. 格式: 秒级时间戳. 默认值: 30日前此刻').optional(), event_name: z.string().describe('事件名称').optional(), operator_type: z .enum(['user', 'bot']) .describe( '过滤操作者: 操作者类型. 与 operator_value 配合使用 Options:user(以user_id来识别用户),bot([已废弃] 以bot_id来识别用户)', ) .optional(), operator_value: z.string().describe('过滤操作者: 操作者ID. 与 operator_type 配合使用').optional(), event_module: z.number().describe('过滤模块').optional(), page_token: z.string().describe('下一页分页的token').optional(), page_size: z.number().describe('分页参数').optional(), user_type: z .number() .describe( '过滤用户类型. 仅当 operator_type=user 时生效 Options:0(all 互联网上的任何人),1(normal_user 组织内成员),2(external_user 组织外成员)', ) .optional(), object_type: z.number().describe('过滤操作对象: 操作对象类型. 与object_value配合使用').optional(), object_value: z.string().describe('过滤操作对象: 操作对象ID. 与object_type配合使用').optional(), ext_filter_object_by_ccm_token: z .string() .describe('增强过滤操作对象: 操作对象ID,支持云文档侧泛token过滤。会覆盖object_type和object_value查询条件') .optional(), }), }, }; export const adminV1BadgeCreate = { project: 'admin', name: 'admin.v1.badge.create', sdkName: 'admin.v1.badge.create', path: '/open-apis/admin/v1/badges', httpMethod: 'POST', description: '[Feishu/Lark]-管理后台-企业勋章-勋章管理-创建勋章-使用该接口可以创建一枚完整的勋章信息,一个租户下最多可创建1000枚勋章', accessTokens: ['tenant'], schema: { data: z.object({ name: z.string().describe('租户内唯一的勋章名称,最多30个字符'), explanation: z.string().describe('勋章的描述文案,最多100个字符').optional(), detail_image: z .string() .describe( '企业勋章的详情图Key。1.权限校验:非本租户上传的图片key,不能直接使用;2.时效校验:创建勋章,或者修改勋章图片key时,需使用1h内上传的图片key', ), show_image: z .string() .describe( '企业勋章的头像挂饰图Key。1.权限校验:非本租户上传的图片key,不能直接使用;2.时效校验:创建勋章,或者修改勋章图片key时,需使用1h内上传的图片key', ), i18n_name: z .object({ zh_cn: z.string().describe('中文文案').optional(), en_us: z.string().describe('英文文案').optional(), ja_jp: z.string().describe('日文文案').optional(), }) .describe('勋章的多语言名称,同name字段限制,最多30个字符') .optional(), i18n_explanation: z .object({ zh_cn: z.string().describe('中文文案').optional(), en_us: z.string().describe('英文文案').optional(), ja_jp: z.string().describe('日文文案').optional(), }) .describe('勋章的多语言描述文案,同explanation字段限制,最多100个字符') .optional(), }), }, }; export const adminV1BadgeGet = { project: 'admin', name: 'admin.v1.badge.get', sdkName: 'admin.v1.badge.get', path: '/open-apis/admin/v1/badges/:badge_id', httpMethod: 'GET', description: '[Feishu/Lark]-管理后台-企业勋章-勋章管理-获取勋章详情-可以通过该接口查询勋章的详情', accessTokens: ['tenant'], schema: { path: z.object({ badge_id: z.string().describe('勋章id') }), }, }; export const adminV1BadgeGrantCreate = { project: 'admin', name: 'admin.v1.badgeGrant.create', sdkName: 'admin.v1.badgeGrant.create', path: '/open-apis/admin/v1/badges/:badge_id/grants', httpMethod: 'POST', description: '[Feishu/Lark]-管理后台-企业勋章-勋章授予名单-创建授予名单-通过该接口可以为特定勋章创建一份授予名单,一枚勋章下最多可创建1000份授予名单', accessTokens: ['tenant'], schema: { data: z.object({ name: z.string().describe('勋章下唯一的授予事项,最多100个字符'), grant_type: z.number().describe('授予名单类型 Options:0(manual 手动选择有效期),1(join_time 匹配系统入职时间)'), time_zone: z .string() .describe('授予名单的生效时间对应的时区,用于检查RuleDetail的时间戳的取值是否规范,取值范围为TZ database name'), rule_detail: z .object({ effective_time: z .string() .describe( '开始生效的时间戳。1.手动设置有效期类型勋章,配置有效期限需要配置该字段;2.时间戳必须是所在时区当天的零点时间戳,如时区为Asia/Shanghai时区时的1649606400', ) .optional(), expiration_time: z .string() .describe( '结束生效的时间戳。1.手动设置有效期类型勋章,配置有效期限需要配置该字段;2.最大值:不得超过effective_time+100 年;3.非永久有效:时间戳必须是所在时区当天的23:59:59时间戳,如时区为Asia/Shanghai时区时的1649692799;4.永久有效:传值为0即可', ) .optional(), anniversary: z.number().describe('入职周年日。根据入职时间发放类型勋章,需要配置该字段').optional(), effective_period: z .number() .describe( '有效期限。根据入职时间发放类型勋章,需要配置该字段。 Options:1(one_year 有效期为一年),2(permanent 永久有效)', ) .optional(), }) .describe('规则详情'), is_grant_all: z .boolean() .describe('是否授予给全员。1.为false时,需要关联1~500个用户群体。2.为true时,不可关联用户、用户组、部门'), user_ids: z .array(z.string()) .describe('授予的用户ID列表,授予名单列表接口返回结果中不返回该字段,只在详情接口返回') .optional(), department_ids: z .array(z.string()) .describe('授予的部门ID列表,授予名单列表接口返回结果中不返回该字段,只在详情接口返回') .optional(), group_ids: z .array(z.string()) .describe('授予的用户组ID列表,授予名单列表接口返回结果中不返回该字段,只在详情接口返回') .optional(), }), params: z.object({ user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(), department_id_type: z .enum(['department_id', 'open_department_id']) .describe( '此次调用中使用的部门ID的类型。 Options:department_id(以自定义department_id来标识部门),open_department_id(以open_department_id来标识部门)', ) .optional(), }), path: z.object({ badge_id: z.string().describe('勋章ID') }), }, }; export const adminV1BadgeGrantDelete = { project: 'admin', name: 'admin.v1.badgeGrant.delete', sdkName: 'admin.v1.badgeGrant.delete', path: '/open-apis/admin/v1/badges/:badge_id/grants/:grant_id', httpMethod: 'DELETE', description: '[Feishu/Lark]-管理后台-企业勋章-勋章授予名单-删除授予名单-通过该接口可以删除特定授予名单的信息', accessTokens: ['tenant'], schema: { path: z.object({ badge_id: z.string().describe('企业勋章的唯一ID'), grant_id: z.string().describe('租户内授予名单的唯一标识,该值由系统随机生成'), }), }, }; export const adminV1BadgeGrantGet = { project: 'admin', name: 'admin.v1.badgeGrant.get', sdkName: 'admin.v1.badgeGrant.get', path: '/open-apis/admin/v1/badges/:badge_id/grants/:grant_id', httpMethod: 'GET', description: '[Feishu/Lark]-管理后台-企业勋章-勋章授予名单-获取授予名单详情-通过该接口可以获取特定授予名单的信息', accessTokens: ['tenant'], schema: { params: z.object({ user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(), department_id_type: z .enum(['department_id', 'open_department_id']) .describe( '此次调用中使用的部门ID的类型。 Options:department_id(以自定义department_id来标识部门),open_department_id(以open_department_id来标识部门)', ) .optional(), }), path: z.object({ badge_id: z.string().describe('租户内勋章的唯一标识,该值由系统随机生成'), grant_id: z.string().describe('租户内授予名单的唯一标识,该值由系统随机生成'), }), }, }; export const adminV1BadgeGrantList = { project: 'admin', name: 'admin.v1.badgeGrant.list', sdkName: 'admin.v1.badgeGrant.list', path: '/open-apis/admin/v1/badges/:badge_id/grants', httpMethod: 'GET', description: '[Feishu/Lark]-管理后台-企业勋章-勋章授予名单-获取授予名单列表-通过该接口可以获取特定勋章下的授予名单列表,授予名单的排列顺序按照创建时间倒序排列', accessTokens: ['tenant'], schema: { params: z.object({ page_size: z.number().describe('分页大小'), page_token: z .string() .describe( '分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果', ) .optional(), user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(), department_id_type: z .enum(['department_id', 'open_department_id']) .describe( '此次调用中使用的部门ID的类型。 Options:department_id(以自定义department_id来标识部门),open_department_id(以open_department_id来标识部门)', ) .optional(), name: z.string().describe('授予名单名称,精确匹配').optional(), }), path: z.object({ badge_id: z.string().describe('企业勋章的唯一ID') }), }, }; export const adminV1BadgeGrantUpdate = { project: 'admin', name: 'admin.v1.badgeGrant.update', sdkName: 'admin.v1.badgeGrant.update', path: '/open-apis/admin/v1/badges/:badge_id/grants/:grant_id', httpMethod: 'PUT', description: '[Feishu/Lark]-管理后台-企业勋章-勋章授予名单-修改授予名单-通过该接口可以修改特定授予名单的相关信息', accessTokens: ['tenant'], schema: { data: z.object({ name: z.string().describe('勋章下唯一的授予事项,最多100个字符'), grant_type: z.number().describe('授予名单类型 Options:0(manual 手动选择有效期),1(join_time 匹配系统入职时间)'), time_zone: z .string() .describe('授予名单的生效时间对应的时区,用于检查RuleDetail的时间戳的取值是否规范,取值范围为TZ database name'), rule_detail: z .object({ effective_time: z .string() .describe( '开始生效的时间戳。1.手动设置有效期类型勋章,配置有效期限需要配置该字段;2.时间戳必须是所在时区当天的零点时间戳,如时区为Asia/Shanghai时区时的1649606400', ) .optional(), expiration_time: z .string() .describe( '结束生效的时间戳。1.手动设置有效期类型勋章,配置有效期限需要配置该字段;2.最大值:不得超过effective_time+100 年;3.非永久有效:时间戳必须是所在时区当天的23:59:59时间戳,如时区为Asia/Shanghai时区时的1649692799;4.永久有效:传值为0即可', ) .optional(), anniversary: z.number().describe('入职周年日。根据入职时间发放类型勋章,需要配置该字段').optional(), effective_period: z .number() .describe( '有效期限。根据入职时间发放类型勋章,需要配置该字段。 Options:1(one_year 有效期为一年),2(permanent 永久有效)', ) .optional(), }) .describe('规则详情'), is_grant_all: z .boolean() .describe('是否授予给全员。1.为false时,需要关联1~500个用户群体。2.为true时,不可关联用户、用户组、部门'), user_ids: z .array(z.string()) .describe('授予的用户ID列表,授予名单列表接口返回结果中不返回该字段,只在详情接口返回') .optional(), department_ids: z .array(z.string()) .describe('授予的部门ID列表,授予名单列表接口返回结果中不返回该字段,只在详情接口返回') .optional(), group_ids: z .array(z.string()) .describe('授予的用户组ID列表,授予名单列表接口返回结果中不返回该字段,只在详情接口返回') .optional(), }), params: z.object({ user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(), department_id_type: z .enum(['department_id', 'open_department_id']) .describe( '此次调用中使用的部门ID的类型。 Options:department_id(以自定义department_id来标识部门),open_department_id(以open_department_id来标识部门)', ) .optional(), }), path: z.object({ badge_id: z.string().describe('勋章ID'), grant_id: z.string().describe('授予名单ID') }), }, }; export const adminV1BadgeList = { project: 'admin', name: 'admin.v1.badge.list', sdkName: 'admin.v1.badge.list', path: '/open-apis/admin/v1/badges', httpMethod: 'GET', description: '[Feishu/Lark]-管理后台-企业勋章-勋章管理-获取勋章列表-可以通过该接口列出租户下所有的勋章,勋章的排列顺序是按照创建时间倒序排列', accessTokens: ['tenant'], schema: { params: z.object({ page_size: z.number().describe('分页大小'), page_token: z .string() .describe( '分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果', ) .optional(), name: z.string().describe('租户内唯一的勋章名称,精确匹配').optional(), }), }, }; export const adminV1BadgeUpdate = { project: 'admin', name: 'admin.v1.badge.update', sdkName: 'admin.v1.badge.update', path: '/open-apis/admin/v1/badges/:badge_id', httpMethod: 'PUT', description: '[Feishu/Lark]-管理后台-企业勋章-勋章管理-修改勋章信息-通过该接口可以修改勋章的信息', accessTokens: ['tenant'], schema: { data: z.object({ name: z.string().describe('租户内唯一的勋章名称,最多30个字符'), explanation: z.string().describe('勋章的描述文案,最多100个字符').optional(), detail_image: z .string() .describe( '企业勋章的详情图Key。1.权限校验:非本租户上传的图片key,不能直接使用;2.时效校验:创建勋章,或者修改勋章图片key时,需使用1h内上传的图片key', ), show_image: z .string() .describe( '企业勋章的头像挂饰图Key。1.权限校验:非本租户上传的图片key,不能直接使用;2.时效校验:创建勋章,或者修改勋章图片key时,需使用1h内上传的图片key', ), i18n_name: z .object({ zh_cn: z.string().describe('中文文案').optional(), en_us: z.string().describe('英文文案').optional(), ja_jp: z.string().describe('日文文案').optional(), }) .describe('勋章的多语言名称,同name字段限制,最多30个字符') .optional(), i18n_explanation: z .object({ zh_cn: z.string().describe('中文文案').optional(), en_us: z.string().describe('英文文案').optional(), ja_jp: z.string().describe('日文文案').optional(), }) .describe('勋章的多语言描述文案,同explanation字段限制,最多100个字符') .optional(), }), path: z.object({ badge_id: z.string().describe('勋章ID') }), }, }; export const adminV1PasswordReset = { project: 'admin', name: 'admin.v1.password.reset', sdkName: 'admin.v1.password.reset', path: '/open-apis/admin/v1/password/reset', httpMethod: 'POST', description: '[Feishu/Lark]-管理后台-登录密码管理-重置用户的企业邮箱密码', accessTokens: ['tenant'], schema: { data: z.object({ password: z .object({ ent_email_password: z.string().describe('企业邮箱密码') }) .describe('需要重置的密码参数,不少于8个字符,字母、数字和符号,至少三选二'), user_id: z.string().describe('待修改密码的用户ID,只针对邮箱登录凭证与企业邮箱(包括别名)相等的用户生效'), }), params: z.object({ user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型') }), }, }; export const adminV1Tools = [ adminV1AdminDeptStatList, adminV1AdminUserStatList, adminV1AuditInfoList, adminV1BadgeCreate, adminV1BadgeGet, adminV1BadgeGrantCreate, adminV1BadgeGrantDelete, adminV1BadgeGrantGet, adminV1BadgeGrantList, adminV1BadgeGrantUpdate, adminV1BadgeList, adminV1BadgeUpdate, adminV1PasswordReset, ];

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/Xumingmingming/feishu-mcp-server'

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