Official Substack MCP Server

Integrations

  • Retrieves and caches blog posts from Medium, enabling semantic search across content and reference to individual essays

  • Uses RSS feeds to retrieve content from Substack and Medium blogs

  • Fetches and caches blog posts from Substack, making them available for semantic search and analysis

クロードのためのライターコンテキストツール

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. このリポジトリをクローンする

git clone https://github.com/yourusername/writer-context-tool.git cd writer-context-tool

2. Python環境をセットアップする

uv を使用する (推奨):

# Install uv if you don't have it curl -LsSf https://astral.sh/uv/install.sh | sh # Create virtual environment and install dependencies uv venv source .venv/bin/activate # On Windows: .venv\Scripts\activate uv pip install -r requirements.txt

または標準の pip を使用します:

python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate pip install -r requirements.txt

3. ブログを設定する

  1. サンプル構成ファイルをコピーします。
    cp config.example.json config.json
  2. Substack/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と接続する

  1. Claude Desktop 構成ディレクトリを作成します。
    # On macOS mkdir -p ~/Library/Application\ Support/Claude/
  2. 設定ファイルを作成します。
    # 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コマンドで問題が発生した場合は、付属のシェル スクリプトの代替を使用できます。

    1. スクリプトを実行可能にする: chmod +x run_writer_tool.sh
    2. スクリプトを使用するには、Claude Desktop の設定を更新します。
    { "mcpServers": { "writer-tool": { "command": "/absolute/path/to/run_writer_tool.sh", "args": [] } } }
  3. Claudeデスクトップを再起動します

クロードとツールを使う

設定が完了すると、Claude Desktop で個々のエッセイがリソースとして利用可能になります。以下のことが可能です。

  1. 文章全体を検索する: 関連するコンテンツを見つけるためにクロードに問い合わせる
    • [特定のトピック]について論じたエッセイを探す」
    • [主題]について何を書いたか?」
  2. 特定のエッセイを参照: 検索結果にリストされたエッセイをクリックして、個々のエッセイにアクセスします。
    • [エッセイのタイトル]の全文を見せてください」
  3. コンテンツを更新: コンテンツを強制的に更新します
    • 「執筆内容を更新する」

利用可能なツールとリソース

Writer Context Tool は以下を提供します。

  1. 個別のエッセイリソース: 各エッセイは選択可能なリソースになります
  2. search_writing : 埋め込みを使用して最も関連性の高いエッセイを見つけるセマンティック検索ツール
  3. refresh_content : 設定されたすべてのプラットフォームからコンテンツを更新して再キャッシュします

キャッシュの仕組み

このツールは、次の機能を使用して永続的なキャッシュを実装します。

  1. ディスクキャッシュ: すべてのコンテンツはディスクに保存されるため、セッション間で保持されます。
  2. 埋め込み: 各エッセイは意味検索のために埋め込みに変換されます
  3. 選択的更新: ツールはキャッシュ設定に従って必要な場合にのみコンテンツを更新します
  4. プリロード: 起動時にすべてのコンテンツが自動的に更新され、埋め込みが生成されます

トラブルシューティング

問題が発生した場合:

  1. ツールがClaude Desktopに表示されません:
    • Claude Desktop の設定ファイルが正しいことを確認してください
    • 構成内のすべてのパスが絶対パスであることを確認する
    • Python環境に必要なパッケージがすべて揃っていることを確認してください
    • Claudeデスクトップを再起動します
  2. コンテンツが表示されません:
    • config.json で Substack/Medium の URL を確認する
    • 「refresh_content」ツールを使ってみてください
    • ブログが公開されており、投稿が公開されていることを確認してください
  3. uv コマンドのエラー:
    • 代わりにシェルスクリプトのアプローチを試してください
    • uv コマンドがインストールされ、PATH に含まれていることを確認します。
  4. 埋め込みの問題:
    • 埋め込みモデルに関するエラーが表示される場合は、十分なディスク容量があることを確認してください。
    • 埋め込みが正しく機能しない場合は、新規インストールで再実行することを検討してください

ライセンス

このプロジェクトは MIT ライセンスの下で利用可能です。

ID: oqh0j6n6w3