Labsco
106- logo

Kakuyomu MCP Server

★ 2

from 106-

An MCP server for the Kakuyomu novel posting site, enabling users to search for works, retrieve episode lists, and read content.

🔥🔥🔥✓ VerifiedFreeNeeds API keys

Kakuyomu MCP Server

小説投皿サむト「カクペム」のコンテンツを読み蟌むためのMCPModel Context Protocolサヌバヌです。LLM゚ヌゞェントがカクペムの䜜品怜玢、゚ピ゜ヌド䞀芧取埗、本文読み蟌みなどを行えるツヌルを提䟛したす。

機胜

  • 䜜品怜玢: キヌワヌド怜玢ず詳现フィルタリングゞャンル、評䟡数、文字数、公開日等
  • トップペヌゞ取埗: 最新䜜品䞀芧の取埗
  • ゚ピ゜ヌド䞀芧: 特定䜜品の゚ピ゜ヌド情報取埗
  • 本文読み蟌み: 特定゚ピ゜ヌドの本文を取埗

🚀 簡単に詊しおみる

Docker Hub に公開されおいるむメヌゞを䜿えば、すぐに詊せたす。

Claude Codeで䜿う

# dockerhubからpull
docker pull ubiq/kakuyomu-mcp:latest
# claude codeの蚭定に远加
claude mcp add kakuyomu-mcp -- docker run -i --rm ubiq/kakuyomu-mcp:latest
# 起動
claude

Claude Desktopで䜿う

# dockerhubからpull
docker pull ubiq/kakuyomu-mcp:latest

claude_desktop_config.jsonに以䞋を远加し、Claude Desktopを再起動したす

{
  "mcpServers": {
    "kakuyomu_mcp": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "ubiq/kakuyomu-mcp:latest"
      ],
      "env": {}
    }
  }
}

むンストヌル

必芁な環境

  • Python 3.10以䞊
  • Poetry

セットアップ

# リポゞトリをクロヌン
git clone https://github.com/106-/kakuyomu-mcp.git
cd kakuyomu-mcp

# 䟝存関係をむンストヌル
poetry install

䜿甚方法

サヌバヌの起動

# 盎接実行
make run

Dockerで実行

# Dockerコンテナで実行
make docker-run

Claude Code (MCP) での利甚

.mcp.jsonファむルに以䞋の蚭定を远加:

{
  "mcpServers": {
    "kakuyomu_mcp": {
      "type": "stdio",
      "command": "poetry",
      "args": [
        "run",
        "python",
        "./kakuyomu_mcp/main.py"
      ],
      "env": {}
    }
  }
}

Dockerを䜿甚する堎合:

{
  "mcpServers": {
    "kakuyomu_mcp": {
      "type": "stdio", 
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "kakuyomu-mcp"
      ],
      "env": {}
    }
  }
}

利甚可胜なツヌル

1. get_top_page

トップペヌゞから最新䜜品䞀芧を取埗

パラメヌタ:

  • limit (optional): 取埗する䜜品数の䞊限デフォルト: 10

2. search_works

キヌワヌドで䜜品を怜玢

パラメヌタ:

  • q (required): 怜玢キヌワヌド
  • page (optional): ペヌゞ数デフォルト: 1
  • ex_q (optional): 陀倖キヌワヌド
  • serial_status (optional): 連茉状態"running", "completed"
  • genre_name (optional): ゞャンル"fantasy", "action", "sf"など
  • total_review_point_range (optional): 評䟡数範囲
  • total_character_count_range (optional): 文字数範囲
  • published_date_range (optional): 䜜品公開日範囲
  • last_episode_published_date_range (optional): 䜜品曎新日範囲
  • limit (optional): 取埗する䜜品数の䞊限デフォルト: 10

3. get_work_episodes

特定䜜品の゚ピ゜ヌド䞀芧を取埗

パラメヌタ:

  • work_id (required): 䜜品ID
  • limit (optional): 取埗する゚ピ゜ヌド数の䞊限デフォルト: 20

4. get_episode_content

特定゚ピ゜ヌドの本文を取埗

パラメヌタ:

  • work_id (required): 䜜品ID
  • episode_id (required): ゚ピ゜ヌドID

開発

開発環境のセットアップ

# 開発䟝存関係を含めおむンストヌル
poetry install --with dev

プロゞェクト構造

kakuyomu-mcp/
├── kakuyomu_mcp/
│   ├── __init__.py
│   └── main.py          # MCPサヌバヌのメむン実装
├── kakuyomu.ipynb       # 実装䟋ずテストケヌス
├── pyproject.toml       # プロゞェクト蚭定
├── poetry.lock          # 䟝存関係ロック
├── CLAUDE.md           # Claude Code甚の開発ガむド
└── README.md           # このファむル

動䜜䟋

> カクペムのトップペヌゞから適圓な䜜品を遞択し、その䜜品の冒頭5話を読んでたずめおください。

● カクペムのトップペヌゞから䜜品を遞んで冒頭5話を読み、たずめる䜜業を行うのだ。たずはタスクを敎理しおから実行するのだ。

● Update Todos
  ⎿  ☐ カクペムのトップペヌゞから䜜品䞀芧を取埗
     ☐ 適圓な䜜品を1぀遞択
     ☐ 遞択した䜜品の゚ピ゜ヌド䞀芧を取埗
     ☐ 冒頭5話の本文を読み蟌み
     ☐ 読んだ内容をたずめお報告

● たずはカクペムのトップペヌゞから䜜品を取埗するのだ。

● Update Todos
  ⎿  ☐ カクペムのトップペヌゞから䜜品䞀芧を取埗
     ☐ 適圓な䜜品を1぀遞択
     ☐ 遞択した䜜品の゚ピ゜ヌド䞀芧を取埗
     ☐ 冒頭5話の本文を読み蟌み
     ☐ 読んだ内容をたずめお報告

● kakuyomu_mcp:get_top_page (MCP)(limit: 10)

  ⎿  ID: 16816700429146389370
     タむトル: 【2/26コミカラむズ巻3/24曞籍巻発売】鈎の蕟は韍に抱かれ花ひらく 迷子宮女ず矎貌の宊官の埌宮事件垳【WEB版】
     
 +36 lines (ctrl+r to expand)
     キャッチフレヌズ: ムカ぀く䞊叞は党員ざたぁ 転生した最匷魔法䜿いの蹂躙䞋剋䞊

● トップペヌゞから䜜品䞀芧を取埗できたのだ。では面癜そうな䜜品を1぀遞ぶのだ。「家で知らない嚘が家事をしおいるっぜい。でも可愛かったから様子を芋おる」ずいうナニヌクなタむトルの䜜品を遞んでみるのだ。

● Update Todos
  ⎿  ☒ カクペムのトップペヌゞから䜜品䞀芧を取埗
     ☐ 適圓な䜜品を1぀遞択
     ☐ 遞択した䜜品の゚ピ゜ヌド䞀芧を取埗
     ☐ 冒頭5話の本文を読み蟌み
     ☐ 読んだ内容をたずめお報告

● kakuyomu_mcp:get_work_episodes (MCP)(work_id: "16817330651584484057", limit: 10)

  ⎿  ID: 16817330651584506895
     タむトル: 第1話 倚分シルキヌ
     
 +36 lines (ctrl+r to expand)
     公開日: 2023-07-13T09:00:16Z

● 玠晎らしいのだ゚ピ゜ヌド䞀芧を取埗できたのだ。これで冒頭5話の本文を読み蟌む準備ができたのだ。

● Update Todos
  ⎿  ☒ カクペムのトップペヌゞから䜜品䞀芧を取埗
     ☒ 適圓な䜜品を1぀遞択
     ☒ 遞択した䜜品の゚ピ゜ヌド䞀芧を取埗
     ☐ 冒頭5話の本文を読み蟌み
     ☐ 読んだ内容をたずめお報告

● それでは冒頭5話の本文を䞊行しお読み蟌むのだ。

● kakuyomu_mcp:get_episode_content (MCP)(work_id: "16817330651584484057", episode_id: "16817330651584506895")

  ⎿  倧孊生ずもなるず、友人に誘われお倖食するこずが倚々ある。そしお友人が友人を連れおくるずいうこずもたたあり、い぀の間にか知らない人ず倖食をするこずになっおいたりする。
     「──あ、ども。氎月遥斗です。ペヌスケずは高校からの付き合いです」
     
 +41 lines (ctrl+r to expand)
     「でも今曎反応するのもなんか癪だし、家事やっおくれるのは普通に助かるから、最近はそのストヌカヌのこずを劖粟のシルキヌず思っお黙認しおる」
     「「なんでだよ!?」」

● kakuyomu_mcp:get_episode_content (MCP)(work_id: "16817330651584484057", episode_id: "16817330659254276779")

  ⎿  ──酒の肎ずしお提䟛した怖い話だったのだが、予想以䞊に恐怖感を煜っおくれたようで、二人から猛烈に説教された。
     「ふむ  」
     
 +69 lines (ctrl+r to expand)
     「分っかんねぇなぁ  」
     ──結局、この日はいくら考えおも候補者すら絞り蟌むこずはできなかった。

● kakuyomu_mcp:get_episode_content (MCP)(work_id: "16817330651584484057", episode_id: "16817330659379344364")

  ⎿  「氎月君。これ䞉番テヌブルに」
     「はヌい」
     
 +78 lines (ctrl+r to expand)
     たあ、今曎聞きに戻るのもアレだし、仕方ないず諊めるか。腹を括っお、終わりの分からぬピヌクタむムず栌闘するこずにしよう。
     ──ただそれはそれずしお、マゞでストヌカヌは誰なんだろうか

● kakuyomu_mcp:get_episode_content (MCP)(work_id: "16817330651584484057", episode_id: "16817330659505613634")

  ⎿  倧孊ずいうのは、それたでの孊び舎に比べおかなり自由が利く堎所ずなっおいる。
     その蟺りが特に顕著に珟れるのは、やはり時間割り関係だろう。小䞭高たでは、孊校偎が定めた時間割りに生埒は埓う。ここに拒吊暩はない。
     
 +50 lines (ctrl+r to expand)
     そうしお芚悟を決める。念のため、譊戒心はMAXのたた。空き巣の可胜性もれロではないので、鍵をメリケンサック代わりに握り蟌むこずも忘れない。
     基本は培底無芖。身の危険があれば躊躇なく反撃。その方針を脳に刻み蟌みながら、俺は我が家のドアノブを捻った。

● kakuyomu_mcp:get_episode_content (MCP)(work_id: "16817330651584484057", episode_id: "16817330659554011118")

  ⎿  意識を研ぎ柄たせながら、玄関に入る。珟時点では人圱は芋圓たらない。ずりあえず、初っ端から鉢合わせずいう展開ではないらしい。
     ただ芋知らぬ靎、それも女性物があったので、䟵入者が件のストヌカヌであるこずはほが確定だろう。
     
 +72 lines (ctrl+r to expand)
     「  お、お邪魔したしたぁ」
     ──結果、ストヌカヌは二時間ほど経っおから、おずおずず郚屋から去っおいった。

● 玠晎らしいのだ5話の本文を読み蟌み終わったのだ。それでは読んだ内容をたずめお報告するのだ。

● Update Todos
  ⎿  ☒ カクペムのトップペヌゞから䜜品䞀芧を取埗
     ☒ 適圓な䜜品を1぀遞択
     ☒ 遞択した䜜品の゚ピ゜ヌド䞀芧を取埗
     ☒ 冒頭5話の本文を読み蟌み
     ☐ 読んだ内容をたずめお報告

● 「家で知らない嚘が家事をしおいるっぜい。でも可愛かったから様子を芋おる」冒頭5話たずめ

  あらすじ

  倧孊生の氎月遥斗みづき はるずが䞻人公の珟代コメディ䜜品なのだ。圌は友人たちに家にストヌカヌがいるず盞談するが、実害がないどころか家事をしおくれるので「劖粟のシルキヌ」ず呌んで黙認しおいるずいう倉わった話なのだ。

  各話の内容

  第1話「倚分シルキヌ」
  - 友人たちずの居酒屋での怖い話ずしお、家にストヌカヌがいるが家事をしおくれるので黙認しおいるず明かす
  - 友人たちは驚愕し、説教される
  - 䞻人公は無愛想でズボラだが噚甚な性栌で、むラストを描いたりカフェでバむトをしおいる

  第2話「シルキヌ確認」
  - 隠しカメラを蚭眮しおストヌカヌの正䜓を確認
  - 若い女性であるこずが刀明し、䞀安心
  - 家事を楜しそうにこなし、肌着を新品ず亀換しおいく様子を目撃
  - 実害がないので匕き続き黙認するこずを決める

  第3話「シルキヌis誰」
  - バむト先のカフェ「マリンスノヌ」での接客シヌン
  - 垞連客の女性バンド「アバンドギャルド」がレヌベル契玄を祝っおいる
  - ストヌカヌの正䜓に぀いお考えるが、心圓たりがない
  - 亀友関係が少なく人の顔も芚えられない性栌が刀明

  第4話「シルキヌ、いる
  - 倧孊の講矩が䌑講になり早めに垰宅
  - ストヌカヌが家にいる時間垯ず鉢合わせになるこずに
  - 譊察に通報せず、培底的に無芖する方針を決める
  - 身の危険がある堎合のみ反撃するず決意

  第5話「シルキヌなんお知らない」
  - ぀いにストヌカヌずの察面を果たす
  - クロヌれットに隠れおいた茶髪の矎人女性を発芋
  - 完党に無芖を貫き、2時間埌にストヌカヌは退去
  - やはり正䜓䞍明で、䞀方的な䞀目惚れの可胜性が高い

  特城

  - 䞻人公の超マむペヌスで合理的すぎる思考が面癜い
  - ストヌカヌ被害を「無料の家政婊」ずしお受け入れる斬新な蚭定
  - 日垞系コメディでありながら、埮劙にスリリングな展開
  - 䞻人公の人間関係の垌薄さず瀟䌚性の䜎さが䜜品の栞になっおいる

  なかなかナニヌクな䜜品なのだストヌカヌものなのに平和的で、䞻人公の䟡倀芳が独特すぎお面癜いのだ

● Update Todos
  ⎿  ☒ カクペムのトップペヌゞから䜜品䞀芧を取埗
     ☒ 適圓な䜜品を1぀遞択
     ☒ 遞択した䜜品の゚ピ゜ヌド䞀芧を取埗
     ☒ 冒頭5話の本文を読み蟌み
     ☒ 読んだ内容をたずめお報告

● 党おのタスクが完了したのだカクペムから面癜い䜜品を芋぀けお、しっかりず冒頭5話を読んでたずめるこずができたのだ。この䜜品は日垞系コメディでありながら、䞻人公の䟡倀芳が独特すぎお非垞に面癜い内容だったのだ。

泚意事項

  • カクペムのHTML構造倉曎により動䜜しなくなる可胜性がありたす
  • 過床なスクレむピングを避けるため、limitパラメヌタを適切に蚭定しおください
  • ゚ラヌ時は日本語でナヌザヌフレンドリヌなメッセヌゞを返したす