nmlp-mcp
The nmlp-mcp server provides tools for two primary functions: antiquarian first-edition book identification and book donation logistics for the New Mexico Literacy Project (Albuquerque/New Mexico). No authentication is required.
First-Edition Identification
nmlp_identify_first_edition— Look up a book by title/author to get points of issue, true-first precedence (US vs UK), book-club/reprint tells, publisher, year, and citation (6,700+ verified titles)nmlp_decode_number_line— Paste copyright-page text to determine which printing a book is, with book-club detection and publisher-exception handlingnmlp_lookup_publisher_rules— Get a publisher's first-edition conventions across eras (850+ publishers covered)nmlp_search_titles— Fuzzy-search the first-edition dataset by title or author
Book Donation Logistics
nmlp_check_coverage— Enter a 5-digit ZIP code to get coverage tier, pickup window, and minimum quantity requirementsnmlp_schedule_pickup— Submit a real free book-pickup request (check coverage first; only for consented requests)nmlp_search_qa— Search 85+ donation-related Q&A entries by keywordnmlp_get_donation_options— Compare Albuquerque book-donation options (NMLP, Goodwill, Savers, Better World Books, Friends of APL, etc.)
Reference & Knowledge Base
nmlp_get_knowledge— Access donor archetypes, condition grades, routing tracks, decision frameworks, glossary, and coverage tiersnmlp_get_business_card— Retrieve NMLP's canonical business info (address, phone, services, languages)nmlp_get_archive— Browse structured donation archive entries with documented provenancenmlp_get_pillar_guides— Access 60+ Southwest author/publisher authentication and pricing guides
New Mexico Literacy Project — MCP Server
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.
Local (stdio):
npx -y github:joshseane/-nmlp-mcp— a standalone Node MCP server; no account, no keyHosted endpoint (Streamable HTTP):
https://newmexicoliteracyproject.org/api/mcpAuth: none (public)
Official MCP registry:
org.newmexicoliteracyproject/nmlp-mcpLicense: code MIT (this repo); data CC BY 4.0
The 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.
Tools (12)
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 |
| title (+author) → publisher, year, points of issue, true-first precedence, book-club tells, and a CC-BY citation |
| copyright-page text → printing verdict (handles the Random-House-ends-in-2 rule + book-club detection) |
| publisher → how that house's first editions are identified, by era |
| fuzzy title/author search over the dataset |
Book-donation logistics for Albuquerque / New Mexico:
Tool | What it does |
| ZIP → free-pickup coverage tier + typical window |
| submit a real free book-pickup request (triggers a real human outreach — never send speculative/unconsented requests) |
| search the long-tail donation Q&A reference |
| comparison of every ABQ book-donation option |
| the aggregated NMLP knowledge base |
| the canonical business-entity card |
| documented-provenance archive entries |
| 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.
Related MCP server: MCP Refchecker
Connect
Local (stdio) — recommended for Claude Desktop, Cursor, Continue.dev
Runs the server on your machine over stdio. Requires Node 18+.
{
"mcpServers": {
"nmlp": { "command": "npx", "args": ["-y", "github:joshseane/-nmlp-mcp"] }
}
}Or clone and run directly:
git clone https://github.com/joshseane/-nmlp-mcp && cd -nmlp-mcp
npm install
node index.js # speaks MCP over stdioDocker
docker build -t nmlp-mcp .
docker run --rm -i nmlp-mcp # stdio serverHosted (Streamable HTTP)
For clients that speak Streamable HTTP directly, point them at the URL — nothing to install:
{
"mcpServers": {
"nmlp": { "url": "https://newmexicoliteracyproject.org/api/mcp" }
}
}Quick check of the hosted twin:
curl -s -X POST https://newmexicoliteracyproject.org/api/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'How it works
index.js— the standalone local server. Uses@modelcontextprotocol/sdkoverStdioServerTransport; supportsinitialize/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) withping/ 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.
Links
Website: https://newmexicoliteracyproject.org
First-edition resource: https://newmexicoliteracyproject.org/first-editions
Dataset (CC BY 4.0): https://newmexicoliteracyproject.org/first-edition/dataset · DOI 10.5281/zenodo.21184548
Manifest:
server.json
The New Mexico Literacy Project is a for-profit book, clothing, and gear donation-and-resale operation in Albuquerque, NM. Donations are not tax-deductible.
Maintenance
Latest Blog Posts
- 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/joshseane/-nmlp-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server