Feishu MCP Server
Accede y gestiona documentos de Feishu para herramientas de codificación de IA, permitiendo la recuperación, edición y búsqueda estructurada de contenido.
Documentación
Servidor MCP de Feishu
Proporciona a Cursor, Windsurf, Cline y otras herramientas de codificación impulsadas por IA la capacidad de acceder, editar y procesar de forma estructurada documentos de Feishu, además de admitir la gestión de tareas de Feishu y la consulta de información de usuarios, implementado mediante un servidor Model Context Protocol.
Ahora compatible con la herramienta CLI independiente feishu-tool, que permite invocar directamente todas las herramientas de Feishu desde la terminal o scripts, sin necesidad de iniciar el servidor MCP. Combinado con Feishu-Skill, permite que agentes de IA como Claude Code seleccionen automáticamente la forma más adecuada de operar con Feishu.
Este proyecto permite a las herramientas de codificación con IA:
- Procesamiento de documentos: obtener, comprender, crear y editar documentos de Feishu directamente, mejorando significativamente la inteligencia y eficiencia del procesamiento documental.
- Gestión de tareas: listar, crear, actualizar y eliminar tareas de Feishu, con soporte para subtareas y gestión de miembros (requiere autenticación de usuario).
- Información de usuarios: buscar por nombre u obtener usuarios de Feishu por ID de forma masiva, facilitando la asignación de tareas y la colaboración en documentos (requiere autenticación de usuario).
Cobertura completa del flujo de uso real de documentos de Feishu, para aprovechar al máximo los recursos documentales:
- Obtención de carpetas y directorios: obtén y navega rápidamente por todos los documentos bajo una carpeta de Feishu, facilitando la gestión y búsqueda general.
- Obtención y comprensión de contenido: soporta lectura multidimensional de contenido (estructurado, por bloques, texto enriquecido, etc.), permitiendo que la IA comprenda con precisión el contexto del documento.
- Creación y edición inteligente: crea automáticamente nuevos documentos, genera y edita contenido de forma masiva, satisfaciendo diversas necesidades de redacción.
- Búsqueda y recuperación eficiente: búsqueda integrada por palabras clave para encontrar rápidamente la información objetivo entre numerosos documentos.
- Gestión de tareas y consulta de usuarios: soporta operaciones CRUD de tareas de Feishu y búsqueda de información de usuarios, facilitando la asociación de tareas y personas en los documentos.
Este proyecto te permite lograr adquisición, edición y búsqueda inteligente en el flujo de uso diario de documentos de Feishu, ampliando las capacidades de gestión de tareas y usuarios, mejorando la eficiencia y la experiencia en el procesamiento de contenido.
💡 Recomendación del proyecto:
Si usas Claude Code, se recomienda combinarlo con claude-ip-guard: detecta automáticamente la ubicación geográfica de la IP y bloquea el acceso desde regiones restringidas, evitando la suspensión de la cuenta de Claude por cambios de red.
🎬 Video de demostración de uso
Puedes ver el efecto real y el flujo de operación del MCP a través de los siguientes videos:
⭐ ¡Dale una estrella a este proyecto para recibir las últimas funciones y actualizaciones importantes a tiempo! Seguir el proyecto te permitirá no perderte ninguna novedad, corrección u optimización, ayudándote a usarlo de manera continua y eficiente. Tu apoyo también nos ayudará a mejorar y desarrollar el proyecto. ⭐
🛠️ Detalle de las herramientas
| Categoría | Nombre de la herramienta | Descripción | Escenario de uso | Estado |
|---|---|---|---|---|
| Gestión de documentos | create_feishu_document | Crear un nuevo documento de Feishu | Crear documentos desde cero | ✅ Completado |
get_feishu_document_info | Obtener información básica del documento | Verificar la existencia del documento y los permisos | ✅ Completado | |
get_feishu_document_blocks | Obtener la estructura de bloques del documento | Comprender la estructura jerárquica del documento | ✅ Completado | |
| Edición de contenido | batch_create_feishu_blocks | Crear múltiples bloques de forma masiva | Crear contenido continuo de manera eficiente | ✅ Completado |
update_feishu_block_text | Actualizar el contenido de texto de un bloque | Modificar contenido existente | ✅ Completado | |
delete_feishu_document_blocks | Eliminar bloques del documento | Limpiar y reestructurar el contenido del documento | ✅ Completado | |
| Gestión de carpetas | get_feishu_folder_files | Obtener la lista de archivos de una carpeta | Explorar el contenido de una carpeta | ✅ Completado |
create_feishu_folder | Crear una nueva carpeta | Organizar la estructura de documentos | ✅ Completado | |
| Función de búsqueda | search_feishu_documents | Buscar documentos | Encontrar contenido específico | ✅ Completado |
| Funciones de herramienta | get_feishu_document_info | Obtener información de documentos wiki | Convertir enlaces Wiki en ID de documento, crear subnodos wiki | ✅ Completado |
get_feishu_image_resource | Obtener recursos de imagen | Descargar imágenes de documentos | ✅ Completado | |
get_feishu_whiteboard_content | Obtener contenido del tablero | Obtener elementos gráficos y estructura del tablero (diagramas de flujo, mapas mentales, etc.) | ✅ Completado | |
| Funciones avanzadas | create_feishu_table | Crear y editar tablas | Visualización de datos estructurados | ✅ Completado |
| Inserción de diagramas de flujo | Soporta diagramas de flujo y mapas mentales | Organización y visualización de procesos | ✅ Completado | |
| Inserción de diagramas de flujo (formato tablero) | Soporta diagramas de flujo y mapas mentales | Organización y visualización de procesos | ✅ Completado | |
| Inserción de imágenes | upload_and_bind_image_to_block | Soporta inserción de imágenes locales y remotas | Modificar contenido de documentos | ✅ Completado |
| Soporte de fórmulas | Soporta fórmulas matemáticas | Documentos académicos y técnicos | ✅ Completado | |
| Gestión de tareas | list_feishu_tasks | Listar mis tareas asignadas | Ver tareas pendientes/completadas | ✅ Completado |
create_feishu_task | Crear tareas de forma masiva (incluidas subtareas) | Crear nuevas tareas, dividir subtareas | ✅ Completado | |
update_feishu_task | Actualizar tareas | Modificar contenido, miembros, recordatorios | ✅ Completado | |
delete_feishu_task | Eliminar tareas de forma masiva | Limpiar tareas | ✅ Completado | |
| Información de usuarios | get_feishu_users | Buscar por nombre u obtener usuarios por ID de forma masiva | Encontrar miembros, asignar tareas | ✅ Completado |
🎨 Funciones de estilo compatibles (soporta básicamente todos los formatos de Markdown)
- Estilos de texto: negrita, cursiva, subrayado, tachado, código en línea
- Colores de texto: gris, marrón, naranja, amarillo, verde, azul, morado
- Alineación: izquierda, centrada, derecha
- Niveles de título: soporta títulos de nivel 1 a 9
- Bloques de código: resaltado de sintaxis para múltiples lenguajes de programación
- Listas: listas ordenadas (numeradas), listas desordenadas (con viñetas)
- Imágenes: soporta imágenes locales y de red
- Fórmulas: inserta fórmulas matemáticas en bloques de texto, con soporte de sintaxis LaTeX
- Diagramas mermaid: soporta diagramas de flujo, diagramas de secuencia, mapas mentales, diagramas de clases, diagramas circulares, etc.
- Tablas: soporta la creación de tablas de varias filas; las celdas pueden contener texto, títulos, listas, bloques de código y otros tipos de contenido
- Tableros de documentos de Feishu: soporta la creación de tableros en documentos de Feishu, ofreciendo un contenido más rico y diverso.
📈 Plan semanal: mejora de la eficiencia de las herramientas
Simplificación del conjunto de herramientas: 21 herramientas → 13 herramientas, eliminando redundancias y enfocándose en las funciones principales0.0.15 ✅Optimización de descripciones: 7000+ tokens → 3000+ tokens, simplificando los mensajes y ahorrando tokens de solicitud0.0.15 ✅Mejora de operaciones masivas: nuevas actualizaciones masivas y carga masiva de imágenes, con un aumento del 50% en la eficiencia de operaciones individuales0.0.15 ✅- Optimización de flujos: reducir llamadas de varios pasos, logrando completar tareas complejas con un solo clic
Soporte de múltiples tipos de credenciales: incluye tenant_access_token y user_access_token, satisfaciendo las necesidades de autenticación en diferentes escenarios(Cambio en la configuración de la aplicación de Feishu) 0.0.16 ✅.Soporte de inicio de sesión para usuarios de cursor: para facilitar la autenticación de usuarios en la plataforma cursor. No se hará, no es necesario ❌Soporte de diagramas mermaid: diagramas de flujo, diagramas de secuencia, etc., para enriquecer el contenido de los documentos0.1.11 ✅Soporte de creación de tablas: creación de tablas complejas que contienen varios tipos de bloques, con control de estilos0.1.2 ✅Soporte de autenticación de múltiples usuarios de Feishu: una sola implementación, usable por múltiples personas0.1.3 ✅Soporte de actualización automática de user_access_token: sin necesidad de autorizaciones frecuentes, mejorando la experiencia de uso0.1.6 ✅Soporte de verificación del alcance de autorización: verifica la autorización de la aplicación para asegurar que cumple con los requisitos de las herramientas actuales. Si no se cumplen las condiciones, se proporcionará una guía amigable para que los usuarios puedan usarla sin problemas0.1.7 ✅Soporte de creación de contenido en tableros: en comparación con los diagramas Mermaid, los tableros pueden mostrar contenido más rico y diverso, ofreciendo una experiencia visual más amigable y agradable(Cambio en la configuración de la aplicación de Feishu) 0.1.7 ✅- Extraer feishuAppId y feishuAppSecret de las variables de entorno: separar la configuración de Feishu de las variables de entorno para poder configurarla en clientes como cursor, permitiendo que un servicio se comparta entre múltiples equipos.
Soporte de base de conocimiento y biblioteca de documentos personal: implementa funciones como recorrido de nodos, creación de nodos, creación de archivos y búsqueda en la base de conocimiento y la biblioteca de documentos personal(Cambio en la configuración de la aplicación de Feishu) 0.1.8 ✅- Notificación de actualizaciones de versión: proporcionar avisos y explicaciones oportunas a los usuarios al publicar nuevas versiones.
Corrección del problema de autenticación de usuario en modo stdio: corrección del fallo de autenticación de usuario de Feishu en modo stdio0.1.9 ✅Configuración de la función de verificación de permisos: hacer que la verificación de permisos sea una opción configurable, controlable mediante la variable de entorno0.2.0 ✅FEISHU_SCOPE_VALIDATIONo el parámetro de línea de comandos--feishu-scope-validation, habilitada por defecto, para satisfacer diferentes escenarios de uso**Optimización del directorio de caché: guardar tokens y otros cachés en el directorio de configuración a nivel de sistema0.2.2 ✅ Gracias a las sugerencias y contribuciones de código de Molunerfinn, leeeezx y Master-caiOptimización del código relacionado con mcpTool: reconstrucción de la estructura del código para sentar las bases para agregar más funciones en el futuro0.2.3 ✅Soporte de gestión de tareas: listar, crear, actualizar y eliminar tareas de Feishu, con soporte para subtareas y gestión de miembros0.2.4 ✅Soporte de consulta de información de usuarios: búsqueda por nombre u obtención masiva de usuarios por ID, facilitando la asignación de tareas y la colaboración en documentos0.2.4 ✅Extracción de la capa de API de herramientas: creación de una nueva capa de API de herramientas, correspondiente uno a uno con la capa de herramientas, unificando la validación de parámetros, la conversión de datos, el mapeo de errores, etc.✅Compatibilidad con modo CLI: soporte de invocación mediante línea de comandos0.2.6 ✅feishu-tool <tool-name> '<json>', facilitando escenarios de scripts y automatizaciónSkill completado: proporciona Feishu-Skill, que guía a agentes de IA como Claude Code para usar la CLI de feishu-mcp en escenarios adecuados0.2.6 ✅
🔧 Tutorial de configuración de Feishu
⚠️ Aviso importante: antes de comenzar a usar, debes completar la configuración de la aplicación de Feishu; de lo contrario, la herramienta no funcionará correctamente.
Las instrucciones sobre cómo crear una aplicación de Feishu y obtener las credenciales de la aplicación se pueden encontrar en el tutorial oficial.
Pasos detallados de configuración de la aplicación de Feishu: para obtener una guía detallada sobre el registro de la aplicación de Feishu, la configuración de permisos y la adición de permisos de acceso a documentos, consulta el tutorial paso a paso FEISHU_CONFIG.md.
🏃♂️ Inicio rápido
Método 1: ejecución rápida con NPM
npx feishu-mcp@latest --feishu-app-id=<你的飞书应用ID> --feishu-app-secret=<你的飞书应用密钥> --feishu-auth-type=<tenant/user> --enabled-modules=<document,task>
Método 2: ejecución local
-
Clonar el repositorio
git clone https://github.com/cso1z/Feishu-MCP.git cd Feishu-MCP -
Configurar las variables de entorno (copia una copia de .env.example y guárdala como archivo .env)
-
Editar el archivo .env Encuentra el archivo
.enven el directorio raíz del proyecto y ábrelo con cualquier editor de texto para completar las credenciales de tu aplicación de Feishu:FEISHU_APP_ID=cli_xxxxx FEISHU_APP_SECRET=xxxxx PORT=3333 FEISHU_AUTH_TYPE=tenant/user FEISHU_ENABLED_MODULES=document,task -
Ejecutar el servidor
Método 1: ejecución local
- Instalar dependencias
pnpm install - Iniciar el servicio
pnpm run dev
Método 2: usar Docker Compose
- Iniciar el servicio
docker-compose up -d - Ver los registros
docker-compose logs -f
- Instalar dependencias
🖥️ Herramienta CLI feishu-tool
A partir de la versión 0.2.5, el paquete npm feishu-mcp incluye una CLI independiente feishu-tool que permite invocar directamente todas las herramientas de Feishu desde la terminal, scripts de Shell o agentes de IA, sin necesidad de iniciar el servidor MCP.
Instalación
# 全局安装(推荐)
npm install -g feishu-mcp@latest
Configuración
# 1. 查看 CLI 概览(子命令 + 可用工具集)
feishu-tool --help
# 2. 查看初始化指南(获取 App ID / Secret 的步骤说明)
feishu-tool guide
# 3. 写入凭证
feishu-tool config set FEISHU_APP_ID cli_xxxxx
feishu-tool config set FEISHU_USER_KEY "$(node -e 'console.log(crypto.randomUUID())')"
# FEISHU_USER_KEY 建议每个本地用户或客户端保持唯一
# 4. 查看当前配置(确认写入正确)
feishu-tool config
# 5. 查看某个工具的详细参数
feishu-tool help create_feishu_document
# 6. 调用工具
feishu-tool create_feishu_document '{"title": "测试文档"}'
Para la descripción completa de los parámetros, consulta la documentación de Feishu-Skill.
⚙️ Configuración del proyecto
Configuración de variables de entorno
| Variable | Obligatoria | Descripción | Valor predeterminado |
|---|---|---|---|
FEISHU_APP_ID | ✅ | ID de la aplicación de Feishu | - |
FEISHU_APP_SECRET | ✅ | Secreto de la aplicación de Feishu | - |
PORT | ❌ | Puerto del servidor | 3333 |
FEISHU_BASE_URL | ❌ | URL base de la API de Feishu; para la versión internacional de Lark se puede configurar como https://open.larksuite.com/open-apis | https://open.feishu.cn/open-apis |
FEISHU_AUTH_BASE_URL | ❌ | Dominio de la página de autorización de Feishu; para la versión internacional de Lark, configurar como https://accounts.larksuite.com | https://accounts.feishu.cn |
FEISHU_PUBLIC_BASE_URL | ❌ | URL base de acceso público del servicio. Si durante la autenticación user el MCP se accede mediante una dirección de red interna pero la devolución de llamada de OAuth debe usar un dominio público, se puede configurar como https://mcp.example.com | - |
FEISHU_AUTH_TYPE | ❌ | Tipo de credencial de autenticación; usar user (nivel de usuario; al usarlo, las operaciones sobre documentos de Feishu se realizan con la identidad del usuario, requiere autorización OAuth), usar tenant (nivel de aplicación, predeterminado) | tenant |
FEISHU_SCOPE_VALIDATION | ❌ | Si se habilita la verificación de permisos; configurar como false para desactivarla (adecuado para escenarios donde solo se usan algunas funciones) | true |
FEISHU_ENABLED_MODULES | ❌ | Módulos habilitados: document, task, calendar, member, all. task/calendar/member requieren autenticación de usuario | document |
FEISHU_USER_KEY | ❌ | Identificador de usuario en modo stdio/CLI; se puede configurar mediante feishu-tool config set FEISHU_USER_KEY <value> o el parámetro de línea de comandos --user-key | stdio |
FEISHU_REQUIRE_USER_KEY | ❌ | Si se exige explícitamente una user-key en el modo de autenticación user. Por defecto se mantiene la compatibilidad; en escenarios HTTP/de intermediación multiusuario se recomienda configurar como true | false |
FEISHU_ENCRYPTION_KEY | ❌ | Clave de cifrado para campos sensibles de la caché de tokens. Cualquier cadena; el sistema deriva automáticamente la clave de cifrado mediante SHA-256. Una vez configurada, campos sensibles como access_token, refresh_token y client_secret se almacenarán cifrados. En implementaciones con Docker se recomienda configurar una clave fija | - |
MCP_BEARER_TOKEN | ❌ | Token de autenticación Bearer del MCP. Una vez configurado, todos los endpoints HTTP/SSE/StreamableHTTP exigirán el encabezado Authorization: Bearer <token> en las solicitudes; si no se configura, la autenticación no está habilitada. Se recomienda usar cadenas aleatorias como UUID | - |
Descripción de los módulos funcionales
| Módulo | Descripción | Requisito de autenticación |
|---|---|---|
document | Documentos, carpetas, búsqueda, etc. | tenant / user |
task | CRUD de tareas | Solo user |
calendar | Calendario (en desarrollo) | Solo user |
member | Consulta de información de usuarios | Solo user |
all | Habilitar todos los módulos | Con user, se cargan todos |
Método de archivo de configuración (adecuado para Cursor, Cline, etc.)
Modo stdio (recomendado)
{
"mcpServers": {
"feishu-mcp": {
"command": "npx",
"args": ["-y", "feishu-mcp@latest", "--stdio"],
"env": {
"FEISHU_APP_ID": "<你的飞书应用ID>",
"FEISHU_APP_SECRET": "<你的飞书应用密钥>",
"FEISHU_AUTH_TYPE": "<tenant/user>",
"FEISHU_ENABLED_MODULES": "document,task",
"FEISHU_USER_KEY": "<你的用户标识>"
}
}
}
}
Modo SSE
{
"mcpServers": {
"feishu_local": {
"url": "http://localhost:3333/sse?userKey=123456"
}
}
}
Modo HTTP Streamable
{
"mcpServers": {
"feishu_streamable": {
"url": "http://localhost:3333/mcp?userKey=123456"
}
}
}
Autenticación Bearer Token (opcional)
Cuando se configura la variable de entorno MCP_BEARER_TOKEN, todos los endpoints HTTP/SSE/StreamableHTTP exigirán que las solicitudes incluyan el encabezado Authorization: Bearer <token>. Adecuado para escenarios de implementación en redes públicas, para evitar accesos no autorizados.
Ejemplo de configuración:
# .env 文件
MCP_BEARER_TOKEN=your-secret-token-here
Ejemplo de configuración del cliente (modo SSE + autenticación Bearer):
⚠️ Actualmente, la mayoría de los clientes MCP (como Cursor, Cline) no admiten encabezados personalizados en conexiones SSE/StreamableHTTP. Si necesitas usar autenticación Bearer, asegúrate de que tu cliente admita el encabezado
Authorization, o usa un proxy inverso (como Nginx) para la autenticación previa en el servidor.
Para clientes que admiten encabezados personalizados o llamadas API:
# SSE 连接示例
curl -H "Authorization: Bearer your-secret-token-here" http://localhost:3333/sse?userKey=123456
# StreamableHTTP 请求示例
curl -X POST -H "Authorization: Bearer your-secret-token-here" -H "Content-Type: application/json" http://localhost:3333/mcp?userKey=123456
⚠️ Aviso importante: el userKey en la URL representa el identificador del usuario conectado. Es una configuración muy importante; complétala y hazla lo más aleatoria posible.
Formas de transmitir userKey: se admiten dos formas de transmitir el identificador de usuario:
- Parámetro de consulta en la URL:
?userKey=123456(recomendado, configuración simple) - Encabezado de solicitud:
user-key: 123456(adecuado para escenarios donde se necesita ocultar parámetros)
📝 Consejos de uso (importante)
-
Se recomienda especificar una carpeta:
Al crear un nuevo documento, se recomienda proporcionar activamente el token de la carpeta de Feishu (puede ser una carpeta específica o la carpeta raíz), para localizar y gestionar los documentos de manera más eficiente. Si no estás seguro de la subcarpeta específica, puedes permitir que el LLM busque automáticamente el subdirectorio más adecuado bajo la carpeta que especifiques para crear el nuevo documento.
¿Cómo obtener el token de la carpeta? Abre la página de la carpeta en Feishu, copia el enlace (por ejemplo,
https://.../drive/folder/xxxxxxxxxxxxxxxxxxxxxx); el token es la última cadena de caracteres del enlace (por ejemplo,xxxxxxxxxxxxxxxxxxxxxx; no compartas el token real). -
Instrucciones sobre la ruta de carga de imágenes:
Al ejecutar el MCP localmente, la ruta de la imagen admite tanto rutas absolutas locales como imágenes de red http/https; en un entorno de servidor, solo se admiten enlaces de imágenes de red (debido a la limitación de longitud de parámetros al invocar el MCP desde cursor, no se admite la carga directa del archivo de imagen; usa la ruta de la imagen o un enlace para cargarla).
-
Instrucciones de uso de fórmulas:
En un bloque de texto se pueden mezclar texto normal y elementos de fórmula. Las fórmulas usan sintaxis LaTeX, por ejemplo:
1+2=3,\frac{a}{b},\sqrt{x}, etc. Se admite incluir múltiples fórmulas y texto normal en el mismo bloque de texto. -
Uso de la autenticación de usuario de Feishu:
La autenticación de usuario y la autenticación de tenant se diferencian al agregar permisos, por lo que al cambiar por primera vez de tenant a user, debes prestar atención a los permisos configurados; para distinguir entre diferentes usuarios, es necesario transmitir el identificador de usuario userKey, que admite dos formas:
- Parámetro de consulta en la URL: agrega
?userKey=123456a la URL del servidor MCP - Encabezado de solicitud: transmite el encabezado
user-key: 123456
Este valor es el identificador único del usuario, por lo que es mejor que sea lo más aleatorio posible al configurarlo
- Parámetro de consulta en la URL: agrega
-
Se recomienda encarecidamente usar la autenticación de usuario:
La autenticación de tenant tiene muchas limitaciones, como permisos de acceso a archivos, compatibilidad con la API abierta de Feishu (no admite la búsqueda de documentos wiki), registros de creación y edición de documentos, etc., en comparación con la autenticación de usuario.
-
Funciones de tareas e información de usuarios:
¿Quieres que la IA te ayude a gestionar tareas de Feishu (listar pendientes, crear tareas, asignar responsables) o buscar información de colegas? Necesitas dos pasos: ① usar autenticación de usuario (estas capacidades no están disponibles en modo tenant); ② configurar
FEISHU_ENABLED_MODULES=document,tasken la configuración. Al habilitar task, la función de consulta de usuarios estará disponible automáticamente, sin configuración adicional. -
Uso de la versión internacional de Lark:
La versión nacional de Feishu no requiere configuración adicional. Si tu equipo usa Lark internacional o un servicio de Feishu autogestionado, necesitas configurar adicionalmente:
FEISHU_BASE_URL=https://open.larksuite.com/open-apis FEISHU_AUTH_BASE_URL=https://accounts.larksuite.com -
Separación de acceso por red interna y devolución de llamada externa:
Si el cliente MCP accede al servicio mediante una dirección de red interna (por ejemplo,
http://feishu-mcp:3333/mcp), pero la devolución de llamada de OAuth de Feishu debe usar un dominio público, puedes configurar adicionalmente:FEISHU_PUBLIC_BASE_URL=https://somo-feishu-mcp.yfgao.netDe esta manera, el cliente puede seguir conectándose a la dirección de red interna, mientras que el enlace de autorización devuelto al usuario usará
https://somo-feishu-mcp.yfgao.net/callbackcomo dirección de devolución de llamada. -
Cambio dinámico de userKey en arquitecturas de intermediación multiusuario:
En arquitecturas de intermediación multiusuario, el sistema utiliza herramientas de gestión integradas para actuar como proxy unificado del servicio MCP de Feishu. Dado que las instancias del servicio MCP subyacente se reutilizan a nivel de sesión, las solicitudes de diferentes usuarios se ejecutan en realidad en un contexto de sesión compartido. Por lo tanto, el sistema debe admitir el cambio dinámico basado en el
user-keytransmitido mediante encabezados de solicitud, para lograr el aislamiento de identidades de los inquilinos y la inyección de contexto, satisfaciendo así las necesidades de acceso concurrente de múltiples usuarios.Cómo cambiar userKey:
- En el modo HTTP Streamable, las solicitudes posteriores pueden actualizar dinámicamente el identificador de usuario de la sesión actual transmitiendo el encabezado
user-key - Forma de transmisión: agrega
user-key: <新的用户标识>al encabezado de la solicitud - Ejemplo de escenario: cuando el usuario A completa sus operaciones, la solicitud del usuario B lleva
user-key: userB, y el sistema cambiará automáticamente la sesión al contexto del usuario B
Nota: esta función solo es válida en el modo HTTP Streamable; los modos SSE y stdio no admiten el cambio dinámico.
- En el modo HTTP Streamable, las solicitudes posteriores pueden actualizar dinámicamente el identificador de usuario de la sesión actual transmitiendo el encabezado
🚨 Solución de problemas
Solución de problemas de permisos
Primero revisa los problemas de configuración: tutorial paso a paso FEISHU_CONFIG.md.
Confirmación del problema
- Verifica los permisos de la aplicación: asegúrate de que la aplicación haya obtenido los permisos necesarios de acceso a documentos.
- Verifica la autorización del documento: confirma que el documento objetivo haya sido autorizado a la aplicación o al grupo donde se encuentra la aplicación.
- Verifica el alcance disponible: asegúrate de que el alcance disponible de la versión publicada de la aplicación incluya al propietario del documento.
Verificación y solución de problemas de permisos
- Obtén el token: obtener app_access_token para aplicaciones autoconstruidas
- Usa el token obtenido en el paso 1 para verificar si tienes permiso para acceder al documento: obtener información básica del documento
Problemas comunes
- No se encuentra la aplicación: verifica si la aplicación está publicada y si el alcance disponible está configurado correctamente.
- Permisos insuficientes: consulta las preguntas frecuentes sobre documentos en la nube
- Problemas de acceso a la base de conocimiento: consulta las preguntas frecuentes sobre la base de conocimiento
📚 Wiki para desarrolladores
Documentación de desarrollo detallada y guías técnicas, que brindan orientación integral para estudiantes y contribuyentes:
- Página principal del Wiki - Índice completo de documentación y navegación rápida
- Diseño de arquitectura - Descripción general de la arquitectura y la pila tecnológica
- Detalle de los módulos principales - Detalles de implementación y ejemplos de código de cada módulo
- Autenticación y autorización - Gestión de tokens y mecanismo de soporte multiusuario
- Guía para desarrolladores - Configuración del entorno, flujo de desarrollo, técnicas de depuración
- Referencia de API - Documentación detallada de todas las funciones de las herramientas
- Mejores prácticas - Estándares de código, optimización de rendimiento, prácticas de seguridad
- Implementación del protocolo MCP - Explicación detallada del protocolo MCP e implementación de la capa de transporte
💖 Apoya el proyecto
Si este proyecto te ha sido útil, considera:
- ⭐ Darle una estrella al proyecto
- 🐛 Reportar errores y problemas
- 💡 Proponer sugerencias de nuevas funciones
- 📖 Mejorar la documentación
- 🔀 Enviar solicitudes de extracción (Pull Requests)
¡Tu apoyo es nuestra motivación para avanzar!