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 URL設定

活用シーン

  1. 01Markdown記事を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

Quail に認証するための OAuth ログインが開始されます。画面の指示に従って認証を完了してください。

  1. ターミナルに表示された URL にアクセスします。
  2. アプリケーションを認証します。
  3. ブラウザーに表示されたコードをコピーします。
  4. コードをターミナルに貼り付けます。

ブラウザーが自動的に開かない場合は、表示された URL を手動で開いてください。

OAuth の代わりに API キーを使用するには、次のようにします。

$ 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 は、投稿を作成または更新するリストのスラッグです。たとえば、リストの URL が https://quaily.com/my_list の場合、your_list_slug は my_list です。

quail-cli は Markdown ファイルからフロントマターを読み取り、投稿を作成または更新します。投稿が存在しない場合は作成され、存在する場合は更新されます。

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 でリッスンします。URL http://localhost:8083/sse を指定して、任意の MCP クライアントからこのサーバーに接続できます。

Stdio モード

quail-cli を Stdio モードの MCP サーバーとして設定する前に、quail-cli をインストールする必要があります。次に、quail-cli バイナリのパスを確認し、quail-cli の引数として mcp を渡します。

/your_install_path/quail-cli mcp
MCP クライアント経由で quail-cli を操作する

プロンプトの例を示します。

私の最初のチャンネルの 1 件目の投稿の URL は何ですか?

LLM は 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

コントリビューション

コントリビューションを歓迎します。プルリクエストの送信や、イシューの作成をお気軽にどうぞ。

ライセンス

このプロジェクトは GNU Affero General Public License v3.0 の下でライセンスされています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。