README
🚀 线性 MCP 集成服务器
线性 MCP 集成服务器通过模型上下文协议 (MCP) 提供线性集成功能,允许 AI 模型与 Linear 进行交互,用于问题跟踪和项目管理。
🚀 快速开始
此服务器可通过以下步骤进行开发设置和部署:
开发设置
- 克隆仓库。
- 安装依赖项:
npm install - 创建
.env文件并添加 Linear API 密钥:LINEAR_API_KEY=your_api_key_here - 运行服务器:
npm run dev
Smithery 部署
此服务器可部署于 Smithery.ai,使用提供的配置文件。
先决条件
- Smithery 账户
- Linear API 密钥
部署步骤
- 添加此仓库到 Smithery 或 claim 已有服务。
- 访问部署选项卡(仅限认证所有者)。
- 配置部署参数,设置 Linear API 密钥。
- 发布服务器。
本地测试
- 构建 Docker 镜像:
docker build -t linear-mcp-server . - 运行容器并设置环境变量:
docker run -e LINEAR_API_KEY=your_api_key_here linear-mcp-server - 或使用 MCP 检查工具:
npm run inspect
✨ 主要特性
该服务器通过 MCP 接口提供以下工具:
linear_create_issue
创建新的 Linear 问题,支持以下参数:
title(必需):问题标题teamId(必需):要创建问题的团队 IDdescription(可选):问题描述labels(可选):问题标签列表
linear_list_issues
列出指定团队的所有问题,支持以下参数:
teamId(必需):目标团队 IDfilter(可选):过滤条件(如状态、标签等)
linear_get_issue
获取单个问题的详细信息,支持以下参数:
teamId(必需):目标团队 IDissueId(必需):要获取的问题 ID
linear_update_issue
更新现有问题的信息,支持以下参数:
teamId(必需):目标团队 IDissueId(必需):要更新的问题 IDtitle(可选):新标题description(可选):新描述labels(可选):新标签列表
linear_delete_issue
删除指定问题,支持以下参数:
teamId(必需):目标团队 IDissueId(必需):要删除的问题 ID
🔧 技术细节
项目架构
- 使用 TypeScript 编写,确保代码的强类型和可维护性。
- 基于 Linear SDK 构建,提供对 Linear API 的封装和支持。
- 配合 MCP 协议,实现与 AI 模型的无缝交互。
核心功能
- 问题创建、读取、更新和删除操作。
- 团队间的问题隔离与权限控制。
- 支持自定义过滤器和排序逻辑。
- 提供详细的错误处理和日志记录。
📈 性能与可靠性
缓存系统
- 使用内存缓存加速频繁访问的操作。
- 设置合理的过期时间,平衡一致性和性能。
- 支持手动刷新缓存以确保数据一致性。
错误处理
- 全面的错误捕捉和处理机制。
- 友好的错误信息反馈。
- 自动重试策略应对临时性故障。
性能优化
- 线程池与连接池管理。
- 并发请求的负载均衡。
- 效率优化的数据访问模式。
- 分页机制处理大数量集。
📦 依赖项
@linear/sdk:Linear API 客户端库@modelcontextprotocol/sdk:MCP 服务器实现zod:运行时类型检查与验证dotenv:环境变量管理工具- TypeScript 开发套件及相关工具
完整的依赖列表请查看 package.json。
📚 详细文档
配置文件
Dockerfile
定义了服务器的构建流程:
- 使用 Node.js 18 Alpine 作为基础镜像。
- 安装依赖项并构建 TypeScript 代码。
- 设置运行命令。
smithery.yaml
配置服务器启动参数:
- 指定运行命令。
- 定义所需配置参数(Linear API 密钥)。
- 管理环境变量。
Scan to contact