クロードのためのライターコンテキストツール
Claude を Substack および Medium の執筆に接続するオープンソースの Model Context Protocol (MCP) 実装。
これは何ですか?
Writer Context Toolは、SubstackやMediumなどのプラットフォームからあなたの執筆情報にアクセスし、分析するためのMCPサーバーです。このツールにより、Claudeはあなたが公開したコンテンツのコンテキストを理解し、よりパーソナライズされたライティング支援を提供できます。
特徴
🔍 SubstackとMediumからブログ投稿を取得して永続的にキャッシュします
🔎 埋め込みを使用して、クエリに基づいて最も関連性の高いエッセイを見つけます
📚 クロードの個別のリソースとして、個々のエッセイを公開します
🧠 文章全体にわたって意味検索を実行します
⚡ 起動時にすべてのコンテンツをプリロードし、埋め込みを生成します
仕組み
このツールは、Substack/MediumブログのRSSフィードに接続し、投稿を取得してローカルに永続的にキャッシュします。また、各投稿に埋め込み情報を生成するため、クエリに基づいて最も関連性の高いエッセイを見つけるセマンティック検索が可能になります。
Claude に自分の執筆について質問すると、これらの個別のエッセイ リソースを使用して洞察を提供したり、既存のコンテンツに基づいて新しいアイデアを開発するのを手伝ったりすることができます。
セットアップ手順(ステップバイステップ)
前提条件
Python 3.10以上
Claude Desktop(最新バージョン)
公開コンテンツのあるSubstackまたはMediumアカウント
1. このリポジトリをクローンする
2. Python環境をセットアップする
uv を使用する (推奨):
または標準の pip を使用します:
3. ブログを設定する
サンプル構成ファイルをコピーします。
cp config.example.json config.jsonSubstack/Medium の URL で
config.json編集します。{ "platforms": [ { "type": "substack", "url": "https://yourusername.substack.com", "name": "My Substack Blog" }, { "type": "medium", "url": "https://medium.com/@yourusername", "name": "My Medium Blog" } ], "max_posts": 100, "cache_duration_minutes": 10080, "similar_posts_count": 10 }max_posts: 各プラットフォームから取得する投稿の最大数(デフォルト: 100)cache_duration_minutes: コンテンツを更新する前にキャッシュする時間(デフォルト: 1 週間または 10080 分)similar_posts_count: 検索時に返される最も関連性の高い投稿の数(デフォルト: 10)
4. Claude Desktopと接続する
Claude Desktop 構成ディレクトリを作成します。
# On macOS mkdir -p ~/Library/Application\ Support/Claude/設定ファイルを作成します。
# Get the absolute path to your uv command UV_PATH=$(which uv) # Create the configuration cat > ~/Library/Application\ Support/Claude/claude_desktop_config.json << EOF { "mcpServers": { "writer-tool": { "command": "${UV_PATH}", "args": [ "--directory", "$(pwd)", "run", "writer_tool.py" ] } } } EOF注:
uvコマンドで問題が発生した場合は、付属のシェル スクリプトの代替を使用できます。スクリプトを実行可能にする:
chmod +x run_writer_tool.shスクリプトを使用するには、Claude Desktop の設定を更新します。
{ "mcpServers": { "writer-tool": { "command": "/absolute/path/to/run_writer_tool.sh", "args": [] } } }Claudeデスクトップを再起動します
クロードとツールを使う
設定が完了すると、Claude Desktop で個々のエッセイがリソースとして利用可能になります。以下のことが可能です。
文章全体を検索する: 関連するコンテンツを見つけるためにクロードに問い合わせる
「[特定のトピック]について論じたエッセイを探す」
「[主題]について何を書いたか?」
特定のエッセイを参照: 検索結果にリストされたエッセイをクリックして、個々のエッセイにアクセスします。
「[エッセイのタイトル]の全文を見せてください」
コンテンツを更新: コンテンツを強制的に更新します
「執筆内容を更新する」
利用可能なツールとリソース
Writer Context Tool は以下を提供します。
個別のエッセイリソース: 各エッセイは選択可能なリソースになります
search_writing : 埋め込みを使用して最も関連性の高いエッセイを見つけるセマンティック検索ツール
refresh_content : 設定されたすべてのプラットフォームからコンテンツを更新して再キャッシュします
キャッシュの仕組み
このツールは、次の機能を使用して永続的なキャッシュを実装します。
ディスクキャッシュ: すべてのコンテンツはディスクに保存されるため、セッション間で保持されます。
埋め込み: 各エッセイは意味検索のために埋め込みに変換されます
選択的更新: ツールはキャッシュ設定に従って必要な場合にのみコンテンツを更新します
プリロード: 起動時にすべてのコンテンツが自動的に更新され、埋め込みが生成されます
トラブルシューティング
問題が発生した場合:
ツールがClaude Desktopに表示されません:
Claude Desktop の設定ファイルが正しいことを確認してください
構成内のすべてのパスが絶対パスであることを確認する
Python環境に必要なパッケージがすべて揃っていることを確認してください
Claudeデスクトップを再起動します
コンテンツが表示されません:
config.json で Substack/Medium の URL を確認する
「refresh_content」ツールを使ってみてください
ブログが公開されており、投稿が公開されていることを確認してください
uv コマンドのエラー:
代わりにシェルスクリプトのアプローチを試してください
uv コマンドがインストールされ、PATH に含まれていることを確認します。
埋め込みの問題:
埋め込みモデルに関するエラーが表示される場合は、十分なディスク容量があることを確認してください。
埋め込みが正しく機能しない場合は、新規インストールで再実行することを検討してください
ライセンス
このプロジェクトは MIT ライセンスの下で利用可能です。
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
公式Substack MCPサーバー
Related MCP Servers
- MIT License
- Asecurity-licenseAqualityBrowserStack MCP serverLast updated -5401102AGPL 3.0