Skip to main content
Glama
im47cn

Feishu Project MCP Server

by im47cn
feishu-project-mcp-adr.md3.39 kB
# 架构决策记录 (ADR) - 智能研发流程管理系统 ## ADR 1: 使用MCP服务架构 ### 状态 已接受 ### 背景 需要设计一个系统,能够与LLM交互,实现从需求分析到代码提交的全流程自动化。 ### 决策 采用MCP (Model Context Protocol)服务架构,将系统实现为一个可被LLM调用的工具服务。 ### 理由 1. MCP是一种标准协议,允许LLM与外部工具交互 2. 通过MCP,系统可以提供结构化的工具接口给LLM 3. LLM可以根据需要调用系统提供的工具,实现复杂的交互流程 4. 这种架构使系统能够充分利用LLM的能力,同时提供专业的外部功能 ### 影响 1. 系统需要实现MCP服务规范 2. 需要设计合适的工具接口供LLM调用 3. 系统与LLM的交互将通过stdio进行 ## ADR 2: 采用管道过滤器架构模式 ### 状态 已接受 ### 背景 系统需要处理从需求获取到代码提交的一系列步骤,每个步骤相对独立但有明确的顺序关系。 ### 决策 采用管道过滤器架构模式,将处理流程分解为一系列独立的处理步骤,数据在各步骤间流动。 ### 理由 1. 系统处理流程明确,从需求获取到代码提交有清晰的步骤 2. 各处理步骤相对独立,可以独立开发和测试 3. 数据流向清晰,便于跟踪和调试 4. 便于实现断点续传和状态保存机制 5. 符合MCP的工作方式,可以将各步骤封装为独立的MCP命令 ### 影响 1. 系统组件将按照处理流程进行划分 2. 需要设计清晰的数据传递机制 3. 需要管理各步骤间的状态转换 ## ADR 3: 使用本地文件存储任务状态 ### 状态 已接受 ### 背景 系统需要支持断点续传和状态保存,以便在处理长时间运行的任务时能够恢复。 ### 决策 使用本地文件存储任务状态,保存在项目文档目录中。 ### 理由 1. 简单易实现,无需额外的数据库依赖 2. 对于预期的使用场景,本地文件存储足够满足需求 3. 便于调试和问题排查 4. 符合系统作为本地服务运行的定位 ### 影响 1. 需要设计合适的文件存储结构 2. 需要处理文件读写的并发问题 3. 系统迁移时需要考虑状态文件的迁移 ## ADR 4: 集成现有的Git/Github/Gitlab MCP服务 ### 状态 已接受 ### 背景 系统需要与代码仓库交互,提交代码和创建PR。 ### 决策 集成现有的Git/Github/Gitlab MCP服务,而不是自己实现这些功能。 ### 理由 1. 避免重复实现已有功能 2. 利用现有MCP服务的稳定性和功能完整性 3. 减少开发工作量 4. 便于未来升级和维护 ### 影响 1. 需要设计LLM如何调用这些MCP服务的机制 2. 需要处理不同MCP服务的差异 3. 系统依赖于这些外部MCP服务的可用性 ## ADR 5: 使用TypeScript和Node.js实现 ### 状态 已接受 ### 背景 需要选择合适的技术栈实现系统。 ### 决策 使用TypeScript和Node.js实现系统。 ### 理由 1. TypeScript提供强类型系统,有助于开发复杂的应用程序 2. Node.js适合开发网络应用和命令行工具 3. 丰富的库和工具生态系统 4. 与MCP SDK的良好兼容性 5. 开发效率高,易于维护 ### 影响 1. 需要配置TypeScript编译环境 2. 需要管理Node.js依赖 3. 需要考虑JavaScript运行时的特性和限制

Latest Blog Posts

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/im47cn/feishu-project-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server