Quire项目管理AI助手服务

一个为Quire项目管理平台提供的AI助手服务,允许AI助手(如Claude)安全地与Quire项目、任务和数据交互。

  • by jacob-hartmann
  • TypeScript
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 jacob-hartmann/quire-mcp

使用说明

Quire MCP服务器

A. 模型上下文协议(MCP) 服务器 一刀 项目管理平台。

该服务器允许AI助手(如Claude)安全地与您的Quire项目、任务和数据进行交互。

快速开始

先决条件

步骤1:创建Quire OAuth应用程序

  1. 首选 Quire应用程序管理
  2. 点击 创建新应用
  3. 集 重定向网址 致: http://localhost:3000/callback
  4. 选择所需的权限范围
  5. 复制 开发客户端ID 和 开发客户端密码

步骤2:配置MCP客户端

选择与您的MCP客户端匹配的设置:

克劳德桌面(推荐)

添加到您的 claude_desktop_config.json:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 窗户: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "quire": {
      "command": "npx",
      "args": ["-y", "quire-mcp"],
      "env": {
        "QUIRE_OAUTH_CLIENT_ID": "your-client-id",
        "QUIRE_OAUTH_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

克劳德代码(CLI)

添加到您的Claude Code MCP设置中(~/.claude/mcp.json 或项目级别):

{
  "mcpServers": {
    "quire": {
      "command": "npx",
      "args": ["-y", "quire-mcp"],
      "env": {
        "QUIRE_OAUTH_CLIENT_ID": "your-client-id",
        "QUIRE_OAUTH_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

光标

在游标设置中,添加MCP服务器:

{
  "mcpServers": {
    "quire": {
      "command": "npx",
      "args": ["-y", "quire-mcp"],
      "env": {
        "QUIRE_OAUTH_CLIENT_ID": "your-client-id",
        "QUIRE_OAUTH_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

步骤3:首次授权

首次使用时,服务器将:

  1. 将授权URL打印到控制台
  2. 等待您在浏览器中打开该URL
  3. 授予访问权限后,Quire重定向到localhost
  4. 服务器捕获令牌并缓存它们

后续使用将根据需要自动刷新令牌。

运输方式

服务器支持两种传输模式: 标准 (默认)和 超文本传输协议.

STDIO模式(默认)

STDIO模式是最简单的设置。MCP客户端直接生成服务器进程,并通过stdin/stdout上的JSON-RPC进行通信。

它是如何工作的:

  1. MCP客户端生成 npx quire-mcp 有环境变量
  2. 在第一次工具调用时,如果不存在缓存的令牌,服务器会向stderr打印一个OAuth URL
  3. 用户在浏览器中打开URL并授权
  4. Quire重定向到 localhost:3000/callback 其中服务器捕获令牌
  5. 令牌缓存到磁盘以备将来使用

令牌缓存位置:

  • 窗户: %APPDATA%\quire-mcp\tokens.json
  • macOS: ~/Library/Application Support/quire-mcp/tokens.json
  • Linux: ~/.config/quire-mcp/tokens.json

HTTP模式

HTTP模式运行具有OAuth 2.0端点的HTTP服务器。需要时使用此功能:

  • 长时间运行的服务器进程
  • 多个客户端连接到同一服务器
  • 部署到远程主机(例如Cloudflare Workers、云VM)

重要提示: 在HTTP模式下,服务器必须正在运行 之前 客户端可以连接。环境变量设置在 服务器进程,不在客户端配置中。

在本地运行HTTP模式

第一步: 启动服务器:

# Using npx
QUIRE_OAUTH_CLIENT_ID=your-client-id \
QUIRE_OAUTH_CLIENT_SECRET=your-client-secret \
MCP_TRANSPORT=http \
npx quire-mcp

# Or using pnpm (for development)
pnpm dev:http

服务器将输出:

[quire-mcp] HTTP server listening on 127.0.0.1:3001
[quire-mcp] OAuth metadata: http://localhost:3001/.well-known/oauth-authorization-server
[quire-mcp] MCP endpoint: http://localhost:3001/mcp

第二步: 配置您的MCP客户端以连接:

{
  "mcpServers": {
    "quire": {
      "type": "http",
      "url": "http://localhost:3001/mcp"
    }
  }
}

注: 不 env HTTP模式的客户端配置中需要一个部分——OAuth凭据在服务器上。

步骤3: 当MCP客户端连接时,它将:

  1. 通过以下方式发现OAuth端点 /.well-known/oauth-authorization-server
  2. 将您重定向到Quire授权
  3. 交换令牌并建立会话

HTTP模式环境变量

变量 必填 默认 描述
MCP_TRANSPORT 是的 stdio 设置为 http 启用HTTP模式
QUIRE_OAUTH_CLIENT_ID 是 - 查询OAuth客户端ID
QUIRE_OAUTH_CLIENT_SECRET 是 - 查询OAuth客户端密码
MCP_SERVER_HOST 没有 127.0.0.1 主机绑定HTTP服务器
MCP_SERVER_PORT 没有 3001 HTTP服务器的端口
MCP_ISSUER_URL 没有 http://localhost:3001 OAuth端点的基本URL
QUIRE_OAUTH_REDIRECT_URI 没有 http://localhost:3001/oauth/callback 查询OAuth回调URL

HTTP模式的Quire应用程序配置: 使用HTTP模式时,将Quire应用程序的重定向URL更新为: http://localhost:3001/oauth/callback

手动令牌模式

如果您有预先获得的访问令牌(例如,来自Postman),则可以完全跳过OAuth:

{
  "mcpServers": {
    "quire": {
      "command": "npx",
      "args": ["-y", "quire-mcp"],
      "env": {
        "QUIRE_ACCESS_TOKEN": "your-access-token"
      }
    }
  }
}

注: 手动获得的令牌最终将过期,如果没有OAuth凭据,将不会自动刷新。

配置参考

所有环境变量

变量 必填 默认 描述
QUIRE_OAUTH_CLIENT_ID 是* - 查询OAuth客户端ID
QUIRE_OAUTH_CLIENT_SECRET 是* - 查询OAuth客户端密码
QUIRE_ACCESS_TOKEN 否 - 手动令牌覆盖(跳过OAuth流)
QUIRE_OAUTH_REDIRECT_URI 没有 http://localhost:3000/callback OAuth回调URL(stdio模式)
QUIRE_TOKEN_STORE_PATH 否 平台默认值 令牌缓存文件的路径
MCP_TRANSPORT 没有 stdio 运输方式: stdio 或 http
MCP_SERVER_HOST 没有 127.0.0.1 HTTP服务器绑定地址
MCP_SERVER_PORT 没有 3001 HTTP服务器端口
MCP_ISSUER_URL 没有 http://localhost:3001 OAuth颁发者URL(HTTP模式)

*除非满足以下条件,否则必须 QUIRE_ACCESS_TOKEN 已设置。

特性

工具

服务器提供 60+工具 按类别组织:

认证

工具 说明
quire.whoami 获取当前已验证用户的个人资料

组织

工具 说明
quire.listOrganizations 列出所有可访问的组织
quire.getOrganization 按ID或OID获取组织详细信息
quire.updateOrganization 更新组织关注者

项目

工具 说明
quire.listProjects 列出所有项目,可选择按组织筛选
quire.getProject 获取项目详细信息,包括任务计数
quire.updateProject 更新项目名称、描述、图标和关注者
quire.exportProject 以JSON或CSV格式导出项目任务

任务

工具 说明
quire.listTasks 列出项目中的任务(根级别或子任务)
quire.getTask 按项目+ID或OID获取任务详细信息
quire.createTask 创建一个具有可选优先级、日期、受让人、标签的新任务
quire.updateTask 更新任务属性
quire.deleteTask 删除任务及其子任务
quire.searchTasks 按关键字和筛选器搜索项目中的任务
quire.createTaskAfter 在指定任务之后创建任务
quire.createTaskBefore 在指定任务之前创建任务
quire.searchFolderTasks 在文件夹中搜索任务
quire.searchOrganizationTasks 在整个组织内搜索任务

标签

工具 说明
quire.listTags 列出项目中的所有标记
quire.getTag 按OID获取标签详细信息
quire.createTag 创建一个带有名称和颜色的新标签
quire.updateTag 更新标签名称或颜色
quire.deleteTag 删除标签

评论

工具 说明
quire.listTaskComments 列出任务的所有评论
quire.addTaskComment 向任务添加注释
quire.updateComment 更新评论文本
quire.deleteComment 删除评论
quire.listChatComments 列出聊天频道中的所有评论
quire.addChatComment 在聊天频道添加评论

用户

工具 说明
quire.getUser 通过ID、OID或电子邮件获取用户详细信息
quire.listUsers 列出所有可访问的用户
quire.listProjectMembers 列出项目的所有成员

自定义状态

工具 说明
quire.listStatuses 列出项目中的自定义状态
quire.getStatus 按值获取状态详细信息
quire.createStatus 创建自定义工作流状态
quire.updateStatus 更新状态名称或颜色
quire.deleteStatus 删除自定义状态

外部团队(合作伙伴)

工具 说明
quire.getPartner 获取外部团队详细信息
quire.listPartners 列出项目中的所有外部团队

文件

工具 说明
quire.createDocument 在组织或项目中创建文档
quire.getDocument 获取文档内容和元数据
quire.listDocuments 列出所有文件
quire.updateDocument 更新文档名称或内容
quire.deleteDocument 删除文档

转租人

工具 说明
quire.createSublist 创建子列表
quire.getSublist 获取子列表详细信息
quire.listSublists 列出所有子列表
quire.updateSublist 更新子列表名称或描述
quire.deleteSublist 删除子列表

聊天频道

工具 说明
quire.createChat 创建聊天频道
quire.getChat 获取聊天频道详细信息
quire.listChats 列出所有聊天频道
quire.updateChat 更新聊天名称、描述或成员
quire.deleteChat 删除聊天频道

键值存储

工具 说明
quire.getStorageValue 按键获取存储值
quire.listStorageEntries 按前缀列出存储条目
quire.putStorageValue 存储值
quire.deleteStorageValue 删除存储值

通知

工具 说明
quire.sendNotification 向用户发送通知

附件

工具 说明
quire.uploadTaskAttachment 将文件附件上载到任务
quire.uploadCommentAttachment 将文件附件上传到评论中

资源

服务器将数据作为MCP资源公开:

静态资源

资源URI 描述
quire://user/me 当前已验证用户的个人资料
quire://organizations 所有可访问的组织列表
quire://projects 所有可访问项目的列表

资源模板

资源URI 描述
quire://project/{id} 具体项目细节和元数据
quire://project/{projectId}/tasks 项目中的根任务
quire://project/{projectId}/tags 项目中定义的标签
quire://project/{projectId}/statuses 项目中的自定义状态

提示

服务器为常见工作流提供指导性提示:

提示 描述
quire.create-project-plan 根据目标描述生成任务计划
quire.daily-standup 生成每日站立摘要
quire.sprint-planning 从待办事项列表中计划冲刺
quire.task-breakdown 将复杂任务分解为子任务
quire.weekly-summary 生成每周进度报告

发展

设置

# Clone the repo
git clone https://github.com/jacob-hartmann/quire-mcp.git
cd quire-mcp

# Use the Node.js version from .nvmrc
# (macOS/Linux nvm): nvm install && nvm use
# (Windows nvm-windows): nvm install 22 && nvm use 22
nvm install
nvm use

# Install dependencies
pnpm install

# Copy .env.example and configure
cp .env.example .env
# Edit .env with your OAuth credentials

本地运行

# Development mode (stdio, auto-reload)
pnpm dev

# Development mode (http, auto-reload)
pnpm dev:http

# Production build
pnpm build

# Production run
pnpm start        # stdio mode
pnpm start:http   # http mode

调试

您可以使用 MCP检查员 要调试服务器,请执行以下操作:

# Run from source
pnpm inspect

# Run from built output
pnpm inspect:dist

pnpm inspect 负载 .env 自动通过 dotenv (参见 .env.example).

如果你看到 Ignored build scripts: esbuild...,跑 pnpm approve-builds 并允许 esbuild. 在CI中,我们安装依赖项时禁用了生命周期脚本(pnpm install --ignore-scripts)然后明确地仅重建 esbuild 用于生产建设工作。

贡献

欢迎投稿!请参阅 贡献.md 了解如何为这个项目做出贡献的指导方针。

安全

看 安全.md 用于安全策略和报告漏洞。

支持

这是一个“按原样”提供的社区项目 没有保证的支持。参见 支持.md 了解详情。

许可证

麻省理工学院©雅各布·哈特曼