Skip to main content
Glama

Feishu MCP Server

wiki_v2.ts19.4 kB
import { z } from 'zod'; export type wikiV2ToolName = | 'wiki.v2.space.create' | 'wiki.v2.space.get' | 'wiki.v2.space.getNode' | 'wiki.v2.space.list' | 'wiki.v2.spaceMember.create' | 'wiki.v2.spaceMember.delete' | 'wiki.v2.spaceMember.list' | 'wiki.v2.spaceNode.copy' | 'wiki.v2.spaceNode.create' | 'wiki.v2.spaceNode.list' | 'wiki.v2.spaceNode.move' | 'wiki.v2.spaceNode.moveDocsToWiki' | 'wiki.v2.spaceNode.updateTitle' | 'wiki.v2.spaceSetting.update' | 'wiki.v2.task.get'; export const wikiV2SpaceCreate = { project: 'wiki', name: 'wiki.v2.space.create', sdkName: 'wiki.v2.space.create', path: '/open-apis/wiki/v2/spaces', httpMethod: 'POST', description: '[Feishu/Lark]-云文档-知识库-知识空间-创建知识空间-此接口用于创建知识空间', accessTokens: ['user'], schema: { data: z.object({ name: z.string().describe('知识空间名称').optional(), description: z.string().describe('知识空间描述').optional(), open_sharing: z .enum(['open', 'closed']) .describe('表示知识空间的分享状态 Options:open(打开),closed(关闭)') .optional(), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const wikiV2SpaceGet = { project: 'wiki', name: 'wiki.v2.space.get', sdkName: 'wiki.v2.space.get', path: '/open-apis/wiki/v2/spaces/:space_id', httpMethod: 'GET', description: '[Feishu/Lark]-云文档-知识库-知识空间-获取知识空间信息-此接口用于根据知识空间 ID 查询知识空间的信息,包括空间的类型、可见性、分享状态等', accessTokens: ['tenant', 'user'], schema: { params: z.object({ lang: z .enum(['zh', 'id', 'de', 'en', 'es', 'fr', 'it', 'pt', 'vi', 'ru', 'hi', 'th', 'ko', 'ja', 'zh-HK', 'zh-TW']) .describe( '当查询个人文档库时,指定返回的文档库名称展示语言。 Options:zh(LangZH 简体中文),id(LangID 印尼语),de(LangDE 德语),en(LangEN 英语),es(LangES 西班牙语),fr(LangFR 法语),it(LangIT 意大利语),pt(LangPT 葡萄牙语),vi(LangVI 越南语),ru(LangRU 俄语),hi(LangHI 印地语),th(LangTH 泰语),ko(LangKO 韩语),ja(LangJA 日语),zh-HK(LangZHHK 繁体中文(中国香港)),zh-TW(LangZHTW 繁体中文(中国台湾))', ) .optional(), }), path: z.object({ space_id: z .string() .describe( '知识空间 ID。可通过以下两种方式获取。了解更多,参考。- 调用 获取- 如果你是知识库管理员,可以进入知识库设置页面,复制地址栏的数字部分:https://sample.feishu.cn/wiki/settings/==6870403571079249922==', ) .optional(), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const wikiV2SpaceGetNode = { project: 'wiki', name: 'wiki.v2.space.getNode', sdkName: 'wiki.v2.space.getNode', path: '/open-apis/wiki/v2/spaces/get_node', httpMethod: 'GET', description: '[Feishu/Lark]-云文档-知识库-节点-获取知识空间节点信息-获取知识空间节点信息', accessTokens: ['tenant', 'user'], schema: { params: z.object({ token: z .string() .describe( '知识库节点或对应云文档的实际 token。- 知识库节点 token:如果 URL 链接中 token 前为 wiki,该 token 为知识库的节点 token。- 云文档实际 token:如果 URL 链接中 token 前为 docx、base、sheets 等非 wiki 类型,则说明该 token 是当前云文档的实际 token。了解更多,请参考。**注意**:使用云文档 token 查询时,需要对 obj_type 参数传入文档对应的类型', ), obj_type: z .enum(['doc', 'docx', 'sheet', 'mindnote', 'bitable', 'file', 'slides', 'wiki']) .describe( '文档类型。不传时默认以 wiki 类型查询。 Options:doc(ObjTypeDoc 旧版文档),docx(ObjTypeDocx 新版文档),sheet(ObjTypeSheet 表格),mindnote(ObjTypeMindNote 思维导图),bitable(ObjTypeBitable 多维表格),file(ObjTypeFile 文件),slides(ObjTypeSlides 幻灯片),wiki(ObjTypeWiki 知识库节点)', ) .optional(), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const wikiV2SpaceList = { project: 'wiki', name: 'wiki.v2.space.list', sdkName: 'wiki.v2.space.list', path: '/open-apis/wiki/v2/spaces', httpMethod: 'GET', description: '[Feishu/Lark]-云文档-知识库-知识空间-获取知识空间列表-此接口用于获取有权限访问的知识空间列表', accessTokens: ['tenant', 'user'], schema: { params: z.object({ page_size: z.number().describe('分页大小').optional(), page_token: z .string() .describe( '分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果', ) .optional(), lang: z .enum(['zh', 'id', 'de', 'en', 'es', 'fr', 'it', 'pt', 'vi', 'ru', 'hi', 'th', 'ko', 'ja', 'zh-HK', 'zh-TW']) .describe( '当查询个人文档库时,指定返回的文档库名称展示语言。 Options:zh(LangZH 简体中文),id(LangID 印尼语),de(LangDE 德语),en(LangEN 英语),es(LangES 西班牙语),fr(LangFR 法语),it(LangIT 意大利语),pt(LangPT 葡萄牙语),vi(LangVI 越南语),ru(LangRU 俄语),hi(LangHI 印地语),th(LangTH 泰语),ko(LangKO 韩语),ja(LangJA 日语),zh-HK(LangZHHK 繁体中文(中国香港)),zh-TW(LangZHTW 繁体中文(中国台湾))', ) .optional(), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const wikiV2SpaceMemberCreate = { project: 'wiki', name: 'wiki.v2.spaceMember.create', sdkName: 'wiki.v2.spaceMember.create', path: '/open-apis/wiki/v2/spaces/:space_id/members', httpMethod: 'POST', description: '[Feishu/Lark]-云文档-知识库-空间成员-添加知识空间成员-添加知识空间成员或管理员', accessTokens: ['tenant', 'user'], schema: { data: z.object({ member_type: z .string() .describe( '要添加的成员或管理员的身份类型。可选值:- openchat:群组 ID。参考获取- userid:用户 ID。详情参考- email:用户邮箱- opendepartmentid:部门 ID。参考获取- openid:用户的 Open ID。详情参考- unionid:用户的 Union ID。详情参考', ), member_id: z .string() .describe('成员或管理员的 ID,值的类型由 member_type 参数决定。参考 member_type 的描述获取不同类型的 ID'), member_role: z.string().describe('成员的角色类型。可选值:- admin:管理员- member:成员'), }), params: z.object({ need_notification: z.boolean().describe('添加权限后是否通知对方').optional() }), path: z.object({ space_id: z .string() .describe( '知识空间 ID。可通过以下两种方式获取。了解更多,参考。- 调用 获取- 如果你是知识库管理员,可以进入知识库设置页面,复制地址栏的数字部分:https://sample.feishu.cn/wiki/settings/==6870403571079249922==', ) .optional(), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const wikiV2SpaceMemberDelete = { project: 'wiki', name: 'wiki.v2.spaceMember.delete', sdkName: 'wiki.v2.spaceMember.delete', path: '/open-apis/wiki/v2/spaces/:space_id/members/:member_id', httpMethod: 'DELETE', description: '[Feishu/Lark]-云文档-知识库-空间成员-删除知识空间成员-此接口用于删除知识空间成员或管理员', accessTokens: ['tenant', 'user'], schema: { data: z.object({ member_type: z .string() .describe( '“openchat” - 群id “userid” - 用户id“email” - 邮箱“opendepartmentid” - 部门id“openid” - 应用openid“unionid” - [unionid](/:ssltoken/home/user-identity-introduction/union-id)', ), member_role: z.string().describe('角色:“admin” - 管理员“member” - 成员'), type: z .enum(['user', 'chat', 'department']) .describe('知识库协作者类型(暂不支持) Options:user(用户),chat(群组),department(组织架构)') .optional(), }), path: z.object({ space_id: z.string().describe('知识空间id'), member_id: z.string().describe('成员id,值的类型由请求体的 member_type 参数决定'), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const wikiV2SpaceMemberList = { project: 'wiki', name: 'wiki.v2.spaceMember.list', sdkName: 'wiki.v2.spaceMember.list', path: '/open-apis/wiki/v2/spaces/:space_id/members', httpMethod: 'GET', description: '[Feishu/Lark]-云文档-知识库-空间成员-获取知识空间成员列表-获取知识空间的成员与管理员列表', accessTokens: ['tenant', 'user'], schema: { params: z.object({ page_size: z.number().describe('分页大小').optional(), page_token: z .string() .describe( '分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果', ) .optional(), }), path: z.object({ space_id: z.string().describe('知识空间 ID') }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const wikiV2SpaceNodeCopy = { project: 'wiki', name: 'wiki.v2.spaceNode.copy', sdkName: 'wiki.v2.spaceNode.copy', path: '/open-apis/wiki/v2/spaces/:space_id/nodes/:node_token/copy', httpMethod: 'POST', description: '[Feishu/Lark]-云文档-知识库-节点-创建知识空间节点副本-此接口用于在知识空间创建节点副本到指定位置', accessTokens: ['tenant', 'user'], schema: { data: z.object({ target_parent_token: z .string() .describe('目标父节点 Token。- 目标知识空间 ID 与目标父节点 Token 不可同时为空') .optional(), target_space_id: z .string() .describe('目标知识空间 ID。- 目标知识空间 ID 与目标父节点 Token 不可同时为空') .optional(), title: z.string().describe('复制后的新标题。如果填空,则新标题为空。如果不填,则使用原节点标题').optional(), }), path: z.object({ space_id: z.string().describe('知识空间id').optional(), node_token: z.string().describe('节点token').optional(), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const wikiV2SpaceNodeCreate = { project: 'wiki', name: 'wiki.v2.spaceNode.create', sdkName: 'wiki.v2.spaceNode.create', path: '/open-apis/wiki/v2/spaces/:space_id/nodes', httpMethod: 'POST', description: '[Feishu/Lark]-云文档-知识库-节点-创建知识空间节点-此接口用于在知识节点里创建到指定位置', accessTokens: ['tenant', 'user'], schema: { data: z.object({ obj_type: z .enum(['doc', 'sheet', 'mindnote', 'bitable', 'file', 'docx', 'slides']) .describe( '文档类型,对于快捷方式,该字段是对应的实体的obj_type。 Options:doc(ObjTypeDoc 已废弃,创建文档请使用`docx`。详情参考。),sheet(ObjTypeSheet 表格),mindnote(ObjTypeMindNote 思维导图),bitable(ObjTypeBitable 多维表格),file(ObjTypeFile 文件),docx(ObjTypeDocx 新版文档),slides(ObjTypeSlides 幻灯片)', ), parent_node_token: z.string().describe('父节点 token。若当前节点为一级节点,父节点 token 为空').optional(), node_type: z .enum(['origin', 'shortcut']) .describe('节点类型 Options:origin(NodeTypeEntity 实体),shortcut(NodeTypeShortCut 快捷方式)'), origin_node_token: z.string().describe('快捷方式对应的实体node_token,当节点为快捷方式时,该值不为空').optional(), title: z.string().describe('文档标题').optional(), }), path: z.object({ space_id: z .string() .describe('知识空间id') .optional(), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const wikiV2SpaceNodeList = { project: 'wiki', name: 'wiki.v2.spaceNode.list', sdkName: 'wiki.v2.spaceNode.list', path: '/open-apis/wiki/v2/spaces/:space_id/nodes', httpMethod: 'GET', description: '[Feishu/Lark]-云文档-知识库-节点-获取知识空间子节点列表-此接口用于分页获取Wiki节点的子节点列表。此接口为分页接口。由于权限过滤,可能返回列表为空,但分页标记(has_more)为true,可以继续分页请求', accessTokens: ['tenant', 'user'], schema: { params: z.object({ page_size: z.number().describe('分页大小').optional(), page_token: z .string() .describe( '分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果', ) .optional(), parent_node_token: z.string().describe('父节点token').optional(), }), path: z.object({ space_id: z.string().describe('知识空间id').optional() }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const wikiV2SpaceNodeMove = { project: 'wiki', name: 'wiki.v2.spaceNode.move', sdkName: 'wiki.v2.spaceNode.move', path: '/open-apis/wiki/v2/spaces/:space_id/nodes/:node_token/move', httpMethod: 'POST', description: '[Feishu/Lark]-云文档-知识库-节点-移动知识空间节点-此方法用于在Wiki内移动节点,支持跨知识空间移动。如果有子节点,会携带子节点一起移动', accessTokens: ['tenant', 'user'], schema: { data: z.object({ target_parent_token: z.string().describe('移动到的父节点token').optional(), target_space_id: z.string().describe('移动到的知识空间ID').optional(), }), path: z.object({ space_id: z.string().describe('知识空间id'), node_token: z.string().describe('需要迁移的节点token'), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const wikiV2SpaceNodeMoveDocsToWiki = { project: 'wiki', name: 'wiki.v2.spaceNode.moveDocsToWiki', sdkName: 'wiki.v2.spaceNode.moveDocsToWiki', path: '/open-apis/wiki/v2/spaces/:space_id/nodes/move_docs_to_wiki', httpMethod: 'POST', description: '[Feishu/Lark]-云文档-知识库-云文档-移动云空间文档至知识空间-该接口允许移动云空间文档至知识空间,并挂载在指定位置', accessTokens: ['tenant', 'user'], schema: { data: z.object({ parent_wiki_token: z.string().describe('节点的父亲token。传空或不传时将移动为知识空间一级节点').optional(), obj_type: z .enum(['doc', 'sheet', 'bitable', 'mindnote', 'docx', 'file', 'slides']) .describe( '文档类型 Options:doc(ObjTypeDoc 旧版文档),sheet(ObjTypeSheet 表格),bitable(ObjTypeBitable 多维表格),mindnote(ObjTypeMindNote 思维导图),docx(ObjTypeDocx 新版文档),file(ObjTypeFile 文件),slides(ObjTypeSlides slides(幻灯片))', ), obj_token: z.string().describe('文档token'), apply: z .boolean() .describe('没有权限时,是否申请移动文档。如果申请移动,文档将在处理人同意时自动移动至指定位置') .optional(), }), path: z.object({ space_id: z.string().describe('知识库id') }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const wikiV2SpaceNodeUpdateTitle = { project: 'wiki', name: 'wiki.v2.spaceNode.updateTitle', sdkName: 'wiki.v2.spaceNode.updateTitle', path: '/open-apis/wiki/v2/spaces/:space_id/nodes/:node_token/update_title', httpMethod: 'POST', description: '[Feishu/Lark]-云文档-知识库-节点-更新知识空间节点标题-此接口用于更新节点标题', accessTokens: ['tenant', 'user'], schema: { data: z.object({ title: z.string().describe('节点新标题') }), path: z.object({ space_id: z.string().describe('知识空间ID').optional(), node_token: z.string().describe('节点token').optional(), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const wikiV2SpaceSettingUpdate = { project: 'wiki', name: 'wiki.v2.spaceSetting.update', sdkName: 'wiki.v2.spaceSetting.update', path: '/open-apis/wiki/v2/spaces/:space_id/setting', httpMethod: 'PUT', description: '[Feishu/Lark]-云文档-知识库-空间设置-更新知识空间设置-根据space_id更新知识空间公共设置', accessTokens: ['tenant', 'user'], schema: { data: z.object({ create_setting: z .string() .describe('谁可以创建空间的一级页面: "admin_and_member" = 管理员和成员 "admin" - 仅管理员') .optional(), security_setting: z .string() .describe('可阅读用户可否创建副本/打印/导出/复制: "allow" - 允许 "not_allow" - 不允许') .optional(), comment_setting: z.string().describe('可阅读用户可否评论: "allow" - 允许 "not_allow" - 不允许').optional(), }), path: z.object({ space_id: z.string().describe('知识空间id').optional() }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const wikiV2TaskGet = { project: 'wiki', name: 'wiki.v2.task.get', sdkName: 'wiki.v2.task.get', path: '/open-apis/wiki/v2/tasks/:task_id', httpMethod: 'GET', description: '[Feishu/Lark]-云文档-知识库-云文档-获取任务结果-该方法用于获取wiki异步任务的结果', accessTokens: ['tenant', 'user'], schema: { params: z.object({ task_type: z .literal('move') .describe( '任务类型 Options:move(任务)', ), }), path: z.object({ task_id: z.string().describe('任务id').optional() }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const wikiV2Tools = [ wikiV2SpaceCreate, wikiV2SpaceGet, wikiV2SpaceGetNode, wikiV2SpaceList, wikiV2SpaceMemberCreate, wikiV2SpaceMemberDelete, wikiV2SpaceMemberList, wikiV2SpaceNodeCopy, wikiV2SpaceNodeCreate, wikiV2SpaceNodeList, wikiV2SpaceNodeMove, wikiV2SpaceNodeMoveDocsToWiki, wikiV2SpaceNodeUpdateTitle, wikiV2SpaceSettingUpdate, wikiV2TaskGet, ];

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