Nmlp
FreeNot checkedHosted MCP server for antiquarian first-edition identification and New Mexico book-donation logistics. 12 tools over a CC-BY, DOI-cited dataset of 6,700+ titles
About
Hosted MCP server for antiquarian first-edition identification and New Mexico book-donation logistics. 12 tools over a CC-BY, DOI-cited dataset of 6,700+ titles and 870 publisher conventions.
README
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 key - Hosted endpoint (Streamable HTTP):
https://newmexicoliteracyproject.org/api/mcp - Auth: none (public)
- Official MCP registry: org.newmexicoliteracyproject/nmlp-mcp
- License: 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 |
|---|---|
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.
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 stdio
Docker
docker build -t nmlp-mcp .
docker run --rm -i nmlp-mcp # stdio server
Hosted (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.
Install Nmlp in Claude Desktop, Claude Code & Cursor
unyly install nmlp-mcpInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add nmlp-mcp -- npx -y github:joshseane/-nmlp-mcpFAQ
Is Nmlp MCP free?
Yes, Nmlp MCP is free — one-click install via Unyly at no cost.
Does Nmlp need an API key?
No, Nmlp runs without API keys or environment variables.
Is Nmlp hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install Nmlp in Claude Desktop, Claude Code or Cursor?
Open Nmlp on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Nmlp with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
