mcpField
C
chinese-poetry-api

chinese-poetry-api

github.com/wmy2981クリエイティブ・メディア157 回インストール5 週間前に更新
リポジトリ

chinese-poetry-api について

chinese-poetry-apiは、漢詩を検索・参照するためのRESTサービスを呼び出すコマンドラインスキルです。簡体字と繁体字の出力に対応し、詩、作者、王朝、詩の種類を検索できます。

主な機能

  1. 01詩の一覧表示と絞り込み
  2. 02題名・本文・作者の検索
  3. 03ランダムな詩の取得
  4. 04作者・王朝・種類の参照
  5. 05簡体字と繁体字の切り替え

活用シーン

  1. 01作者や王朝から詩を探す
  2. 02詩の題名や本文を検索する
  3. 03読書用に詩をランダム取得する

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/wmy2981/skills --skill chinese-poetry-api

インストール後、Claude Code で/chinese-poetry-apiを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

.claude-plugin/
plugin.json
scripts/
.env.example
main.ts
package.json
tsconfig.json

詳細

中国詩 API

chinese-poetry-api REST サービス(Go、約 37 万首、lang による簡体字/繁体字)を操作する CLI ラッパーです。

実行ルール

事前確認はせず、ユーザーのコマンドを直接実行してください。失敗した場合は修正してください。

要件

  • Bun ランタイム(>= 1.0)
  • 接続可能な chinese-poetry-api インスタンス

セットアップ

スクリプトは POETRY_API_URL 環境変数を読み取ります。これは API ベース URL 全体 です(スクリプトはプレフィックスを追加しません)。デフォルトは https://poetry.palemoky.com/api で、上流の開発者が提供するオンラインのテスト用インスタンスです。予告なくレート制限されたり、データが変更されたり、オフラインになったりする可能性があるため、デモ専用として扱ってください。実際の作業では、POETRY_API_URL を独自のインスタンス(ローカル Docker またはセルフホスト可能なデプロイ)に設定してください。

  1. 変数名を確認するには scripts/.env.example を読みます。
  2. 共有グローバルファイル ~/.wmyskills/.env に POETRY_API_URL を追加または更新します。
  3. .env.example を .env に直接コピーしないでください。既存の設定が上書きされます。

ユーザーのリクエストに、まだ起動していないインスタンスが必要な場合は、ユーザーに知らせてから起動してください。

docker run -d -p 1279:1279 palemoky/chinese-poetry-api:latest

使用方法

bun run scripts/main.ts <command> [options]

出力はすべてサーバーからの生の JSON ボディです。整形や要約はせず、そのまま出力してください。2xx 以外のレスポンスでは、Error <status>: <body> を stderr に出力して終了コード 1 で終了します。

コマンド説明オプション
healthヘルスチェック—
stats全体の統計—
poems詩の一覧(フィルターは組み合わせ可能)--dynasty --author --dynasty-id --type-id(繰り返し指定可能、OR)--page --page-size(最大 100)
search全文検索(FTS5)--q(必須)--type(デフォルトは all、title、content、author)--page --page-size
randomランダムな詩--author --author-id --dynasty --dynasty-id --type(繰り返し指定可能、OR)--type-id --char
authors作者一覧(ページ分割)--page --page-size
authorID で作者を取得--id(必須)
dynasties王朝一覧(詩の件数付き)—
dynastyID で王朝を取得--id(必須)
types詩の種類一覧—
typeID で詩の種類を取得--id(必須)

すべてのコマンドで --lang zh-Hans|zh-Hant を指定すると、簡体字/繁体字を切り替えられます(デフォルトは zh-Hans)。無効なフラグや引数は、リクエストを送信する前にエラーとして拒否されます。

例

# Health check and overall stats
bun run scripts/main.ts health
bun run scripts/main.ts stats

# Li Bai's poems, page 2
bun run scripts/main.ts poems --author 李白 --page 2 --page-size 10

# Poems from the Tang dynasty in traditional Chinese
bun run scripts/main.ts poems --dynasty 唐 --lang zh-Hant

# Full-text search
bun run scripts/main.ts search --q 静夜思
bun run scripts/main.ts search --q 明月光 --type content

# Random 五言绝句 by Li Bai (multiple types are OR)
bun run scripts/main.ts random --author 李白 --type 五言绝句 --type 七言绝句

# 飞花令 — poem containing a single character
bun run scripts/main.ts random --char 春

# Metadata
bun run scripts/main.ts authors --page 1 --page-size 20
bun run scripts/main.ts author --id 1
bun run scripts/main.ts dynasties
bun run scripts/main.ts dynasty --id 6
bun run scripts/main.ts types
bun run scripts/main.ts type --id 10

注意事項

  • --char(飛花令)には 1 文字だけ指定でき、--lang とのみ組み合わせられます。他のフィルターを指定すると、サーバーから 400 が返されます。
  • クエリパラメーターはサーバー側で検証されます。不明なパラメーターや 100 を超える page_size を指定すると 400 が返されるため、API に記載されていないフィルターを指定しないでください。

コメント