Are you the author? Sign in to claim
-nmlp-mcp
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+.
{
"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 stdio
docker build -t nmlp-mcp .
docker run --rm -i nmlp-mcp # stdio server
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":{}}'
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.
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots
Google's universal MCP server supporting PostgreSQL, MySQL, MongoDB, Redis, and 10+ databases
Official GitHub integration for repos, issues, PRs, and CI/CD workflows