Skip to main content
Glama

Feishu MCP Server

acs_v1.ts11 kB
import { z } from 'zod'; export type acsV1ToolName = | 'acs.v1.accessRecord.list' | 'acs.v1.device.list' | 'acs.v1.ruleExternal.create' | 'acs.v1.ruleExternal.delete' | 'acs.v1.ruleExternal.deviceBind' | 'acs.v1.ruleExternal.get' | 'acs.v1.user.get' | 'acs.v1.user.list' | 'acs.v1.user.patch' | 'acs.v1.visitor.create' | 'acs.v1.visitor.delete'; export const acsV1AccessRecordList = { project: 'acs', name: 'acs.v1.accessRecord.list', sdkName: 'acs.v1.accessRecord.list', path: '/open-apis/acs/v1/access_records', httpMethod: 'GET', description: '[Feishu/Lark]-智能门禁-门禁记录-获取门禁记录列表', accessTokens: ['tenant'], schema: { params: z.object({ page_size: z.number().describe('分页大小').optional(), page_token: z .string() .describe( '分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果', ) .optional(), from: z.number().describe('记录开始时间,单位秒'), to: z.number().describe('记录结束时间,单位秒,时间跨度不能超过30天'), device_id: z.string().describe('门禁设备 ID').optional(), user_id_type: z.enum(['user_id', 'union_id', 'open_id']).describe('用户ID类型').optional(), }), }, }; export const acsV1DeviceList = { project: 'acs', name: 'acs.v1.device.list', sdkName: 'acs.v1.device.list', path: '/open-apis/acs/v1/devices', httpMethod: 'GET', description: '[Feishu/Lark]-智能门禁-门禁设备-获取门禁设备列表', accessTokens: ['tenant'], schema: {}, }; export const acsV1RuleExternalCreate = { project: 'acs', name: 'acs.v1.ruleExternal.create', sdkName: 'acs.v1.ruleExternal.create', path: '/open-apis/acs/v1/rule_external', httpMethod: 'POST', description: '[Feishu/Lark]-智能门禁-权限组-创建或更新权限组-创建或更新权限组', accessTokens: ['user'], schema: { data: z.object({ rule: z .object({ id: z.string().describe('权限组id').optional(), name: z.string().describe('权限组名称').optional(), devices: z .array( z.object({ id: z.string().describe('设备id').optional(), name: z.string().describe('设备名称').optional(), }), ) .describe('权限组包含的设备') .optional(), user_count: z.string().describe('权限组包含的员工个数').optional(), users: z .array( z.object({ user_type: z .number() .describe('用户类型 Options:1(user 员工),2(department 部门),10(tenant 全体员工),11(guest 访客)'), user_id: z.string().describe('用户id').optional(), user_name: z.string().describe('用户名称').optional(), phone_num: z.string().describe('电话号码').optional(), department_id: z.string().describe('部门id').optional(), }), ) .describe('权限组包含的员工列表') .optional(), visitor_count: z.string().describe('权限组包含的访客个数').optional(), visitors: z .array( z.object({ user_type: z .number() .describe('用户类型 Options:1(user 员工),2(department 部门),10(tenant 全体员工),11(guest 访客)'), user_id: z.string().describe('用户id').optional(), user_name: z.string().describe('用户名称').optional(), phone_num: z.string().describe('电话号码').optional(), department_id: z.string().describe('部门id').optional(), }), ) .describe('权限组包含的访客列表') .optional(), remind_face: z.boolean().describe('是否通知人员录入').optional(), opening_time: z .object({ valid_day: z .object({ start_day: z.number().describe('权限开始时间'), end_day: z.number().describe('权限结束时间'), }) .describe('有效日期') .optional(), weekdays: z.array(z.number()).describe('有效星期').optional(), day_times: z .array( z.object({ start_hhmm: z.number().describe('起始时间'), end_hhmm: z.number().describe('结束时间') }), ) .describe('有效时间') .optional(), }) .describe('开门时间段') .optional(), is_temp: z.boolean().describe('是否为临时权限组').optional(), }) .describe('权限组信息'), }), params: z.object({ rule_id: z.string().describe('权限组id-为空创建,不为空则更新').optional(), user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const acsV1RuleExternalDelete = { project: 'acs', name: 'acs.v1.ruleExternal.delete', sdkName: 'acs.v1.ruleExternal.delete', path: '/open-apis/acs/v1/rule_external', httpMethod: 'DELETE', description: '[Feishu/Lark]-智能门禁-权限组-删除权限组-删除权限组', accessTokens: ['user'], schema: { params: z.object({ rule_id: z.string().describe('权限组id') }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const acsV1RuleExternalDeviceBind = { project: 'acs', name: 'acs.v1.ruleExternal.deviceBind', sdkName: 'acs.v1.ruleExternal.deviceBind', path: '/open-apis/acs/v1/rule_external/device_bind', httpMethod: 'POST', description: '[Feishu/Lark]-智能门禁-权限组-设备绑定权限组-设备绑定权限组', accessTokens: ['user'], schema: { data: z.object({ device_id: z.string().describe('设备id'), rule_ids: z.array(z.string()).describe('权限组id列表'), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const acsV1RuleExternalGet = { project: 'acs', name: 'acs.v1.ruleExternal.get', sdkName: 'acs.v1.ruleExternal.get', path: '/open-apis/acs/v1/rule_external', httpMethod: 'GET', description: '[Feishu/Lark]-智能门禁-权限组-获取权限组信息-获取权限组信息', accessTokens: ['user'], schema: { params: z.object({ device_id: z.string().describe('设备id').optional(), user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const acsV1UserGet = { project: 'acs', name: 'acs.v1.user.get', sdkName: 'acs.v1.user.get', path: '/open-apis/acs/v1/users/:user_id', 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() }), path: z.object({ user_id: z.string().describe('用户 ID') }), }, }; export const acsV1UserList = { project: 'acs', name: 'acs.v1.user.list', sdkName: 'acs.v1.user.list', path: '/open-apis/acs/v1/users', httpMethod: 'GET', description: '[Feishu/Lark]-智能门禁-用户管理-获取用户列表', accessTokens: ['tenant'], schema: { params: z.object({ page_size: z.number().describe('分页大小').optional(), page_token: z .string() .describe( '分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果', ) .optional(), user_id_type: z.enum(['user_id', 'union_id', 'open_id']).describe('用户ID类型').optional(), }), }, }; export const acsV1UserPatch = { project: 'acs', name: 'acs.v1.user.patch', sdkName: 'acs.v1.user.patch', path: '/open-apis/acs/v1/users/:user_id', httpMethod: 'PATCH', description: '[Feishu/Lark]-智能门禁-用户管理-修改用户部分信息', accessTokens: ['tenant'], schema: { data: z.object({ feature: z .object({ card: z.number().describe('卡号').optional() }) .describe('用户特征') .optional(), }), params: z.object({ user_id_type: z.enum(['user_id', 'union_id', 'open_id']).describe('用户ID类型').optional() }), path: z.object({ user_id: z.string().describe('用户 ID') }), }, }; export const acsV1VisitorCreate = { project: 'acs', name: 'acs.v1.visitor.create', sdkName: 'acs.v1.visitor.create', path: '/open-apis/acs/v1/visitors', httpMethod: 'POST', description: '[Feishu/Lark]-智能门禁-访客-添加访客-添加访客', accessTokens: ['user'], schema: { data: z.object({ user: z .object({ user_type: z .number() .describe('用户类型 Options:1(user 员工),2(department 部门),10(tenant 全体员工),11(guest 访客)'), user_id: z.string().describe('用户id').optional(), user_name: z.string().describe('用户名称').optional(), phone_num: z.string().describe('电话号码').optional(), department_id: z.string().describe('部门id').optional(), }) .describe('访客信息'), }), params: z.object({ user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional() }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const acsV1VisitorDelete = { project: 'acs', name: 'acs.v1.visitor.delete', sdkName: 'acs.v1.visitor.delete', path: '/open-apis/acs/v1/visitors/:visitor_id', httpMethod: 'DELETE', description: '[Feishu/Lark]-智能门禁-访客-删除访客-删除访客', accessTokens: ['user'], schema: { params: z.object({ user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional() }), path: z.object({ visitor_id: z.string().describe('访客id') }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const acsV1Tools = [ acsV1AccessRecordList, acsV1DeviceList, acsV1RuleExternalCreate, acsV1RuleExternalDelete, acsV1RuleExternalDeviceBind, acsV1RuleExternalGet, acsV1UserGet, acsV1UserList, acsV1UserPatch, acsV1VisitorCreate, acsV1VisitorDelete, ];

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