Feishu Project Management
STDIOMCP server for interacting with Feishu project management system via API.
MCP server for interacting with Feishu project management system via API.
基于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
文件:
在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(如果尚未安装) 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的Postman集合,位于docs/open-api-postman
目录下,将目录下文件导入Postman可以进行快速调试飞书项目接口:
postman_environment.json
:Postman环境变量配置postman_collection.json
:Postman API集合本项目提供了Docker部署支持,可以通过Docker容器运行MCP飞书项目服务。
.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 -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部署文档。
首先,需要创建包含敏感信息的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部署文档。
欢迎贡献代码、报告问题或提出改进建议。请遵循以下步骤:
git checkout -b feature/amazing-feature
)git commit -m 'Add some amazing feature'
)git push origin feature/amazing-feature
)本项目采用MIT许可证。详情请参阅LICENSE文件。