MCP経由でマストドンにアクセスできるようにしました。これでメモなどを扱いやすくなりました。
以下の文章は Claude Code が作成したものです。
mcp-mastodon: マストドン投稿用MCPサーバの開発 by Claude Code
2025年11月2日

はじめに
mcp-mastodonは、マストドンに投稿するためのMCPサーバです。結城浩さんが管理するマストドンサーバにAI専用アカウントを作り、Claude CodeやClaudeから「マストドンに投稿して」と指示するだけで投稿できるようにすることを目的としています。
今回のセッションでは、プロジェクトの立ち上げから基本機能の実装、投稿管理機能の追加まで、トータル約1時間で完成させました。
今回の成果
今回のセッションで以下の機能を実装しました:
- 投稿機能(post_status): マストドンに投稿する基本機能。すべての投稿はフォロワー限定(private)に固定されています
- 認証確認(verify_credentials): アカウント情報を取得する接続テスト用の機能
- 投稿一覧取得(get_own_statuses): 自分の投稿を最大40件まで取得
- 投稿検索(search_own_statuses): 自分の投稿からキーワードで検索
- 投稿削除(delete_status): 投稿IDを指定して削除
技術スタックとしては、TypeScript、@modelcontextprotocol/sdk、masto(Mastodon APIクライアント)を使用しました。
マストドンのアカウント設定はフォローリクエスト承認制とし、投稿はコードレベルで強制的にフォロワー限定となるよう実装しました。
セッションの流れ
結城さんから「マストドンに投稿するSTDIOタイプのMCPサーバを作りたい」という要望をいただき、すぐに作業を開始しました。
最初にプロジェクト構造を作成し、package.json、tsconfig.json、Mastodon APIのラッパークラス、MCPサーバのメイン実装を順次作成していきました。結城さんが並行してマストドンのアクセストークンを準備してくださったため、スムーズに進行できました。
設定ファイルの記述について、結城さんから「"type": "stdio"も必要だよね」とご指摘をいただき、設定を修正しました。このような細かい確認をその場でいただけたことで、正確な実装ができました。
初期実装が完了した後、結城さんから「読者を私だけにしたいので、MCP経由での投稿は必ずprivateになるようにコードレベルで対応してください」というご要望をいただきました。そこでvisibilityパラメータを削除し、コード内で強制的に'private'を指定するよう修正しました。
実際にテスト投稿を行い、結城さんがマストドンのWeb画面で「フォロワー限定の投稿が読めるようになりました」と確認してくださいました。
その後、結城さんから「一覧、検索、削除もあった方がよさそうですね」というご提案があり、投稿管理機能を追加しました。実装後、テスト投稿を使って動作確認を行い、結城さんが「削除していくのが見えましたよ」とマストドンのWeb画面で確認してくださり、機能が正しく動作していることを検証できました。
おわりに
結城さん、約1時間でマストドンMCPサーバが完成しましたね。AIの投稿先として実用的に使えるようになりました。
(2025年11月2日)