Skip to content

Releases: zonuexe/techbook-mcp

v0.7.0

Choose a tag to compare

@zonuexe zonuexe released this 08 Aug 17:44

Added

  • 全ツールに readOnlyHint / openWorldHint アノテーションを付与し、クライアントがツールの性質(読み取り専用・外部サイトへのアクセスの有無)を判別できるようにした
  • 各ツールに outputSchema を定義し、tools/call の応答に構造化データ(structuredContent)を含めるようにした。従来通りのJSON文字列表現(content)も維持する
  • Agent Plugins 仕様(agent-plugins.org)準拠の plugin.json / mcp.json を追加し、対応クライアントから本サーバーをプラグインとして検出・起動できるようにした

Changed

  • MCP SDK を v1 (@modelcontextprotocol/sdk) から v2 (@modelcontextprotocol/server) に移行した

Fixed

  • 引数不備・未知のツール名のエラーを、実装依存の内部エラー(-32603)ではなく JSON-RPC 仕様通りの Invalid params(-32602)で返すようにした

Security

  • TypeScript を 7 系にアップデートし、推移的依存(cheerio 経由の undici)の既知の脆弱性を解消した(npm audit 0 件)

v0.6.0

Choose a tag to compare

@zonuexe zonuexe released this 06 Jul 03:36

Added

  • IPA(情報処理推進機構)(ipa) アダプターを追加。アーカイブ刊行物(SEC BOOKS・情報セキュリティ白書・ソフトウェア開発データ白書・各種ガイド)を書名でローカルフィルタし、書誌情報を取得する。無償配布 PDF のため ebookStores は DRM フリー、旧刊の ISBN-10 は ISBN-13 に変換、税抜表記の定価は税込整数に換算する

v0.5.1

Choose a tag to compare

@zonuexe zonuexe released this 30 Jun 12:28

Added

  • C&R研究所 (c-r) アダプターを追加。公式サイト c-r.com を正典として書名・著者・ISBN・価格を取得する。価格は税抜表記(2,720円+税)を税込整数に換算し、電子書籍の購入動線は本の森.JP(マイナビ出版 manatee 基盤)を ebookStores に充てる

v0.5.0

Choose a tag to compare

@zonuexe zonuexe released this 21 Jun 04:56

Added

  • BookRecordsubtitle(副題)・alternativeTitle(並列タイトル・別言語タイトル) を追加。openBD の ISBD 表記書名(本タイトル = 並列タイトル : 副題)を構造化し、" : " を副題、" = " を並列タイトルとして分離する
  • resolve_book / resolve_booksvalidationisbnMatches(要求 ISBN と返却 ISBN の一致)を追加し、book がある限り取得元(source)に依存せず常に付与するようにした。評価できない項目は null で明示する(呼び出し側が統一的にパースできる)
  • openBD の発行日が月精度(YYYYMM)の場合も publishedAtYYYY-MM-01 形式で返すようにした

Changed

  • validation.editionDiffers は ISBN が一致しているとき常に false を返すようにした(ISBN で版が確定するため。書名表記の差は titleExact で表す)
  • resolve_book / resolve_books の検索経路で返す book から、トップレベルと重複していた matchScore を除去した(matchScore はトップレベルのみ)
  • スクレイピング由来の改行・連続空白が書名に混入していたのを、出力時に単一スペースへ畳むようにした

Fixed

  • resolve_book / resolve_books で、ISBN を指定したのに解決できず書名検索へフォールバックした際、要求と異なる版(別 ISBN)を confidence: high のまま黙って返していた問題を修正。要求 ISBN と一致しない場合は confidence を下げ、validation.isbnMatches: falsereason で警告する
  • openBD 由来の著者が、生年つきの図書館見出し形式(姓, 名, 1983-)のまま返ることがあった問題を修正(姓 名 に整形し生年を除去)

Security

  • 推移的依存(cheerio 経由の undici、@modelcontextprotocol/sdk 経由の hono)の既知の脆弱性を解消(npm audit 0 件)

[0.3.1] - 2026-06-02

Choose a tag to compare

@zonuexe zonuexe released this 02 Jun 14:05

Fixed

  • MCP サーバーがクライアントに申告する version が実際のパッケー
    ジバージョンと一致せず 0.1.0 に固定されていた問題を修正(HTTP User-Agent も同様に固定されていた。src/version.ts の単一定数を参照するよう一元化)

Full Changelog: v0.3.0...v0.3.1

[0.3.0] - 2026-06-02

Choose a tag to compare

@zonuexe zonuexe released this 02 Jun 13:56

Added

  • CQ出版社 (cq-publishing) アダプターを追加(電子書籍直販サイト Tech Village)
  • Pragmatic Bookshelf (pragprog) アダプターを追加(海外・DRM-free)
  • Leanpub (leanpub) アダプターを追加(海外・セルフ出版・DRM-free)
  • 海外出版社の価格に対応する BookRecord.currency(ISO 4217、省略時は JPY)を追加
  • 書籍の言語を表す BookRecord.language(ISO 639-1、省略時は ja)を追加
  • search_books が各候補にクエリとの一致度 matchScore を付与し、ベストマッチ順にソートするよう改善
  • search_bookstitle が ISBN 形式かつ author 未指定のとき get_book_by_isbn 経路へ振り分け(ISBN ショートカット)
  • get_book_by_isbn が openBD 未収録の旧刊でも、ISBN ベースの安定 URL を持つ出版社(O'Reilly の /books/{isbn}/)の詳細ページを直接取得して書誌を回収(電子書籍専売・販売終了タイトルの部分救済。価格は取得不可)

Changed

  • search_books は「該当なし」を空配列で返すようになり、検索サイトが該当なし時に返す無関係な新着フォールバックを除外(誤メタデータの混入を防止)
  • 書名の一致をトークン分割×包含割合で評価し、純日本語の部分一致(助詞を跨ぐ部分語)を拾えるよう改善
  • 検索結果の著者を search / detail / isbn の全経路で重複排除(表記ゆれも同一視)
  • 出版社の検索 API が著者を返さない場合でも、ISBN があれば openBD から authors を補完
  • 横断検索を並列度6・1社あたり12秒タイムアウトで高速化/静音化し、小規模サイトはカタログを長期キャッシュ(大規模出版社を優先)

Fixed

  • EUC-JP レスポンスをデコードし、ラトルズ・ボーンデジタルの検索結果が常に 0 件になる問題を修正(非 UTF-8 レスポンス全般に対応)

Security

  • 依存を最新メジャーへ更新し、SDK 経由の推移的脆弱性 5 件を解消

Full Changelog: v0.2.4...v0.3.0

[0.2.4] - 2026-04-19

Choose a tag to compare

@zonuexe zonuexe released this 18 Apr 18:59

Added

  • 日科技連出版社 (juse-p) アダプターを追加
  • Google Books アダプター (google-books) を追加(APIキー未設定時は無効化)
  • techbook-mcp setup コマンドを追加: Google Books API キーを対話入力し OS 固有の設定ディレクトリに保存
    • Linux: $XDG_CONFIG_HOME/techbook-mcp/credentials.json
    • macOS: ~/Library/Application Support/techbook-mcp/credentials.json
    • Windows: %APPDATA%\techbook-mcp\credentials.json
  • ISBN出版者記号から出版社アダプターを特定するマッピング (PUBLISHER_ISBN_CODES) を追加(13出版社)
  • get_book_by_isbn が openBD の storelink に加え、ISBN出版者記号からも対応アダプターを特定して出版社サイトから直接取得を試みるよう改善

Full Changelog: v0.2.3...v0.2.4

[0.2.3] - 2026-04-13

Choose a tag to compare

@zonuexe zonuexe released this 13 Apr 14:00

Added

  • get_book_by_isbn ツールを追加(ISBNから書誌情報を取得)
  • openBD にない書籍のフォールバックとしてカーリル API を追加

Fixed

  • getDetail() の著者取得を自己紹介文ではなく itemprop="author" から取得するよう修正
  • bin エントリの ./ プレフィックスを修正

Full Changelog: v0.2.2...v0.2.3

[0.2.2] - 2026-04-12

Choose a tag to compare

@zonuexe zonuexe released this 13 Apr 13:55

Fixed

  • npm publish 前に dist/ が自動ビルドされるよう prepublishOnly スクリプトを追加

Full Changelog: v0.2.1...v0.2.2

[0.2.1] - 2026-04-12

Choose a tag to compare

@zonuexe zonuexe released this 12 Apr 11:17

Fixed

  • 達人出版会アダプターの検索が常に無関係な書籍を返す問題を修正(?search= パラメータがサーバーで無視されていたため、全書籍一覧からローカルフィルタリングする方式に変更)

Full Changelog: v0.2.0...v0.2.1