Feishu MCP Server
Un servidor MCP con autenticación OAuth integrada de Feishu, desplegable en Cloudflare Workers.
Documentación
Feishu MCP Server
Este es un servidor de Protocolo de Contexto de Modelo (MCP) que admite conexión remota, con autenticación OAuth de Feishu integrada.
Este proyecto se basa en cloudflare/ai/demos/remote-mcp-github-oauth, reemplazando el OAuth de GitHub por el OAuth de Feishu.
Puede implementarlo en su propia cuenta de Cloudflare y, después de crear su propia aplicación cliente OAuth de Feishu, tendrá un servidor MCP remoto completamente funcional. Los usuarios pueden conectarse a su servidor MCP iniciando sesión con su cuenta de Feishu.
📋 Índice
- Diferencias con el servidor MCP oficial de Feishu
- Características
- Inicio rápido
- Métodos de implementación
- Integración de clientes
- Control de acceso
- Hoja de ruta de desarrollo de herramientas
- Principios técnicos
- Guía de desarrollo
🆚 Diferencias con el servidor MCP oficial de Feishu
Aunque Feishu oficial también ha lanzado un servidor MCP, este proyecto tiene ventajas significativas en los siguientes aspectos:
🎯 Experiencia de configuración cero
- Este proyecto: los usuarios no necesitan configurar ningún parámetro manualmente, utiliza
user_access_tokenen todo momento, con renovación automática al expirar - Proyecto oficial: requiere que los usuarios configuren múltiples parámetros manualmente, configuración compleja
🚀 Optimización extrema de usabilidad
- Este proyecto: optimiza profundamente el tamaño y la estructura de las herramientas, especialmente funciones complejas como la herramienta de creación de bloques de documentos y la herramienta de creación de bloques anidados, garantizando su correcto funcionamiento en clientes como Cursor
- Proyecto oficial: simple conversión de API a herramientas MCP, algunas herramientas son demasiado grandes y tienen problemas de usabilidad en la práctica
🌐 Infraestructura de vanguardia
- Admite implementación en Cloudflare Workers, disfrutando de la infraestructura de computación en el borde más avanzada de la industria
✨ Características
- 🎯 Experiencia de configuración cero: los usuarios no necesitan configurar parámetros manualmente, gestión automática de
user_access_tokeny renovación - 🔐 Autenticación OAuth de Feishu: verificación segura de identidad de usuario
- 🌐 Servidor MCP remoto: admite conexiones de múltiples clientes
- 🚀 Cloudflare Workers: alto rendimiento, implementación distribuida globalmente, disfrutando de la infraestructura de computación en el borde más avanzada de la industria
- 🛠️ Conjunto de herramientas profundamente optimizado: optimiza especialmente herramientas complejas como creación de documentos y bloques anidados, garantizando su correcto funcionamiento en varios clientes
- 🔧 Soporte de desarrollo local: entorno local para facilitar el desarrollo y las pruebas
- ⚡ Usabilidad extrema: en comparación con el servidor MCP oficial, mejora significativamente la experiencia de uso real y la estabilidad
🚀 Inicio rápido
Requisitos previos
- Node.js 18+ y npm
- Cuenta de Cloudflare
- Cuenta de la plataforma abierta de Feishu
Instalación
# 克隆仓库
git clone <repository-url>
cd open-feishu-mcp-server
# 安装依赖
npm install
🚀 Métodos de implementación
Implementación en producción
Paso 1: Crear una aplicación de Feishu
- Visite la plataforma abierta de Feishu e inicie sesión
- Haga clic en "Centro de desarrolladores" y cree una nueva aplicación
- Configure los permisos en la configuración de la aplicación:
- Vaya a "Permisos y funciones" y agregue los siguientes permisos:
-
"Obtener ID de usuario" (auth:user.id:read)
-
"Obtener información de tareas del usuario" (task:task:read)
-
"Obtener credenciales de autorización del usuario" (offline_access)
-
"Obtener información básica del usuario" (user_profile)
...
-
- Vaya a "Permisos y funciones" y agregue los siguientes permisos:
- Anote su ID de aplicación y secreto de aplicación
Paso 2: Configurar el entorno de Cloudflare
# 设置必要的密钥
wrangler secret put FEISHU_APP_ID
wrangler secret put FEISHU_APP_SECRET
wrangler secret put COOKIE_ENCRYPTION_KEY # 使用 openssl rand -hex 32 生成
# 创建 KV 命名空间
wrangler kv namespace create "OAUTH_KV"
Paso 3: Actualizar el archivo de configuración
Utilice el ID de KV obtenido en el paso 2 para actualizar la configuración del espacio de nombres KV en el archivo wrangler.toml.
Paso 4: Implementar el servidor
npm run deploy
Una vez completada la implementación, anote su subdominio real (se mostrará en los registros de implementación).
Paso 5: Configurar la URL de redirección
Vuelva a la configuración de la aplicación de Feishu:
- Vaya a "Configuración de seguridad"
- Agregue la URL de redirección:
https://feishu-mcp-server.<your-actual-subdomain>.workers.dev/callback
Entorno de desarrollo local
Configurar el entorno local
-
Configurar la aplicación de Feishu:
- En la "Configuración de seguridad" de la aplicación de Feishu, agregue:
http://localhost:8788/callback - Asegúrese de tener los permisos necesarios (igual que en producción)
- En la "Configuración de seguridad" de la aplicación de Feishu, agregue:
-
Crear el archivo de variables de entorno: Cree el archivo
.dev.varsen el directorio raíz del proyecto:FEISHU_APP_ID=your_development_feishu_app_id FEISHU_APP_SECRET=your_development_feishu_app_secret COOKIE_ENCRYPTION_KEY=any_random_string_here
Iniciar el servidor local
npm run dev
El servidor se ejecutará en http://localhost:8788.
🔌 Integración de clientes
Pruebas con Inspector
Utilice el MCP Inspector oficial para probar su servidor:
npx @modelcontextprotocol/inspector@latest
Dirección de conexión:
- Entorno de producción:
https://feishu-mcp-server.<your-subdomain>.workers.dev/sse - Entorno local:
http://localhost:8788/sse
Uso con Cursor
Configuración rápida mediante el botón de instalación con un clic:
O configuración manual:
{
"mcpServers": {
"feishu": {
"url": "http://localhost:8788/sse"
}
}
}
Uso con ChatWise
-
Pasos de configuración:
- Abra la interfaz de configuración de ChatWise
- Navegue a las opciones de herramientas
- Agregue entrada/salida de línea de comandos (stdio)
- Comando:
npx -y mcp-remote ${URL}
-
Dirección de conexión:
- Local:
http://localhost:8788/sse - Producción:
https://feishu-mcp-server.<your-subdomain>.workers.dev/sse
- Local:
-
Primer uso:
- Después de guardar la configuración, se abrirá automáticamente la página de inicio de sesión OAuth de Feishu
- Una vez completada la autorización, podrá usar las funciones relacionadas con Feishu
🔐 Control de acceso
- Autenticación: verificación de identidad de usuario mediante OAuth de Feishu
- Alcance de permisos: todos los usuarios de Feishu autenticados pueden acceder a todas las herramientas
📋 Hoja de ruta de desarrollo de herramientas
🚧 En desarrollo actual (Documentos de Feishu)
- 🔧 Herramientas auxiliares de desarrollo
- ✅ Búsqueda y recuperación de contenido de documentos de desarrollo
- 📄 Operaciones básicas de documentos
- ✅ Obtención de la estructura de árbol de bloques de documentos
- ✅ Obtención del esquema de parámetros de creación de tipos de bloques
- ✅ Creación de bloques de documentos (admite varios tipos de bloques)
- ✅ Actualización del contenido de bloques de documentos
- ✅ Eliminación masiva de bloques de documentos
- 🔧 Funciones avanzadas de documentos
- ✅ Creación y operación de tablas
- ✅ Carga e inserción de imágenes, videos y archivos
- ✅ Función de importación de Markdown
- ✅ Carga y gestión de materiales
- ✅ Búsqueda de documentos
🎯 Planes futuros
-
📊 Hojas de cálculo (Sheets)
- 📋 Operaciones básicas de hojas de trabajo (crear, eliminar, renombrar)
- 📋 Lectura y escritura de datos de celdas
- 📋 Cálculo y aplicación de fórmulas
- 📋 Creación y edición de gráficos
- 📋 Filtrado y ordenación de datos
- 📋 Colaboración y gestión de permisos
-
🗃️ Tablas multidimensionales (Base/Bitable)
- 📋 Operaciones básicas de tablas de datos
- 📋 Creación, eliminación, actualización y consulta de registros
- 📋 Gestión de tipos de campos
- 📋 Creación y configuración de vistas
- 📋 Configuración de reglas de automatización
- 📋 Importación y exportación de datos
...
Leyenda: ✅ Completado | 🔄 En desarrollo | 📋 Planificado
🛠️ Principios técnicos
Componentes de la arquitectura
OAuth Provider
Implementación completa del servidor OAuth 2.1, que maneja:
- Autenticación de clientes MCP
- Gestión de conexión del servicio OAuth de Feishu
- Gestión segura de tokens en el almacenamiento KV
Durable MCP
Extensión MCP basada en Cloudflare Durable Objects:
- Gestión de estado persistente
- Almacenamiento de contexto de autenticación
- Acceso a información de usuario mediante
this.props - Disponibilidad condicional de herramientas según la identidad del usuario
MCP Remote
Admite conexiones de clientes MCP remotos:
- Define el protocolo de comunicación cliente-servidor
- Proporciona una forma estructurada de definir herramientas
- Maneja la serialización de solicitudes/respuestas
- Mantiene conexiones SSE
👨💻 Guía de desarrollo
Servidor MCP (impulsado por Cloudflare Workers)
Este proyecto implementa un doble rol OAuth:
- Actúa como servidor OAuth para clientes MCP
- Actúa como cliente OAuth para el servicio OAuth de Feishu
Desarrollo de herramientas
Las herramientas actuales utilizan tokens de acceso de usuario para la autenticación, garantizando:
- Acceso seguro a la API de Feishu
- Acceso a funciones basado en permisos de usuario
- Manejo completo de errores y registro de actividades
📝 Nota: asegúrese de configurar correctamente todas las variables de entorno y la configuración de la aplicación de Feishu antes de la implementación. Si encuentra problemas, verifique la configuración de permisos de la aplicación de Feishu y la configuración de la URL de redirección.