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.1.tar.gz (49.8 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.1-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jp_books_mcp-0.1.1.tar.gz
  • Upload date:
  • Size: 49.8 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.1.tar.gz
Algorithm Hash digest
SHA256 70216f665e0158ed1c161119cd98b6727be768aeb66159371ea2e18787fe1964
MD5 195cd0232d83be1ae356a5afee3eff08
BLAKE2b-256 c4ade5e5d6e1a96ce71c5d20b296751d214e156adb36ccee2efef9a0a5504f09

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jp_books_mcp-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 11.7 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 82a89b6a7896d8aa8afbd823c81207691a7fe305697ee94268ae43d22450c1f1
MD5 a6bde124b0f3eb6b4d2748008e04e43f
BLAKE2b-256 90d01d0e4f619932b361035b806a2e7cb498ae772f13c277ff021c4c519e2c46

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