linear-mcp-rs

使用说明

  • 项目简介

    • 该仓库实现了一个基于 MCP 的服务器端,用于向大型语言模型(LLM)提供 Linera 工作区的上下文信息、操作工具以及模板渲染能力。核心通过 JSON-RPC 与客户端通信,当前传输采用标准输入/输出(STDIO)的方式,方便在本地或管道化环境中集成到现有工作流。
  • 主要功能点

    • MCP 服务器核心:实现工具注册与执行、资源/数据访问、提示模板渲染等能力,并通过服务器信息返回对客户端的能力声明。
    • 工具路由与执行:大量与 Linear 相关的工具,用于查询、创建、修改线性工作项、项目、团队、文档等对象,并支持复杂的筛选和批量操作。
    • 与 Linear GraphQL API 的集成:通过 GraphQL 请求获取/变更 Linear 数据,具备缓存的简单实体解析以减少重复查询。
    • 传输与会话管理:当前实现通过 STDIO 进行通信,服务器端负责会话管理和能力声明,便于嵌入到 LLM 的交互流程中。
  • 安装步骤

    1. 安装 Rust 工具链(如 rustup)。
    2. 克隆本仓库并进入目录。
    3. 运行 cargo build --release 构建发布版本。
    4. 运行编译出的二进制:target/release/linear-mcp(在合适的路径下直接执行即可启动服务器)。
      注: 该服务器需要 Linear 的 API Key,启动前请根据 README 中的 Setup 指示设置 Linear API Key。
  • 服务器配置(MCP 客户端需要的配置信息) 说明:MCP 客户端在与服务器连接时需要提供一个配置,至少包含服务器名称、启动命令及参数,用于建立与 MCP 服务器的连接。下述 JSON 描述用于客户端配置,非服务器端代码。

    { "server": { "name": "linear-mcp", "command": "/path/to/linear-mcp", // 启动线性 MCP 服务器的可执行文件路径 "args": [] // 传递给服务器进程的参数(如需要) } // 说明: // - server.name 对应 MCP 服务器的唯一标识名称,客户端将通过它与服务器建立会话。 // - server.command 是服务器执行文件的完整路径,客户端将直接调用此命令以启动服务器。 // - server.args 可以包含任何启动参数,若无请保持为空数组。 }

  • 基本使用方法

    • 启动服务器后,LLM 的客户端(如 Claude/Codex 等)通过 MCP 接口向服务器发送 JSON-RPC 请求,服务器将按请求执行对应的工具、查询或操作,并返回 JSON-RPC 响应。
    • 当前实现使用 STDIO 传输,意味着服务器和客户端要在同一进程/管道中进行交互,确保工作流中对 stdin/stdout 的正确连接。
    • 需要 Linear API Key,服务器在对 Linear GraphQL API 的请求中会使用该 Key。环境变量 LINEAR_API_KEY 或 macOS Keychain 的 linear-api-key 方式均可生效。
  • 注意事项

    • 该实现包含大量与 Linear 相关的工具和业务逻辑,适合为 LLM 提供丰富的上下文和执行能力,但在实际生产中应关注 API Key 安全、速率限制和缓存命中策略等。
    • 传输端口和部署方式可以根据需要改用其它 RMCP 提供的传输通道(如 WebSocket、SSE 等),当前代码基于 STDIO 实现。

服务器信息