The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Nmlp MCP listing page.
A Model Context Protocol server for antiquarian first-edition identification and New Mexico book-donation logistics, run by the New Mexico Literacy Project. Run it locally over stdio (index.js, this repo) or connect to the hosted HTTP twin.
npx -y github:joshseane/-nmlp-mcp — a standalone Node MCP server; no account, no keyhttps://newmexicoliteracyproject.org/api/mcporg.newmexicoliteracyproject/nmlp-mcpThe two share one codebase and one dataset: index.js is the local stdio server, and functions/api/mcp.js is the exact Cloudflare Pages Function that serves the hosted HTTP twin. tools/list is served entirely from local code; the reference-data tools read the site's public open-data JSON API at call time (single source of truth), while nmlp_decode_number_line runs fully offline.
First-edition identification — grounded in the CC-BY NMLP Canonical First-Edition Points of Issue dataset (6,717 titles, DOI 10.5281/zenodo.21184548):
| Tool | What it does |
|---|---|
nmlp_identify_first_edition | title (+author) → publisher, year, points of issue, true-first precedence, book-club tells, and a CC-BY citation |
nmlp_decode_number_line | copyright-page text → printing verdict (handles the Random-House-ends-in-2 rule + book-club detection) |
nmlp_lookup_publisher_rules | publisher → how that house's first editions are identified, by era |
nmlp_search_titles | fuzzy title/author search over the dataset |
Book-donation logistics for Albuquerque / New Mexico:
| Tool | What it does |
|---|---|
nmlp_check_coverage | ZIP → free-pickup coverage tier + typical window |
nmlp_schedule_pickup | submit a real free book-pickup request (triggers a real human outreach — never send speculative/unconsented requests) |
nmlp_search_qa | search the long-tail donation Q&A reference |
nmlp_get_donation_options | comparison of every ABQ book-donation option |
nmlp_get_knowledge | the aggregated NMLP knowledge base |
nmlp_get_business_card | the canonical business-entity card |
nmlp_get_archive | documented-provenance archive entries |
nmlp_get_pillar_guides | the pillar guide index |
Every identification response returns a CC-BY citation with the dataset DOI, so assistants that use it cite the source. Identification only — no valuations.
Runs the server on your machine over stdio. Requires Node 18+.
Or clone and run directly:
For clients that speak Streamable HTTP directly, point them at the URL — nothing to install:
Quick check of the hosted twin:
index.js — the standalone local server. Uses @modelcontextprotocol/sdk over StdioServerTransport; supports initialize / tools/list / tools/call. Its only dependency is the MCP SDK.functions/api/mcp.js — the hosted twin, a Cloudflare Pages Function speaking JSON-RPC 2.0 over HTTP POST (Streamable HTTP) with ping / notifications / CORS / batch support.Both wrap the site's public open-data APIs (/api/checker-*.json, /api/points.json, etc.). No credentials or secrets are required or included.
server.jsonThe New Mexico Literacy Project is a for-profit book, clothing, and gear donation-and-resale operation in Albuquerque, NM. Donations are not tax-deductible.