Skip to content

zonuexe/techbook-mcp

v0.7.0AGPL-3.0-or-later

MCP server for searching Japanese technical book bibliographic information

techbook-mcp

CI npm version License: AGPL-3.0

日本語技術書の書誌情報を出版社公式サイト・APIから取得する MCP サーバー。

Claude などの AI アシスタントから、複数の出版社を横断して技術書を検索したり、書籍の詳細情報(著者・価格・ISBN・電子書籍ストアなど)を取得できます。

使用例

技術書を検索する

「Rustの入門書を探して」

Claude が search_books ツールを呼び出し、対応する全出版社から「Rust」を含む書籍を一覧で返します。

{
  "books": [
    {
      "title": "実践Rustプログラミング入門",
      "authors": ["山口聖弘", "吉川哲史", "扇谷陽", "尾崎嶺", "豊田優貴", "中村謙弘", "フレイム"],
      "publisher": "秀和システム",
      "publishedAt": "2020-08-22",
      "isbn": "9784798061702",
      "url": "https://www.seshop.com/product/detail/22342",
      "price": 3740,
      "ebookStores": [
        {
          "name": "SEshop",
          "url": "https://www.seshop.com/product/detail/22342",
          "drm": "social",
          "drmLabel": "DRMフリー (ソーシャル)"
        }
      ]
    }
  ]
}

特定の出版社だけを検索する

「技術評論社のDocker本を調べて」

// search_books({ title: "Docker", publisher: "gihyo" })

書籍の詳細情報を取得する

「この URL の本の詳細を教えて: https://gihyo.jp/book/2024/978-4-297-14000-6」

Claude が get_book_detail ツールで著者・価格・ISBN・購入可能なストア情報をまとめて取得します。

対応出版社を確認する

「どの出版社に対応していますか?」

Claude が list_publishers ツールを呼び出し、出版社名と ID の一覧を返します。

対応ソース

出版社・書店

publisher パラメータに ID を指定すると、その出版社のみを検索できます。

国内出版社

出版社・書店IDISBN出版者記号取得方式
BOOK TECHbook-techHTML scraping
ボーンデジタルborn-digital86246HTML scraping (EUC-JP)
コロナ社coronasha339HTML scraping
CQ出版社cq-publishingHTML scraping (Tech Village)
技術評論社gihyo297JSON API
インプレスブックスimpress-books8443HTML scraping
日科技連出版社juse-p8171HTML scraping
ラムダノートlambdanote908686HTML scraping (Shopify)
マナティ(マイナビ出版直販)manatee8399HTML scraping
丸善出版maruzen-publishing621HTML scraping
オプトロニクス社optronics902312HTML scraping
オライリー・ジャパンoreilly-japan8144HTML scraping (ローカルフィルタ)
PEAKSpeaksHTML scraping (ローカルフィルタ)
パーソナルメディアpersonal-media89362HTML scraping (ローカルフィルタ)
ラトルズrutles89977HTML scraping (EUC-JP)
サイエンス社saiensu7819HTML scraping
SEshop(翔泳社)seshop7981HTML scraping
達人出版会tatsu-zineHTML scraping
技術書典オンラインマーケットtechbookfestGraphQL API

ISBN出版者記号(978-4-XXXXX-...XXXXX 部分)が登録されている出版社は、ISBNだけで直接検索できます。 「—」は電子書籍専業・同人誌マーケット等でISBN出版者記号を持たないソースです。

海外出版社

DRM-free の英語技術書を扱う出版社です。価格は USD、language"en" を返します。

出版社・書店ID取得方式
Pragmatic BookshelfpragprogJSON index(ローカルフィルタ)
LeanpubleanpubHTML scraping

外部 API・データソース

サービスID用途備考
Google Booksgoogle-books横断検索APIキー必須(techbook-mcp setup で設定)
openBDISBN検索のバックボーン自動使用・設定不要
カーリルopenBDにない書籍のフォールバック自動使用・設定不要

openBDget_book_by_isbn ツールで常に参照される書誌情報データベースです。ISBN で書籍を検索すると、まず openBD から書誌情報・出版社ストアリンクを取得し、対応する出版社アダプターがあればそのサイトから詳細情報を補完します。openBD にない書籍(絶版・廃業出版社など)はカーリルにフォールバックします。

MCPツール

search_books

書名・著者名で複数の出版社を横断検索します。

パラメータ説明
titlestring書名(部分一致)。ISBN を渡すと自動的に ISBN 検索に振り分けます
authorstring著者名(部分一致)
publisherstring出版社ID(省略時は全社検索)
limitnumber1出版社あたりの最大件数(デフォルト: 10、最大: 50)

結果は各書籍にクエリとの一致度 matchScore(0〜1、1が完全一致)が付与され、**ベストマッチ順(降順)**で返ります。先頭ほど本命候補です。一致する書籍がなければ空配列を返します(無関係な新着本でフォールバックしないため、「該当なし」と「誤ヒット」を明確に区別できます)。各書籍の publishedAtYYYY-MM-DD(書籍管理アプリ Riida の release_date に対応)、language は ISO 639-1(省略時 "ja")です。大規模出版社を優先的に検索し、遅い・応答しないサイトはタイムアウトしてスキップするため、部分的な結果でも速やかに返ります。検索語は ASCII 語・正確なフルタイトルが最も当たりやすく、日本語の部分語は空白区切りの複数トークンにすると拾われやすくなります。

get_book_detail

書籍の公式ページ URL から詳細な書誌情報を取得します。

パラメータ説明
urlstring書籍の公式ページ URL

list_publishers

対応出版社の一覧と ID を返します。

セットアップ

Claude Desktop

claude_desktop_config.json に以下を追加してください。

{
  "mcpServers": {
    "techbook-mcp": {
      "command": "npx",
      "args": ["-y", "@zonuexe/techbook-mcp"]
    }
  }
}

設定ファイルの場所:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Claude Code

claude mcp add techbook-mcp -- npx -y @zonuexe/techbook-mcp

開発

npm install
npm test        # ユニットテスト実行(node:test)
npm run build   # TypeScript コンパイル → dist/

ランタイム

ランタイム起動方法
Node.js 22+node dist/main.js
Bunbun src/main.ts
Denodeno run --allow-net src/main.ts

ライセンス

AGPL-3.0-or-later