Book Database MCP Server
Enables querying a curated book database using MCP tools to retrieve basic or detailed book information by ISBN or title, including batch lookups.
README
Book Database MCP Server
[!NOTE] This is a small MCP (Model Context Protocol) demo server used during the GitHub Copilot Agents and MCP training sessions. It used by a demo explained in the copilot-agent-and-mcp repository.
Functional
Book Database MCP Server exposes a simple set of tools that let an MCP-capable agent or client query a curated book database. Key features:
- Retrieve a book's basic information (ISBN, title, author) by title.
- Retrieve detailed book information (summary, date, author) by ISBN.
- Batch queries: request multiple books by a list of titles or ISBNs.
- Uses small JSON files as the backing dataset (easy to read and modify for demos).
Technical
- Runtime: Node.js (TypeScript source in
src/). - Protocol: Model Context Protocol (MCP) using
@modelcontextprotocol/sdk. - Transport: Standard I/O transport (
StdioServerTransport) — this server communicates over stdio. - Validation: Input schemas are validated with
zodfor each tool. - Data:
src/data/books.json(basic list) andsrc/data/books-details.json(summaries and dates). - Tools implemented in
src/index.ts:get-book-by-isbn— takesisbn: string(10 chars)get-book-by-title— takestitle: stringget-books-by-titles— takestitles: string[]get-books-by-isbn-list— takesisbnList: string[](10-char items)
Setup
Prerequisites: Node.js (18+ recommended) and npm.
- Clone the repository and enter the demo folder:
git clone <repo-url>
cd <repo-root>
- Install dependencies:
npm install
- Build the TypeScript sources:
npm run build
The build produces build/index.js and the build folder is listed in package.json files.
Run
Start the MCP server (it runs on stdio and writes a startup log to stderr):
node build/index.js
When running successfully you should see an informational message on stderr similar to:
Book database MCP Server running on stdio
You don't need to start the server manually during the demo as it will be started by the MCP server configuration in the webapp demo repository.
Usage examples
The server exposes the tool names listed above. Example calls (conceptual):
-
Get details by ISBN:
- Tool:
get-book-by-isbn - Input:
{ "isbn": "0451524935" }# returns details for "1984"
- Tool:
-
Get basic info by title:
- Tool:
get-book-by-title - Input:
{ "title": "The Hobbit" }
- Tool:
-
Batch lookup by titles:
- Tool:
get-books-by-titles - Input:
{ "titles": ["1984", "Brave New World"] }
- Tool:
Data
The datasets are small JSON files in src/data/ so you can easily tweak entries during a workshop:
src/data/books.json— array of simple book objects (ISBN, title, author)src/data/books-details.json— object with abooksarray containing summaries and dates
Notes
- This project is intentionally small and focused on demonstrating how to serve tools over MCP.
- If you want to interactively test tools locally, write a tiny Node client that uses
StdioClientTransportfrom@modelcontextprotocol/sdkand spawn this server as a child process so their stdio streams are connected.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.