DeepSeek 导航网:MCP-飞书项目管理工具基于 MCP(Model Context Protocol)协议的飞书项目管理工具,允许 AI 助手通过 MCP 协议与飞书项目管理系统进行交互。
项目简介
本项目是一个 MCP 服务器实现,它封装了飞书项目管理的 Open API ,使 AI 助手能够获取飞书项目的视图列表、视图详情等信息。通过这个工具, AI 助手可以帮助用户管理和查询飞书项目中的工作项。
使用方法
在支持 MCP 协议的客户端(如Claude 桌面客户端,Cursor,Cline等)的配置文件中添加本服务器。
更多 MCP 客户端可参考:https://modelcontextprotocol.io/clients
以 Claude 桌面客户端为例,编辑claude_desktop_config.json
文件:
- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
- Windows: %APPDATA%\Claude\claude_desktop_config.json
在mcpServers
字段中添加以下配置:
{
"mcpServers": {
"feishuproj": {
"command": "uvx",
"args": ["mcp-feishu-proj@latest","--transport", "stdio"],
"env": {
"FS_PROJ_PROJECT_KEY": "your_project_key",
"FS_PROJ_USER_KEY": "your_user_key",
"FS_PROJ_PLUGIN_ID": "your_plugin_id",
"FS_PROJ_PLUGIN_SECRET": "your_plugin_secret"
}
}
}
}
开发环境配置
- 克隆本仓库:
git clone https://github.com/yourusername/mcp-feishu-proj.git
cd mcp-feishu-proj
- 安装依赖(使用 uv):
# 安装 uv(如果尚未安装)
pip install uv
# 创建虚拟环境并安装依赖
uv venv
uv pip install -e .
配置说明
- 复制环境变量示例文件并进行配置:
cp .env.example .env
- 编辑
.env
文件,填入以下必要的配置信息:
FS_PROJ_BASE_URL=https://project.feishu.cn/
FS_PROJ_PROJECT_KEY=your_project_key
FS_PROJ_USER_KEY=your_user_key
FS_PROJ_PLUGIN_ID=your_plugin_id
FS_PROJ_PLUGIN_SECRET=your_plugin_secret
其中:
FS_PROJ_BASE_URL
:飞书项目 API 的基础 URL ,默认为https://project.feishu.cn/FS_PROJ_PROJECT_KEY
:飞书项目的标识FS_PROJ_USER_KEY
:用户标识FS_PROJ_PLUGIN_ID
:飞书项目 Open API 的插件 IDFS_PROJ_PLUGIN_SECRET
:飞书项目 Open API 的插件密钥
添加新功能
要添加新的飞书项目 API 功能,请按照以下步骤操作:
- 在
fsprojclient.py
中添加新的 API 方法 - 在
server.py
中使用@mcp.tool
装饰器注册新的 MCP 工具
飞书项目 Open API 参考
本项目包含了飞书项目 Open API 的 Postman 集合,位于docs/open-api-postman
目录下,将目录下文件导入 Postman 可以进行快速调试飞书项目接口:
postman_environment.json
:Postman 环境变量配置postman_collection.json
:Postman API 集合
容器化部署指南
Docker 部署
本项目提供了 Docker 部署支持,可以通过 Docker 容器运行 MCP 飞书项目服务。
前提条件
- 安装 Docker
- 安装 Docker Compose
使用 Docker Compose 运行
- 创建
.env
文件,设置必要的环境变量
cp .env.example .env
然后编辑.env
文件,填入你的飞书项目相关信息:
FS_PROJ_BASE_URL=https://project.feishu.cn/
FS_PROJ_PROJECT_KEY=your_project_key
FS_PROJ_USER_KEY=your_user_key
FS_PROJ_PLUGIN_ID=your_plugin_id
FS_PROJ_PLUGIN_SECRET=your_plugin_secret
- 使用 Docker Compose 启动服务
docker-compose -f docker/docker-compose.yml up -d
这将使用ghcr.io/astral-sh/uv
镜像,并挂载项目根目录到容器中,直接运行本地代码,便于开发和调试。 Docker Compose 会自动加载项目根目录中的.env
文件作为环境变量。
- 查看日志
docker-compose -f docker/docker-compose.yml logs -f
- 停止服务
docker-compose -f docker/docker-compose.yml down
更多详细信息请参阅Docker 部署文档。
Kubernetes 部署
前提条件
- 一个可用的 Kubernetes 集群
- 已安装 kubectl 命令行工具
- 具有创建 Deployment、ConfigMap 和 Secret 的权限
部署步骤
- 准备 Secret
首先,需要创建包含敏感信息的 Secret 。由于 Kubernetes Secret 需要使用 base64 编码的值,您需要对敏感信息进行编码:
# 对敏感信息进行 base64 编码
echo -n "your_project_key" | base64
echo -n "your_user_key" | base64
echo -n "your_plugin_id" | base64
echo -n "your_plugin_secret" | base64
然后,使用生成的 base64 编码值更新k8s-secret.yaml
文件中的相应字段。
- 应用配置
依次应用以下配置文件:
# 创建 ConfigMap
kubectl apply -f k8s-configmap.yaml
# 创建 Secret
kubectl apply -f k8s-secret.yaml
# 创建 Deployment
kubectl apply -f k8s-deployment.yaml
- 验证部署
检查部署状态:
# 查看 Deployment 状态
kubectl get deployments
# 查看 Pod 状态
kubectl get pods
# 查看 Pod 日志
kubectl logs -f <pod-name>
更多详细信息请参阅Kubernetes 部署文档。
贡献指南
欢迎贡献代码、报告问题或提出改进建议。请遵循以下步骤:
- Fork 本仓库
- 创建您的特性分支 (
git checkout -b feature/amazing-feature
) - 提交您的更改 (
git commit -m 'Add some amazing feature'
) - 推送到分支 (
git push origin feature/amazing-feature
) - 创建一个 Pull Request
许可证
本项目采用 MIT 许可证。详情请参阅LICENSE文件。
支持发送和接收钉钉/钉钉消息通知