mcpField
Q
Quail CLI

Quail CLI

本地服务
github.com/quailyquaily开发工具1122 周前更新

关于 Quail CLI

Quail CLI 是用于管理 Quaily 新闻通讯和帖子的命令行工具,也提供实验性 MCP 服务模式,支持身份验证、发布流程、订阅内容阅读和评论管理。

主要功能

  1. 01OAuth 和 API 密钥登录
  2. 02创建、更新、发布和删除帖子
  3. 03阅读订阅内容与评论
  4. 04管理评论
  5. 05JSON 输出与 API 地址配置

适用场景

  1. 01将 Markdown 文章发布到 Quaily 频道
  2. 02查看订阅文章和评论
  3. 03管理列表中的评论

MCP 相关

实验性 MCP 模式下,Quail CLI 提供搜索 Quaily、获取频道和帖子,以及保存或发布帖子的工具。MCP 客户端可通过 SSE 或 stdio 连接。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Quail CLI

quail-cli 是一个用于与 Quail 交互的命令行界面,旨在简化并自动执行用户身份验证、管理文章和获取用户详情等操作。

Quail CLI 与 Quail API https://api.quail.ink 交互。

安装最新版本

macOS 和 Linux:

curl -fsSL https://raw.githubusercontent.com/quailyquaily/quail-cli/master/scripts/install.sh | bash

Windows PowerShell:

irm https://raw.githubusercontent.com/quailyquaily/quail-cli/master/scripts/install.ps1 | iex

你也可以在这里查看最新版本,下载适用于你平台的二进制文件,解压后将其放入 PATH。

手动安装

若要手动安装 quail-cli,可以使用以下命令:

$ go install github.com/quailyquaily/quail-cli@latest

手动安装 quail-cli 需要先安装 go。更多信息请参阅 Go 官方安装指南。

用法(命令行)

安装后,可以调用以下命令开始使用 quail-cli:

$ quail-cli [command]
可用命令
  • help:获取任意命令的帮助信息。
  • init:创建示例配置文件。
  • login:使用 OAuth 或 API 密钥进行 Quail 身份验证。
  • me:获取当前用户信息。
  • post:创建、更新、删除或获取文章。
  • reader:阅读已订阅的文章和评论。
  • comments:管理列表中的评论。
全局标志
  • --api-base string:Quail API 基础 URL(默认值:https://api.quail.ink)。
  • --auth-base string:Quail Auth 基础 URL(默认值:https://quaily.com)。
  • --config string:配置文件路径(默认值:$HOME/.config/quail-cli/config.yaml)。
  • --json:输出 JSON,而非便于人类阅读的文本。
  • -h, --help:显示 quail-cli 的帮助信息。
初始化配置

创建示例配置文件:

$ quail-cli init

quail-cli init 会询问是否提供 API 密钥。按 Enter 可将其留空。

若要在不显示提示的情况下传入 API 密钥:

$ quail-cli init --api-key QK-...

init 不会覆盖现有配置文件。

使用 Quail 进行身份验证
$ quail-cli login

此操作将启动 OAuth 登录,以验证 Quail 身份。请按照说明完成身份验证流程。

  1. 访问终端中提供的 URL。
  2. 授权该应用。
  3. 复制浏览器中显示的代码。
  4. 将代码粘贴回终端。

如果无法自动打开浏览器,请手动打开打印出的 URL。

若要使用 API 密钥而非 OAuth:

$ quail-cli login --api-key

你也可以在脚本中使用 QUAIL_API_KEY。

获取当前用户信息
$ quail-cli me

获取当前已通过身份验证的用户详情。

文章操作
创建或更新文章
$ quail-cli post upsert your_markdown_file.md -l your_list_slug

其中:

  • your_markdown_file.md 是 Markdown 文件的路径。
  • your_list_slug 是要创建或更新文章的列表 slug。例如,如果列表 URL 是 https://quaily.com/my_list,那么 your_list_slug 就是 my_list。

quail-cli 会读取 Markdown 文件中的 frontmatter 来创建或更新文章。如果文章不存在,就会创建;如果已存在,就会更新。

以下是 Markdown 文件示例:

---
title: "Here is the title"
slug: your-post-slug
datetime: 2024-09-30 18:42
summary: "This is a summary of the post."
tags: tag1, tag2, tag3
cover_image_url: "your-image-url.jpg"
---

> Any sufficiently advanced technology is indistinguishable from magic.
>
> -- Arthur C. Clarke

This is the body of the post.

    int main() {
        printf("Hello, World!");
        return 0;
    }

## Section Title

This is the last section of the post.
发布/取消发布/投递/删除文章
$ quail-cli post publish -l your_list_slug -p your_post_slug
$ quail-cli post unpublish -l your_list_slug -p your_post_slug
$ quail-cli post deliver -l your_list_slug -p your_post_slug
$ quail-cli post delete -l your_list_slug -p your_post_slug
阅读器操作
$ quail-cli reader subscriptions
$ quail-cli reader posts --limit 20 --offset 0
$ quail-cli reader read https://quaily.com/list-slug/post-slug
$ quail-cli reader comments --post 123
$ quail-cli reader comment --post 123 --content "Thanks for the post."
评论管理
$ quail-cli comments latest --limit 50
$ quail-cli comments list --list your_list_slug --limit 20 --offset 0
$ quail-cli comments approve 123
$ quail-cli comments reject 123
$ quail-cli comments spam 123
$ quail-cli comments delete 123

用法(MCP 服务)

警告

此功能为实验性功能。

MCP(Model Context Protocol)是一种用于与 AI 模型(如 Claude、GPT 等)交互的协议。quail-cli 可用作 MCP 服务。

在此之前,你需要运行以下命令登录 quail-cli:

$ quail-cli login

SSE 模式

运行以下命令,以 SSE 模式启动 MCP 服务。

$ quail-cli mcp --sse

服务将启动一个 HTTP 服务并监听 8083 端口。你可以向任意 MCP 客户端提供 URL http://localhost:8083/sse,以连接此服务。

Stdio 模式

在将 quail-cli 配置为 Stdio 模式的 MCP 服务之前,你需要先安装 quail-cli。然后,找到 quail-cli 二进制文件的路径,并将 mcp 作为参数传递给 quail-cli。

/your_install_path/quail-cli mcp
通过 MCP 客户端与 quail-cli 交互

以下是一个提示词示例:

我第一个频道的第 1 篇文章的 URL 是什么?

大模型将调用 quail-cli 的一系列工具来获取答案。

支持的工具
  • quaily_login:登录 quaily.com。
  • quaily_search:根据给定的查询搜索 quaily.com。
  • quaily_get_my_channels:获取当前用户的所有 quaily 频道。
  • quaily_get_channel_posts:获取指定 quaily 频道的文章。
  • quaily_get_post_content:获取文章内容。
  • quaily_get_post:获取文章。
  • quaily_publish_post:发布文章。
  • quaily_unpublish_post:取消发布文章。
  • quaily_save_post:保存文章。
  • quaily_get_url:获取文章或频道的 URL。

配置

默认情况下,quail-cli 会读取 $HOME/.config/quail-cli/config.yaml。运行 quail-cli init 创建示例文件,或在首次登录时让 quail-cli login 创建该文件。

你可以使用 --config 标志指定其他配置文件。

$ quail-cli --config ./config.yaml init
配置文件示例
# quail-cli stores API key and OAuth tokens in app.
app:
  api_key: ""
  access_token: ""
  expiry: ""
  refresh_token: ""
  token_type: ""
  user:
    id: 1
    name: "your_name"
    bio: "your_bio"

post:
  # Map your Markdown frontmatter keys to Quaily post fields.
  # In this example, "featureImage" in frontmatter maps to "cover_image_url".
  frontmatter_mapping:
    cover_image_url: featureImage

贡献

欢迎贡献!请随时提交 pull request 或创建 issue。

许可证

本项目采用 GNU Affero General Public License v3.0 许可。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。