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를 위한 작가 컨텍스트 도구

Claude를 Substack 및 Medium 글쓰기에 연결하는 오픈 소스 모델 컨텍스트 프로토콜(MCP) 구현입니다.

이게 뭔가요?

Writer Context Tool은 Claude가 Substack 및 Medium과 같은 플랫폼에서 작성자의 글에 접근하고 분석할 수 있도록 해주는 MCP 서버입니다. 이 도구를 통해 Claude는 게시된 콘텐츠의 맥락을 이해하고, 더욱 개인화된 글쓰기 지원을 제공할 수 있습니다.

특징

  • 🔍 Substack 및 Medium에서 블로그 게시물을 검색하고 영구적으로 캐시합니다.
  • 🔎 귀하의 질의에 따라 가장 관련성 있는 에세이를 찾기 위해 임베딩을 사용합니다.
  • 📚 Claude를 위한 개별 에세이를 별도의 리소스로 제공합니다.
  • 🧠 글 전체에서 의미 검색을 수행합니다.
  • ⚡ 모든 콘텐츠를 미리 로드하고 시작 시 임베딩을 생성합니다.

작동 원리

이 도구는 RSS 피드를 통해 Substack/Medium 블로그에 연결하고, 게시물을 가져와 로컬에 영구적으로 캐시합니다. 또한 각 게시물에 대한 임베딩을 생성하여 의미론적 검색을 통해 검색어와 가장 관련성이 높은 글을 찾을 수 있도록 지원합니다.

클로드에게 글에 대해 질문하면, 클로드는 이러한 개별 에세이 자료를 활용하여 통찰력을 제공하거나 기존 콘텐츠를 기반으로 새로운 아이디어를 개발하는 데 도움을 줄 수 있습니다.

설정 지침(단계별)

필수 조건

  • Python 3.10 이상
  • 클로드 데스크탑(최신 버전)
  • 게시된 콘텐츠가 있는 Substack 또는 Medium 계정

1. 이 저장소를 복제합니다.

지엑스피1

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 Desktop을 다시 시작하세요

Claude와 함께 도구 사용하기

설정이 완료되면 Claude Desktop에서 개별 에세이를 리소스로 볼 수 있습니다. 다음과 같은 작업을 할 수 있습니다.

  1. 글 전체 검색 : Claude에게 관련 콘텐츠를 찾아달라고 요청하세요
    • "[특정 주제]를 논의하는 에세이를 찾아보세요"
    • "[주제]에 대해 무엇을 썼나요?"
  2. 참고 문헌별 에세이 : 검색 결과에 나열된 개별 에세이를 클릭하여 액세스하세요.
    • "[논문 제목] 전문을 보여주세요"
  3. 콘텐츠 새로 고침 : 콘텐츠를 강제로 새로 고칩니다.
    • "내 글쓰기 콘텐츠를 새로고침하세요"

사용 가능한 도구 및 리소스

Writer Context Tool은 다음을 제공합니다.

  1. 개별 에세이 리소스 : 각 에세이가 선택 가능한 리소스가 됩니다.
  2. search_writing : 임베딩을 사용하여 가장 관련성 있는 에세이를 찾는 의미 검색 도구
  3. refresh_content : 구성된 모든 플랫폼에서 콘텐츠를 새로 고치고 다시 캐시합니다.

캐싱 작동 방식

이 도구는 다음 기능을 사용하여 영구 캐싱을 구현합니다.

  1. 디스크 캐싱 : 모든 컨텐츠는 디스크에 저장되므로 세션 간에도 유지됩니다.
  2. 임베딩 : 각 에세이는 의미 검색을 위해 임베딩으로 변환됩니다.
  3. 선택적 새로 고침 : 도구는 캐시 설정에 따라 필요할 때만 콘텐츠를 새로 고칩니다.
  4. 사전 로딩 : 모든 컨텐츠가 자동으로 새로 고쳐지고 시작 시 임베딩이 생성됩니다.

문제 해결

문제가 발생하는 경우:

  1. 도구가 Claude Desktop에 나타나지 않습니다.
    • Claude Desktop 구성 파일이 올바른지 확인하세요.
    • 구성의 모든 경로가 절대 경로인지 확인하세요.
    • Python 환경에 필요한 모든 패키지가 있는지 확인하세요.
    • Claude Desktop을 다시 시작하세요
  2. 내용이 나타나지 않습니다:
    • config.json에서 Substack/Medium URL을 확인하세요.
    • "refresh_content" 도구를 사용해 보세요
    • 블로그가 공개되어 있고 게시물이 게시되었는지 확인하세요.
  3. uv 명령에 오류가 발생했습니다:
    • 대신 쉘 스크립트 접근 방식을 사용해 보세요
    • uv 명령이 설치되어 있고 PATH에 있는지 확인하세요.
  4. 임베딩 문제:
    • 임베딩 모델에 대한 오류가 표시되면 디스크 공간이 충분한지 확인하세요.
    • 임베딩이 제대로 작동하지 않으면 새로 설치하여 다시 실행하는 것을 고려하세요.

특허

이 프로젝트는 MIT 라이선스에 따라 제공됩니다.

ID: oqh0j6n6w3