使用说明
线性MCP集成服务器
此服务器通过模型上下文协议(MCP)提供线性集成功能。它允许AI模型与Linear进行交互,以进行问题跟踪和项目管理。
特性
服务器通过MCP接口提供以下工具:
linear_create_issue
使用以下参数创建新的线性问题:
title(必填):发行标题teamId(必需):在中创建问题的团队IDdescription(可选):问题描述(支持markdown)priority(可选):优先级(0-4)status(可选):初始状态名称
线性搜索问题
具有灵活过滤和分页支持的搜索线性问题:
query(可选):在标题/描述中搜索的文本teamId(可选):按团队筛选status(可选):按状态筛选assigneeId(可选):按受让人筛选priority(可选):优先级(0-4)limit(可选,默认值:10):每页最大结果数cursor(可选):用于获取下一页的分页光标sortBy(可选,默认值:“updated”):要排序的字段(“created”、“updateed”、“priority”、“title”)sortDirection(可选,默认:“desc”):排序方向(“asc”,“desc“)
线性_冲刺_问题
获取当前sprint/迭代中的所有问题:
teamId(必填):获取sprint问题的团队ID
linear_search_teams
搜索和检索线性团队:
query(可选):在团队名称中搜索的文本
linear_filter_sprint_issues
按状态筛选当前冲刺问题,并自动筛选到当前用户:
teamId(必填):获取sprint问题的团队IDstatus(必填):要筛选的状态(例如“待定产品发布”)
linear_get_issue_details
获取有关特定问题的详细信息,包括完整描述、注释和元数据:
issueId(必填):用于获取详细信息的问题ID(例如“DATA-1284”)
linear_bull_update_status
一次更新多个线性问题的状态:
issueIds(必填):要更新的问题ID列表(例如[“ENG-123”,“DATA-456”])targetStatus(必填):为所有问题设定目标状态(例如“进行中”)
线性管理周期
创建、更新或获取有关线性周期(冲刺)的信息:
action(必填):要执行的操作:“创建”、“更新”、“获取”或“列表”teamId(必填):用于管理周期的团队IDcycleId(可选,更新和获取操作所必需):循环IDname(可选,创建时必需):周期名称startDate(可选,创建时需要):ISO格式的开始日期(YYYY-MM-DD)endDate(可选,创建时需要):ISO格式的结束日期(YYYY-MM-DD)description(可选):循环描述
开发人员设置
- 从Linear的设置>API部分获取您的Linear API密钥
- 创建一个
.env项目根目录中的文件:
LINEAR_API_KEY=your_api_key_here
- 安装依赖项:
npm install
- 启动服务器:
# Development mode with auto-reload
npm run dev
# Production mode
npm start
# Build TypeScript
npm run build
# Run linter
npm run lint
# Run tests
npm run test
# Inspect MCP server
npm run inspect
技术细节
- 使用TypeScript和模型上下文协议SDK构建
- 使用线性SDK进行API交互
- 包括错误处理、速率限制和连接管理
- 支持通过可配置的重试尝试自动重新连接
- 实现连接健康状况的心跳监控
- 在调试模式下提供详细的日志记录
- 具有内存缓存系统,可提高性能
- 支持分页以处理大型结果集
- 对批量操作实施批处理
性能和可靠性
该服务器具有全面的性能和可靠性功能:
缓存系统
- 对频繁访问的数据(团队、工作流状态)进行内存缓存
- 缓存条目的可配置TTL(生存时间)
- 自动清理过期的缓存条目
- 调试模式下可用的缓存统计信息
错误处理
- API超时保护,可配置超时
- 连接丢失时自动重新连接尝试
- 带有时间戳和上下文的详细错误日志记录
- 优雅的停机处理和清理
- 连接健康状况的心跳监测
性能优化
- 批量操作的批处理
- 对大型结果集的分页支持
- 使用Promise.all进行并行处理以实现并发操作
- 使用最少的API调用实现高效的数据获取
依赖项
@linear/sdk:线性API客户端@modelcontextprotocol/sdk:MCP服务器实现zod:运行时类型检查和验证dotenv:环境变量管理- TypeScript和相关开发工具
有关依赖关系的完整列表,请参阅 package.json.
Smithery部署
此服务器可以部署在 Smithery.ai 使用提供的配置文件:
先决条件
- Smithery.ai帐户
- 您的Linear API密钥
部署步骤
- 将此存储库添加到Smithery或声明现有服务器
- 访问“部署”选项卡(仅限经过身份验证的所有者)
- 使用Linear API密钥配置部署
- 部署服务器
配置文件
存储库包括Smithery部署的两个基本文件:
-
Docker 文件:定义服务器构建过程
- 使用Node.js 18 Alpine作为基础映像
- 安装依赖项并构建TypeScript代码
- 设置运行服务器的命令
-
史密斯·亚姆尔:定义服务器启动配置
- 指定运行服务器的命令
- 定义所需的配置参数(线性API键)
- 处理环境变量设置
本地测试
您可以使用MCP检查器在本地测试Smithery配置:
# Build the Docker image
docker build -t linear-mcp-server .
# Run the container with your Linear API key
docker run -e LINEAR_API_KEY=your_api_key_here linear-mcp-server
# Or use the MCP Inspector
npm run inspect