mcpField
M
memos

memos

github.com/akhy生産性140 回インストール8 週間前に更新
リポジトリ

memos について

memos は、REST API 経由で Memos インスタンスを操作するコマンドラインスキルです。メモの管理に加え、コメント、リアクション、添付ファイル、関連付けも扱えます。

主な機能

  1. 01メモの一覧表示、絞り込み、ページ分割
  2. 02メモの作成、取得、更新、削除
  3. 03コメントとリアクションの管理
  4. 04添付ファイルとメモの関連付け管理

活用シーン

  1. 01状態や公開範囲でメモを検索
  2. 02公開・非公開メモの作成や編集
  3. 03コメントやリアクションの確認・追加
  4. 04添付ファイルやメモ間の関連を更新

インストール

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

$npx skills add https://github.com/akhy/agent-skills --skill memos

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

同梱ファイルscripts/memos.sh

詳細

Memos スキル

Memos インスタンスと REST API(/api/v1/memos)を介してやり取りします。

前提条件

このスキルを使用する前に、次の環境変数を設定してください。

export MEMOS_URL="https://memos.example.com"
export MEMOS_ACCESS_TOKEN="your_access_token"  # from Memos account settings

すべてのリクエストで Authorization: Bearer $MEMOS_ACCESS_TOKEN を使用します。

スクリプト

すべての操作は scripts/memos.sh を通じて行います。bash memos/scripts/memos.sh <command> [options] で実行してください。

引数なしで実行すると、使用方法の全体が表示されます。

bash memos/scripts/memos.sh --help

操作

メモの一覧表示
# All memos
bash memos/scripts/memos.sh list

# With filter (AIP-160 syntax)
bash memos/scripts/memos.sh list --filter 'state == "NORMAL"' --page-size 20

# Include deleted
bash memos/scripts/memos.sh list --show-deleted
メモの作成
bash memos/scripts/memos.sh create --content "Hello, world!" --visibility PUBLIC

# Pinned private memo
bash memos/scripts/memos.sh create --content "Important note" --pinned

--visibility:PUBLIC | PROTECTED | PRIVATE(デフォルト:PRIVATE)

メモの取得
bash memos/scripts/memos.sh get memos/123

メモのリソース名は memos/{id} の形式です。

メモの更新
bash memos/scripts/memos.sh update memos/123 --content "Updated content"
bash memos/scripts/memos.sh update memos/123 --visibility PUBLIC --pinned true
bash memos/scripts/memos.sh update memos/123 --state ARCHIVED

updateMask には、指定されたフィールドのみが送信されます。

メモの削除
# Soft delete
bash memos/scripts/memos.sh delete memos/123

# Hard delete
bash memos/scripts/memos.sh delete memos/123 --force
コメント
# List comments
bash memos/scripts/memos.sh comments memos/123

# Post a comment
bash memos/scripts/memos.sh comment memos/123 --content "Great memo!"
リアクション
# List reactions
bash memos/scripts/memos.sh reactions memos/123

# Add a reaction
bash memos/scripts/memos.sh react memos/123 --reaction "👍"

# Remove a reaction (reaction ID from list response)
bash memos/scripts/memos.sh delete-reaction memos/123 reactions/456
添付ファイル
# List attachments
bash memos/scripts/memos.sh attachments memos/123

# Set attachments (replaces existing)
bash memos/scripts/memos.sh set-attachments memos/123 --names "attachments/1,attachments/2"
関連付け
# List relations
bash memos/scripts/memos.sh relations memos/123

# Set relations (replaces existing)
bash memos/scripts/memos.sh set-relations memos/123 --relations '[{"memo":"memos/123","relatedMemo":"memos/456","type":"REFERENCE"}]'

ページネーション

一覧表示コマンドでは --page-size N と --page-token TOKEN を使用できます。さらに結果がある場合、レスポンスには nextPageToken が含まれます。

result=$(bash memos/scripts/memos.sh list --page-size 10)
next=$(echo "$result" | jq -r '.nextPageToken // empty')

# Fetch next page
bash memos/scripts/memos.sh list --page-size 10 --page-token "$next"

フィルタリング

--filter で AIP-160 のフィルター式を使用します。

bash memos/scripts/memos.sh list --filter 'state == "NORMAL"'
bash memos/scripts/memos.sh list --filter 'visibility == "PUBLIC"'

レスポンス形式

すべてのレスポンスは JSON です。jq に渡してフィールドを抽出できます。

# Get all memo names and snippets
bash memos/scripts/memos.sh list | jq '.memos[] | {name, snippet}'

# Get a single field
bash memos/scripts/memos.sh get memos/123 | jq '.content'

コメント