MCP Open Library & File Search 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., "@MCP Open Library & File Search Serverfind books by J.K. Rowling"
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.
π MCP Open Library & File Search Server
This project is an MCP (Model Context Protocol) server built with TypeScript and Node.js. It provides two core tools:
search_authorβ search for books by author using the Open Library API.search_in_fileβ search for a keyword inside any local text file.
π Features
π search_author
Fetches book data by a given author name from the Open Library API.
Input
{
"author": "tolkien"
}Output A JSON response containing book search results.
π search_in_file
Scans a file for a keyword and returns the matching lines and their numbers.
Input
{
"filePath": "./sample.txt",
"keyword": "example"
}Output
Found 2 match(es) for "example" in "./sample.txt":
Line 3: This is an example line
Line 8: Another example textRelated MCP server: books-catalog
ποΈ Project Structure
MCP/
βββ build/ # Compiled JS files
βββ src/ # Source TypeScript files
β βββ index.ts
βββ sample.txt # Example file for keyword search
βββ package.json
βββ tsconfig.json
βββ .gitignore
βββ README.mdβοΈ Setup & Run
Install dependencies
npm installBuild
npm run buildRun
npm startOr directly (without compiling):
npm run dev
π§© Example: Using in MCP Inspector
For search_in_file:
{
"filePath": "./sample.txt",
"keyword": "OpenAI"
}For search_author:
{
"author": "tolkien"
}π§ Technologies
TypeScript
Node.js
π§Ύ License
MIT License Β© 2025
π¨βπ» Author
Your Name π§ maniranjan1512@gmail.com π github.com/maniranjan2023
Available Tools
2 toolssearch_authorC
Search for books on the Open Library API by author name.
| Name | Required | Description | Default |
|---|---|---|---|
| author | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It implies a read operation but does not state explicitly that it is read-only, nor does it mention rate limits, error behavior, or side effects. As a tool querying an external API, more detail is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words. While efficient, it could be slightly more structured, but it is not overly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description is incomplete. It doesn't explain the return format, error handling, or operational details for an API call, leaving significant gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description only mentions 'by author name', which minimally clarifies the parameter's purpose. No format, examples, or constraints are given, so it adds little value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool searches for books by author name. It uses a specific verb (search) and resource (books), and easily distinguishes from sibling tool 'search_in_file' which searches within a file.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus the sibling 'search_in_file' or any other alternatives. Lacks prerequisites or context about when the tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_in_fileB
Search for a specified keyword within a given file. Returns the lines containing the keyword and their line numbers.
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | ||
| keyword | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description bears the full burden. It states it returns lines and line numbers, which is good, but lacks details like case sensitivity, partial matching, or handling of large files. The behavior is partially transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the main action and output. No redundant words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-parameter tool with no output schema, the description covers the core function but omits contextual details like case sensitivity, encoding, or binary file handling. It is adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description adds no extra meaning beyond the parameter names. 'filePath' and 'keyword' are not elaborated (e.g., path format, match type). It provides minimal value over the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it searches for a keyword within a file and returns matching lines with line numbers. The verb 'search', resource 'file', and output are specific. The sibling 'search_author' helps distinguish it as a file-content search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool over 'search_author' or other alternatives. The description does not mention when not to use it or any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
2 tool updates
v0.1.0- First observed
search_author - First observed
search_in_file
TDQS
The two tools have entirely different purposesβone searches Open Library by author name, the other searches within a local file. No overlap or ambiguity is possible.
Both tools use the 'search_' prefix followed by a specifier (author vs. in_file), showing a consistent verb-first pattern. Minor variation in specifier type (noun vs. prepositional phrase) is acceptable.
With only two tools covering two distinct domains (Open Library and file search), the server feels thin and unfocused. Each domain would benefit from additional tools to be useful, making the count too low for the stated scope.
The server provides only one operation per domain: author search and in-file keyword search. Missing are common complementary tools like book search by title/ISBN, file listing, or multiple search modalities. The tool surface is severely incomplete for both purposes.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for Russian books search, details, and recommendation candidates.
MCP server for Project Gutenberg β 75,000+ public-domain ebooks with full plain-text retrieval.
Related MCP Servers
- AlicenseAqualityDmaintenanceA library management MCP server supporting book search, member management, and loan operations through natural language commands.134MIT
- AlicenseNot gradedqualityCmaintenanceA well-documented MCP server that exposes a local SQLite catalog of public-domain books through tools like search, get, filter by genre, top-rated, and catalog stats.MIT
- FlicenseCqualityDmaintenanceA comprehensive MCP server for searching books, films, and scholarly publications across multiple APIs like Open Library, Google Books, TMDb, and Crossref, with advanced filtering and deduplication.17-
- AlicenseNot gradedqualityAmaintenanceAn MCP server that enables searching books and authors, fetching editions, browsing subjects, and resolving cover images from Open Library.3233Apache 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/maniranjan2023/MCP-Server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server