Japanese Books MCP Server (jp-books-mcp)
A Model Context Protocol (MCP) server that provides tools to search Japanese books and retrieve rich metadata. It integrates search results from:
- books.or.jp (Japan Book Publishers Association)
- National Diet Library (NDL) Search (National Diet Library Search)
Features
- Book Search: Query books on
books.or.jpor 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:
- Go to Settings > Features > MCP.
- Click + Add New MCP Server.
- Set the details:
- Name:
jp-books-mcp - Type:
command - Command:
uvx jp-books-mcp
- Name:
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.
Metadata
Release files for jp-books-mcp 0.1.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jp_books_mcp-0.1.7.tar.gz | 95.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jp_books_mcp-0.1.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 107.5 kB
Release files / jp_books_mcp-0.1.7.tar.gz
| Download URL | jp_books_mcp-0.1.7.tar.gz |
|---|---|
| Size | 95.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8ad24f82395828b1ac623548357cf6cfe09edc1474df1fe8096c7c827f8a20b5
|
|
BLAKE2b-256 checksum How to use checksums |
3fe8bed3e29448ace232967f6eaa87d88fa942c4e4e385e48662651f7d826683
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / jp_books_mcp-0.1.7-py3-none-any.whl
| Download URL | jp_books_mcp-0.1.7-py3-none-any.whl |
|---|---|
| Size | 11.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c93006888a00fc2c66e6342f4349f81dc237c8885d164a5a8015c92467a8d79c
|
|
BLAKE2b-256 checksum How to use checksums |
b54a009c87e76dcf979955f98cf998595b23ee7ce8e72b9384818a41cc071b97
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|