{"servers":[{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.smeet666/mcp-books","description":"Search the Internet Archive and the Library of Congress at once, inside scanned text.","repository":{"url":"https://github.com/smeet666/mcp-books","source":"github"},"version":"1.0.0","websiteUrl":"https://github.com/smeet666/mcp-books#readme","icons":[{"src":"https://raw.githubusercontent.com/smeet666/mcp-books/main/assets/icon-128.png","mimeType":"image/png","sizes":["128x128"]},{"src":"https://raw.githubusercontent.com/smeet666/mcp-books/main/assets/icon-512.png","mimeType":"image/png","sizes":["512x512"]}],"packages":[{"registryType":"npm","identifier":"mcp-books","version":"1.0.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Identify your own client. The project's own identifier is appended, so an archive can always reach a human.","name":"BOOKS_USER_AGENT"},{"description":"Widen the gap between two requests to one archive. Each archive keeps its own spacing when this is unset, and this can only make it wider.","name":"BOOKS_MIN_INTERVAL_MS"},{"description":"Deadline for one request to an archive, in milliseconds. Default 45000.","name":"BOOKS_TIMEOUT_MS"},{"description":"Retries on rate limiting and transient failures. Default 3.","name":"BOOKS_MAX_RETRIES"},{"description":"In-memory cache lifetime, in milliseconds. Default 900000. Set 0 to turn it off.","name":"BOOKS_CACHE_TTL_MS"},{"description":"In-memory cache size. Default 200.","name":"BOOKS_CACHE_MAX_ENTRIES"},{"description":"silent, error, info or debug. Default error. Logs go to stderr.","name":"BOOKS_LOG_LEVEL"}]},{"registryType":"mcpb","identifier":"https://github.com/smeet666/mcp-books/releases/download/v1.0.0/mcp-books-1.0.0.mcpb","version":"1.0.0","fileSha256":"8115f431074c32fcbf81aeefcafd9247792323929c6ed44afe93ab68c01f7768","transport":{"type":"stdio"}}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-07T22:21:18.157559Z","publishedAt":"2026-08-07T22:21:18.157559Z","updatedAt":"2026-08-07T22:21:18.157559Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.smeet666/mcp-books","description":"Search the Internet Archive, the Library of Congress and data.bnf.fr at once, in one answer.","repository":{"url":"https://github.com/smeet666/mcp-books","source":"github"},"version":"1.1.0","websiteUrl":"https://github.com/smeet666/mcp-books#readme","icons":[{"src":"https://raw.githubusercontent.com/smeet666/mcp-books/main/assets/icon-128.png","mimeType":"image/png","sizes":["128x128"]},{"src":"https://raw.githubusercontent.com/smeet666/mcp-books/main/assets/icon-512.png","mimeType":"image/png","sizes":["512x512"]}],"packages":[{"registryType":"npm","identifier":"mcp-books","version":"1.1.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Identify your own client. The project's own identifier is appended, so an archive can always reach a human.","name":"BOOKS_USER_AGENT"},{"description":"Widen the gap between two requests to one archive. Each archive keeps its own spacing when this is unset, and this can only make it wider.","name":"BOOKS_MIN_INTERVAL_MS"},{"description":"Deadline for one request to an archive, in milliseconds. Default 45000.","name":"BOOKS_TIMEOUT_MS"},{"description":"Retries on rate limiting and transient failures. Default 3.","name":"BOOKS_MAX_RETRIES"},{"description":"In-memory cache lifetime, in milliseconds. Default 900000. Set 0 to turn it off.","name":"BOOKS_CACHE_TTL_MS"},{"description":"In-memory cache size. Default 200.","name":"BOOKS_CACHE_MAX_ENTRIES"},{"description":"silent, error, info or debug. Default error. Logs go to stderr.","name":"BOOKS_LOG_LEVEL"}]},{"registryType":"mcpb","identifier":"https://github.com/smeet666/mcp-books/releases/download/v1.1.0/mcp-books-1.1.0.mcpb","version":"1.1.0","fileSha256":"cf5ad247905f8e2457216f2117d9e957cf10adb0135c420a2ce5e95822697ce3","transport":{"type":"stdio"}}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-08T18:40:17.501811Z","publishedAt":"2026-08-08T18:40:17.501811Z","updatedAt":"2026-08-08T18:40:17.501811Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.smeet666/mcp-books","description":"Search the Internet Archive, the Library of Congress and data.bnf.fr at once, in one answer.","repository":{"url":"https://github.com/smeet666/mcp-books","source":"github"},"version":"1.2.0","websiteUrl":"https://github.com/smeet666/mcp-books#readme","icons":[{"src":"https://raw.githubusercontent.com/smeet666/mcp-books/main/assets/icon-128.png","mimeType":"image/png","sizes":["128x128"]},{"src":"https://raw.githubusercontent.com/smeet666/mcp-books/main/assets/icon-512.png","mimeType":"image/png","sizes":["512x512"]}],"packages":[{"registryType":"npm","identifier":"mcp-books","version":"1.2.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Identify your own client. The project's own identifier is appended, so an archive can always reach a human.","name":"BOOKS_USER_AGENT"},{"description":"Widen the gap between two requests to one archive. Each archive keeps its own spacing when this is unset, and this can only make it wider.","name":"BOOKS_MIN_INTERVAL_MS"},{"description":"Deadline for one request to an archive, in milliseconds. Default 45000.","name":"BOOKS_TIMEOUT_MS"},{"description":"Retries on rate limiting and transient failures. Default 3.","name":"BOOKS_MAX_RETRIES"},{"description":"In-memory cache lifetime, in milliseconds. Default 900000. Set 0 to turn it off.","name":"BOOKS_CACHE_TTL_MS"},{"description":"In-memory cache size. Default 200.","name":"BOOKS_CACHE_MAX_ENTRIES"},{"description":"silent, error, info or debug. Default error. Logs go to stderr.","name":"BOOKS_LOG_LEVEL"}]},{"registryType":"mcpb","identifier":"https://github.com/smeet666/mcp-books/releases/download/v1.2.0/mcp-books-1.2.0.mcpb","version":"1.2.0","fileSha256":"b4a9a8c78d71176387f49ef2b69bf5efb85d36ae7b4916e3b7c0c200d7de74b4","transport":{"type":"stdio"}}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-09T18:33:15.510528Z","publishedAt":"2026-08-09T18:33:15.510528Z","updatedAt":"2026-08-09T18:33:15.510528Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.smeet666/mcp-books","description":"Search the Internet Archive, the Library of Congress and data.bnf.fr at once, in one answer.","repository":{"url":"https://github.com/smeet666/mcp-books","source":"github"},"version":"1.2.1","websiteUrl":"https://github.com/smeet666/mcp-books#readme","icons":[{"src":"https://raw.githubusercontent.com/smeet666/mcp-books/main/assets/icon-128.png","mimeType":"image/png","sizes":["128x128"]},{"src":"https://raw.githubusercontent.com/smeet666/mcp-books/main/assets/icon-512.png","mimeType":"image/png","sizes":["512x512"]}],"packages":[{"registryType":"npm","identifier":"mcp-books","version":"1.2.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Identify your own client. The project's own identifier is appended, so an archive can always reach a human.","name":"BOOKS_USER_AGENT"},{"description":"Widen the gap between two requests to one archive. Each archive keeps its own spacing when this is unset, and this can only make it wider.","name":"BOOKS_MIN_INTERVAL_MS"},{"description":"Deadline for one request to an archive, in milliseconds. Default 45000.","name":"BOOKS_TIMEOUT_MS"},{"description":"Retries on rate limiting and transient failures. Default 3.","name":"BOOKS_MAX_RETRIES"},{"description":"In-memory cache lifetime, in milliseconds. Default 900000. Set 0 to turn it off.","name":"BOOKS_CACHE_TTL_MS"},{"description":"In-memory cache size. Default 200.","name":"BOOKS_CACHE_MAX_ENTRIES"},{"description":"silent, error, info or debug. Default error. Logs go to stderr.","name":"BOOKS_LOG_LEVEL"}]},{"registryType":"mcpb","identifier":"https://github.com/smeet666/mcp-books/releases/download/v1.2.1/mcp-books-1.2.1.mcpb","version":"1.2.1","fileSha256":"1dcff2ca3c42ea9c27f8175d5e01fd45599a3e2563244c4343a860d4ba6f8d71","transport":{"type":"stdio"}}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-14T09:01:04.550229Z","publishedAt":"2026-08-14T09:01:04.550229Z","updatedAt":"2026-08-14T09:01:04.550229Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.smeet666/mcp-books","description":"Search the Internet Archive, the Library of Congress and data.bnf.fr at once, in one answer.","repository":{"url":"https://github.com/smeet666/mcp-books","source":"github"},"version":"1.2.2","websiteUrl":"https://github.com/smeet666/mcp-books#readme","icons":[{"src":"https://raw.githubusercontent.com/smeet666/mcp-books/main/assets/icon-128.png","mimeType":"image/png","sizes":["128x128"]},{"src":"https://raw.githubusercontent.com/smeet666/mcp-books/main/assets/icon-512.png","mimeType":"image/png","sizes":["512x512"]}],"packages":[{"registryType":"npm","identifier":"mcp-books","version":"1.2.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"Identify your own client. The project's own identifier is appended, so an archive can always reach a human.","name":"BOOKS_USER_AGENT"},{"description":"Widen the gap between two requests to one archive. Each archive keeps its own spacing when this is unset, and this can only make it wider.","name":"BOOKS_MIN_INTERVAL_MS"},{"description":"Deadline for one request to an archive, in milliseconds. Default 45000.","name":"BOOKS_TIMEOUT_MS"},{"description":"Retries on rate limiting and transient failures. Default 3.","name":"BOOKS_MAX_RETRIES"},{"description":"In-memory cache lifetime, in milliseconds. Default 900000. Set 0 to turn it off.","name":"BOOKS_CACHE_TTL_MS"},{"description":"In-memory cache size. Default 200.","name":"BOOKS_CACHE_MAX_ENTRIES"},{"description":"silent, error, info or debug. Default error. Logs go to stderr.","name":"BOOKS_LOG_LEVEL"}]},{"registryType":"mcpb","identifier":"https://github.com/smeet666/mcp-books/releases/download/v1.2.2/mcp-books-1.2.2.mcpb","version":"1.2.2","fileSha256":"684423d8592aaa607da06b6969621926149759d02cfa0f2de4320416c90f8b70","transport":{"type":"stdio"}}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-14T17:35:41.235675Z","publishedAt":"2026-08-14T17:35:41.235675Z","updatedAt":"2026-08-14T17:35:41.235675Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.smeet666/mcp-books","description":"Search the Internet Archive, the Library of Congress and data.bnf.fr at once, in one answer.","repository":{"url":"https://github.com/smeet666/mcp-books","source":"github"},"version":"1.2.3","websiteUrl":"https://github.com/smeet666/mcp-books#readme","icons":[{"src":"https://raw.githubusercontent.com/smeet666/mcp-books/main/assets/icon-128.png","mimeType":"image/png","sizes":["128x128"]},{"src":"https://raw.githubusercontent.com/smeet666/mcp-books/main/assets/icon-512.png","mimeType":"image/png","sizes":["512x512"]}],"packages":[{"registryType":"npm","identifier":"mcp-books","version":"1.2.3","transport":{"type":"stdio"},"environmentVariables":[{"description":"Identify your own client. The project's own identifier is appended, so an archive can always reach a human.","name":"BOOKS_USER_AGENT"},{"description":"Widen the gap between two requests to one archive. Each archive keeps its own spacing when this is unset, and this can only make it wider.","name":"BOOKS_MIN_INTERVAL_MS"},{"description":"Deadline for one request to an archive, in milliseconds. Default 45000.","name":"BOOKS_TIMEOUT_MS"},{"description":"Retries on rate limiting and transient failures. Default 3.","name":"BOOKS_MAX_RETRIES"},{"description":"In-memory cache lifetime, in milliseconds. Default 900000. Set 0 to turn it off.","name":"BOOKS_CACHE_TTL_MS"},{"description":"In-memory cache size. Default 200.","name":"BOOKS_CACHE_MAX_ENTRIES"},{"description":"silent, error, info or debug. Default error. Logs go to stderr.","name":"BOOKS_LOG_LEVEL"}]},{"registryType":"mcpb","identifier":"https://github.com/smeet666/mcp-books/releases/download/v1.2.3/mcp-books-1.2.3.mcpb","version":"1.2.3","fileSha256":"bd9d23167189ef1c291c1c02475ed783fcc370f3ebd2cd4ea36dd793fef5923c","transport":{"type":"stdio"}}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-14T18:15:36.771151Z","publishedAt":"2026-08-14T18:15:36.771151Z","updatedAt":"2026-08-14T18:15:36.771151Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.smeet666/mcp-books","description":"Search the Internet Archive, the Library of Congress and data.bnf.fr at once, in one answer.","repository":{"url":"https://github.com/smeet666/mcp-books","source":"github"},"version":"1.2.4","websiteUrl":"https://github.com/smeet666/mcp-books#readme","icons":[{"src":"https://raw.githubusercontent.com/smeet666/mcp-books/main/assets/icon-128.png","mimeType":"image/png","sizes":["128x128"]},{"src":"https://raw.githubusercontent.com/smeet666/mcp-books/main/assets/icon-512.png","mimeType":"image/png","sizes":["512x512"]}],"packages":[{"registryType":"npm","identifier":"mcp-books","version":"1.2.4","transport":{"type":"stdio"},"environmentVariables":[{"description":"Identify your own client. The project's own identifier is appended, so an archive can always reach a human.","name":"BOOKS_USER_AGENT"},{"description":"Widen the gap between two requests to one archive. Each archive keeps its own spacing when this is unset, and this can only make it wider.","name":"BOOKS_MIN_INTERVAL_MS"},{"description":"Deadline for one request to an archive, in milliseconds. Default 45000.","name":"BOOKS_TIMEOUT_MS"},{"description":"Retries on rate limiting and transient failures. Default 3.","name":"BOOKS_MAX_RETRIES"},{"description":"In-memory cache lifetime, in milliseconds. Default 900000. Set 0 to turn it off.","name":"BOOKS_CACHE_TTL_MS"},{"description":"In-memory cache size. Default 200.","name":"BOOKS_CACHE_MAX_ENTRIES"},{"description":"silent, error, info or debug. Default error. Logs go to stderr.","name":"BOOKS_LOG_LEVEL"}]},{"registryType":"mcpb","identifier":"https://github.com/smeet666/mcp-books/releases/download/v1.2.4/mcp-books-1.2.4.mcpb","version":"1.2.4","fileSha256":"c830fe315ab22625ca30043eb3724d860f8f0da253ba44612915f2f6fac24330","transport":{"type":"stdio"}}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-14T18:32:42.830052Z","publishedAt":"2026-08-14T18:32:42.830052Z","updatedAt":"2026-08-14T18:32:42.830052Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.smeet666/mcp-books","description":"Search the Internet Archive, the Library of Congress and data.bnf.fr at once, in one answer.","repository":{"url":"https://github.com/smeet666/mcp-books","source":"github"},"version":"2.0.0","websiteUrl":"https://github.com/smeet666/mcp-books#readme","icons":[{"src":"https://raw.githubusercontent.com/smeet666/mcp-books/main/assets/icon-128.png","mimeType":"image/png","sizes":["128x128"]},{"src":"https://raw.githubusercontent.com/smeet666/mcp-books/main/assets/icon-512.png","mimeType":"image/png","sizes":["512x512"]}],"packages":[{"registryType":"npm","identifier":"mcp-books","version":"2.0.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Identify your own client. The project's own identifier is appended, so an archive can always reach a human.","name":"BOOKS_USER_AGENT"},{"description":"Widen the gap between two requests to one archive. Each archive keeps its own spacing when this is unset, and this can only make it wider.","name":"BOOKS_MIN_INTERVAL_MS"},{"description":"Deadline for one request to an archive, in milliseconds. Default 45000.","name":"BOOKS_TIMEOUT_MS"},{"description":"Retries on rate limiting and transient failures. Default 3.","name":"BOOKS_MAX_RETRIES"},{"description":"In-memory cache lifetime, in milliseconds. Default 900000. Set 0 to turn it off.","name":"BOOKS_CACHE_TTL_MS"},{"description":"In-memory cache size. Default 200.","name":"BOOKS_CACHE_MAX_ENTRIES"},{"description":"silent, error, info or debug. Default error. Logs go to stderr.","name":"BOOKS_LOG_LEVEL"}]},{"registryType":"mcpb","identifier":"https://github.com/smeet666/mcp-books/releases/download/v2.0.0/mcp-books-2.0.0.mcpb","version":"2.0.0","fileSha256":"d9f8c737ba387b4856be4a224bf280e89938e7a91def2c09170c7b8b4e0a38e2","transport":{"type":"stdio"}}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-26T07:30:58.089898Z","publishedAt":"2026-08-26T07:30:58.089898Z","updatedAt":"2026-08-26T07:30:58.089898Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.smeet666/mcp-books","description":"Search the Internet Archive, the Library of Congress and data.bnf.fr at once, in one answer.","repository":{"url":"https://github.com/smeet666/mcp-books","source":"github"},"version":"2.0.1","websiteUrl":"https://github.com/smeet666/mcp-books#readme","icons":[{"src":"https://raw.githubusercontent.com/smeet666/mcp-books/main/assets/icon-128.png","mimeType":"image/png","sizes":["128x128"]},{"src":"https://raw.githubusercontent.com/smeet666/mcp-books/main/assets/icon-512.png","mimeType":"image/png","sizes":["512x512"]}],"packages":[{"registryType":"npm","identifier":"mcp-books","version":"2.0.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Identify your own client. The project's own identifier is appended, so an archive can always reach a human.","name":"BOOKS_USER_AGENT"},{"description":"Widen the gap between two requests to one archive. Each archive keeps its own spacing when this is unset, and this can only make it wider.","name":"BOOKS_MIN_INTERVAL_MS"},{"description":"Deadline for one request to an archive, in milliseconds. Default 45000.","name":"BOOKS_TIMEOUT_MS"},{"description":"Retries on rate limiting and transient failures. Default 3.","name":"BOOKS_MAX_RETRIES"},{"description":"In-memory cache lifetime, in milliseconds. Default 900000. Set 0 to turn it off.","name":"BOOKS_CACHE_TTL_MS"},{"description":"In-memory cache size. Default 200.","name":"BOOKS_CACHE_MAX_ENTRIES"},{"description":"silent, error, info or debug. Default error. Logs go to stderr.","name":"BOOKS_LOG_LEVEL"}]},{"registryType":"mcpb","identifier":"https://github.com/smeet666/mcp-books/releases/download/v2.0.1/mcp-books-2.0.1.mcpb","version":"2.0.1","fileSha256":"2f417fe9c99998385c49d74ccab852ad3212fb99c7bc32b829c3b867ce902bc4","transport":{"type":"stdio"}}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-29T22:24:49.222408Z","publishedAt":"2026-08-29T22:24:49.222408Z","updatedAt":"2026-08-29T22:24:49.222408Z","isLatest":true}}}],"metadata":{"count":9}}
