Book Database MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Book Database MCP Serverfind book by title 'The Hobbit'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Book Database MCP Server
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 thecopilot-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 installBuild the TypeScript sources:
npm run buildThe 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.jsWhen running successfully you should see an informational message on stderr similar to:
Book database MCP Server running on stdioYou 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-isbnInput:
{ "isbn": "0451524935" }# returns details for "1984"
Get basic info by title:
Tool:
get-book-by-titleInput:
{ "title": "The Hobbit" }
Batch lookup by titles:
Tool:
get-books-by-titlesInput:
{ "titles": ["1984", "Brave New World"] }
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.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ps-copilot-sandbox/copilot-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server