Skip to main content

Model Context Protocol (MCP) server for Japanese Books

Project description

Japanese Books MCP Server (jp-books-mcp)

PyPI version Python Version

A Model Context Protocol (MCP) server that provides tools to search Japanese books and retrieve rich metadata. It integrates search results from:

  1. books.or.jp (Japan Book Publishers Association)
  2. National Diet Library (NDL) Search (National Diet Library Search)

Features

  • Book Search: Query books on books.or.jp or the National Diet Library (NDL).
  • Rich Metadata Extraction: Retrieve full book descriptions, publishers, formats (size), pages, prices, publication dates, and cover image URLs.
  • Robust Schema: Data is validated and structured using Pydantic v2.

Tools

The server registers three tools:

1. jp_books_search

Searches for books on books.or.jp by title, author, publisher, or other keywords.

  • Arguments:
    • query (string, required): The search query (e.g., book title, author name, or keyword).
  • Returns: A list of search results including title, author, publisher, publish date, URL, and ISBN/Code.

2. ndl_books_search

Searches for books in the National Diet Library (NDL) Database using their OpenSearch API.

  • Arguments:
    • query (string, required): The search query.
  • Returns: A list of NDL catalog results including title, authors, publisher, publication date, NDL link, ISBN, price, and pages.

3. jp_books_get_details

Retrieves rich details and descriptions for a specific book from books.or.jp using its ISBN or internal code.

  • Arguments:
    • isbn (string, required): The 13-digit ISBN or JPRO book code.
  • Returns: Detailed book metadata including title, author list, publisher, description, cover image URL, size, pages, price, publish/release dates, and raw metadata.

Configuration

You can easily run this MCP server using uvx (part of the uv toolchain) or npx/pipx.

Claude Desktop Configuration

Add this to your claude_desktop_config.json:

Using uvx (Recommended)

{
  "mcpServers": {
    "jp-books-mcp": {
      "command": "uvx",
      "args": [
        "jp-books-mcp"
      ]
    }
  }
}

Using python (if installed globally or in a virtualenv)

{
  "mcpServers": {
    "jp-books-mcp": {
      "command": "python",
      "args": [
        "-m",
        "jp_books_mcp.server"
      ]
    }
  }
}

Cursor Configuration

To use it in Cursor:

  1. Go to Settings > Features > MCP.
  2. Click + Add New MCP Server.
  3. Set the details:
    • Name: jp-books-mcp
    • Type: command
    • Command: uvx jp-books-mcp

Development

To set up the project locally for development, make sure you have uv installed.

1. Clone the repository and install dependencies

git clone https://github.com/rmc8/jp_books_mcp.git
cd jp_books_mcp
uv sync

2. Running the server locally

uv run jp-books-mcp

3. Running tests and linting

# Code formatting and lint check
uv run ruff check src

# Type checking
uv run mypy src

License

This project is licensed under the MIT License. See the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jp_books_mcp-0.1.0.tar.gz (49.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jp_books_mcp-0.1.0-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file jp_books_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: jp_books_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 49.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for jp_books_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ae89a96540f24dd025c56e21b8c92c77325494a98c1181c581077f8e562fe76b
MD5 50930f64451186fbc358bf284c043cb1
BLAKE2b-256 5168aae78dfff470bcbedc193c1f97dd7b48c66c23742b5125bceb58c7f6d41d

See more details on using hashes here.

File details

Details for the file jp_books_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: jp_books_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for jp_books_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3016abacf6ba8ae998971b322b0a48d657ab721e8141787f92b77698441731de
MD5 f4e005396b5c48c4cb1cc12b06410e2b
BLAKE2b-256 5c39e477370814e1fe93d1137147aee7e034d1a358171d6d7ffd2385189ed41a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page