joshseane/-nmlp-mcp
joshseane/-nmlp-mcp joshseane/-nmlp-mcp](https://glama.ai/mcp/servers/joshseane/-nmlp-mcp) π βοΈ - First-edition identification β points of issue, number-line decoding, and publisher rules over a CC-BY, DOI-cited dataset of 6,717 titles β plus New Mexico book-donation logistics. Hosted remote server, no auth. Endpoint: https://newmexicoliteracyproject.org/api/mcp Β· Registry: `org.newmexicoliteracyproject/nmlp-mcp`
Executive verdict
trustsnap_90462044714abf6f- Machine trust evaluator activity
- Possible agent/script activity
- profile / compare inspection
Current trust snapshot
trustsnap_90462044714abf6fCanonical machine links
Own this MCP?
Claim ownership, prove control with a GitHub, DNS, HTTP, MCP metadata, or email-domain challenge, revalidate now, publish a badge, configure monitoring, and unlock a verified server profile.
POST /v1/servers/awesome-joshseane/nmlp-mcp/revalidateBadge embed
[](https://verify.sentinelsignal.io/servers/awesome-joshseane/nmlp-mcp)
MCP TrustOps
TrustOps turns this report into operational controls: freshness SLAs, authenticated validation, semantic benchmarks, policy exports, alert subscriptions, badges, cost/compliance metadata, and runtime routing. Fresh trusted index decisions stay separate from long-tail inventory so stale scores do not masquerade as current evidence.
/v1/decideAlert subscription types
MCP Runtime hosting
Verify Hosted MCP turns a trusted server report into a managed remote MCP endpoint with GitHub deployment provenance, sandbox policy, encrypted secrets, release history, rollback, and audit/usage events.
/hosted/{namespace}/{name}/mcp| Deployment | Status | Endpoint | Release |
|---|---|---|---|
| No hosted runtime deployments yet. | |||
Production readiness class
Evidence confidence
Recommended for
Client compatibility verdicts
Client compatibility only means the server shape can work with a client. Production trust decision and write-action publishing are evaluated separately so a client-compatible server can still be blocked for production.
Evidence provenance
initializeβ’ OKtools_listβ’ OKtransport_compliance_probeβ’ Errorstep_up_auth_probeβ’ Missingconnector_replay_probeβ’ Missing β Frozen tool snapshots must survive refresh.request_association_probeβ’ Missing β Roots, sampling, and elicitation should stay request-scoped.
Evidence provenance
initializeβ’ OKtools_listβ’ OKtransport_compliance_probeβ’ Error
Evidence provenance
action_safety_probeβ’ Error
Evidence provenance
tool_snapshot_probeβ’ Missingconnector_replay_probeβ’ Missing
Why compatibility is limited by client
Remediation checklist
OpenAI connectors expect OAuth for remote server auth.Dynamic client registration materially improves connector setup.Transport compliance should be in good shape.search fetch only is not yet satisfiedoauth configured is not yet satisfiedadmin refresh required is not yet satisfied
Remediation checklist
Transport behavior should match Claude-compatible HTTP expectations.search fetch only is not yet satisfiedoauth configured is not yet satisfiedadmin refresh required is not yet satisfiedsafe for company knowledge is not yet satisfiedsafe for messages api remote mcp is not yet satisfied
Remediation checklist
Add a clearer auth boundary around risky write actions.Add confirmation or dry-run semantics for risky actions.Constrain or sandbox exec-capable tools before publishing broadly.
Verdict traces
- No active alert triggers.
Client verdict trace table
| Verdict | Status | Checks | Winning source | Conflicts |
|---|---|---|---|---|
openai_connectors |
Partially client-compatible | initialize, tools_list, transport_compliance_probe, step_up_auth_probe, connector_replay_probe, request_association_probe | live_validation | none |
claude_desktop |
Client-compatible | initialize, tools_list, transport_compliance_probe | live_validation | none |
unsafe_for_write_actions |
Publishing blocked | action_safety_probe | live_validation | none |
snapshot_churn_risk |
Low | tool_snapshot_probe, connector_replay_probe | history | none |
Publishability policy profiles
- Search Fetch Only: No
- Write Actions Present: Yes
- Oauth Configured: No
- Admin Refresh Required: No
- Safe For Company Knowledge: No
- Safe For Messages Api Remote Mcp: No
- Search Fetch Only: No
- Write Actions Present: Yes
- Oauth Configured: No
- Admin Refresh Required: No
- Safe For Company Knowledge: No
- Safe For Messages Api Remote Mcp: No
Compatibility fixtures
- remote_http_endpoint: Passes
- oauth_discovery: Degraded
- frozen_tool_snapshot_refresh: Passes
- request_association: Passes
- remote_transport: Passes
- tool_discovery: Passes
- auth_connect: Passes
- safe_write_review: Degraded
Authenticated validation sessions
Public validation is free. Authenticated validation is paid and proves scoped behavior, write-action safeguards, and authenticated tool execution.
/v1/verify/v1/ci/previewPublic server reputation
Incident & change feed
| Timestamp | Event | Details |
|---|---|---|
| Jul 31, 2026 05:16:47 AM UTC | Latest validation: healthy | Score 66.1 with status healthy. |
Capabilities
- OAuth:
- DCR/CIMD:
- Prompts:
- Homepage: https://github.com/joshseane/-nmlp-mcp
- Docs: https://github.com/joshseane/-nmlp-mcp
- Support: https://github.com/joshseane/-nmlp-mcp
- Icon: none
- Remote endpoint: https://newmexicoliteracyproject.org/api/mcp
- Server card: none
Security posture
Agent Commerce & Payment Readiness - Beta
Beta assessment. Verify separates commerce-adjacent context from observed payment execution. Usage, billing, pricing, card, wallet, or meter terms alone do not make a server payment-capable. This is not a certification of safety, compliance, or fraud prevention.
Warnings
No commerce-specific warnings generated.
Evidence
| Field | Value | Source | Matched terms | Confidence |
|---|---|---|---|---|
| commerce_signal | weak | tool_schema | limit, pricing, rate, card | low |
Recommended operator fixes
- No commerce-specific fixes suggested.
Tool capability & risk inventory
| Tool | Capabilities | Risk | Findings | Notes |
|---|---|---|---|---|
nmlp_check_coverage |
read write delete | Medium | destructive operation | No explicit safeguard hints detected. |
nmlp_schedule_pickup |
write network admin | Medium | arbitrary network egress admin mutation | No explicit safeguard hints detected. |
nmlp_search_qa |
read exec network export | High | command execution bulk data access freeform input surface | No explicit safeguard hints detected. |
nmlp_get_donation_options |
read write | Medium | none | No explicit safeguard hints detected. |
nmlp_get_knowledge |
read | Low | none | No explicit safeguard hints detected. |
nmlp_get_business_card |
read | Low | none | No explicit safeguard hints detected. |
nmlp_get_archive |
read export | Medium | bulk data access | No explicit safeguard hints detected. |
nmlp_get_pillar_guides |
read | Low | none | No explicit safeguard hints detected. |
nmlp_identify_first_edition |
read network | Medium | none | No explicit safeguard hints detected. |
nmlp_decode_number_line |
other | Low | none | No explicit safeguard hints detected. |
nmlp_lookup_publisher_rules |
read | Low | none | No explicit safeguard hints detected. |
nmlp_search_titles |
read exec network export | High | command execution bulk data access freeform input surface | No explicit safeguard hints detected. |
nmlp_lccn_lookup |
read network admin | Medium | arbitrary network egress | No explicit safeguard hints detected. |
nmlp_cd_lookup |
read network admin | Medium | arbitrary network egress | No explicit safeguard hints detected. |
nmlp_vinyl_lookup |
read exec network admin | High | command execution arbitrary network egress | No explicit safeguard hints detected. |
nmlp_resolve |
read write exec network admin | High | command execution arbitrary network egress admin mutation | No explicit safeguard hints detected. |
Write-action governance
Status detail: 4 high-risk tool(s), 1 destructive tool(s), 4 exec-capable tool(s) are exposed without a clear auth boundary; no safeguards or confirmation signals detected.
| Tool | Risk | Flags | Safeguards |
|---|---|---|---|
nmlp_search_qa |
High | command execution bulk data access freeform input surface | no |
nmlp_search_titles |
High | command execution bulk data access freeform input surface | no |
nmlp_vinyl_lookup |
High | command execution arbitrary network egress | no |
nmlp_resolve |
High | command execution arbitrary network egress admin mutation | no |
Action-controls diff
New actions
| Action | Risk | Flags |
|---|---|---|
| No newly added actions. | ||
Changed actions
| Action | Change types | Risk |
|---|---|---|
| No materially changed actions. | ||
Why this score?
Algorithmic score breakdown
Compatibility profiles
Connector URL: https://newmexicoliteracyproject.org/api/mcp # No OAuth metadata detected. # Server: awesome-joshseane/nmlp-mcp
{
"mcpServers": {
"nmlp-mcp": {
"command": "npx",
"args": ["mcp-remote", "https://newmexicoliteracyproject.org/api/mcp"]
}
}
}
smithery mcp add "https://newmexicoliteracyproject.org/api/mcp"
curl -sS https://newmexicoliteracyproject.org/api/mcp -H 'content-type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"mcp-verify","version":"0.1.0"}}}'
Actionable remediation
| Severity | Remediation | Why it matters | Recommended action |
|---|---|---|---|
| High | Add confirmation and dry-run semantics for risky actions | High-risk write, delete, exec, or egress tools should communicate safeguards clearly. | Inspect the latest validation evidence and resolve the client-visible regression.Playbook
|
| High | Align session and protocol behavior with Streamable HTTP expectations | Clients increasingly rely on MCP-Protocol-Version, session teardown, and expired-session semantics. | Align MCP-Protocol-Version, MCP-Session-Id, DELETE teardown, and expired-session handling with the transport spec.Playbook
|
| High | Associate roots, sampling, and elicitation with active client requests | Modern MCP guidance expects roots, sampling, and elicitation traffic to be tied to an active client request instead of arriving unsolicited on idle sessions. | Inspect the latest validation evidence and resolve the client-visible regression.Playbook
|
| High | Expose /.well-known/oauth-protected-resource | Without a protected-resource document, OAuth clients cannot discover auth requirements reliably. | Serve /.well-known/oauth-protected-resource and point it at your authorization server metadata.Playbook
|
| High | Keep connector refreshes backward compatible | Managed connector clients freeze tool snapshots, so removed tools, new required args, and breaking output changes can break published integrations after refresh. | Inspect the latest validation evidence and resolve the client-visible regression.Playbook
|
| High | Publish OAuth authorization-server metadata | Clients need authorization-server metadata to discover issuer, endpoints, and DCR support. | Publish /.well-known/oauth-authorization-server from your issuer and include registration_endpoint when supported.Playbook
|
| High | Publish a complete server card | Missing or incomplete server-card metadata weakens discovery, documentation, and trust signals. | Serve /.well-known/mcp/server-card.json and include tools, prompts/resources, homepage, and support links.Playbook
|
| Medium | Adopt a current MCP protocol revision | Older protocol revisions reduce compatibility with newer clients and registry programs. | Inspect the latest validation evidence and resolve the client-visible regression.Playbook
|
| Medium | Close connector-publishing gaps | Connector catalogs care about protocol recency, session behavior, auth clarity, and tool-surface stability. | Inspect the latest validation evidence and resolve the client-visible regression.Playbook
|
| Medium | Document minimal scopes and return cleaner auth challenges | Modern clients expect granular scopes and step-up auth signals such as WWW-Authenticate scope hints. | Return granular scopes and WWW-Authenticate challenge hints instead of forcing overly broad auth upfront.Playbook
|
| Medium | Publish OpenID configuration | OIDC metadata improves token validation and client compatibility. | Expose /.well-known/openid-configuration with issuer, jwks_uri, and supported grants.Playbook
|
| Medium | Reduce tool-surface churn | Frequent add/remove or output-shape drift makes published connectors and cached tool snapshots brittle. | Inspect the latest validation evidence and resolve the client-visible regression.Playbook
|
| Medium | Repair prompts/list or stop advertising prompts | Prompt metadata should either work live or be removed from the advertised capability set. | Only advertise prompts if prompts/list works and prompt arguments are documented.Playbook
|
| Medium | Repair resources/list or stop advertising resources | Resource metadata should either work live or be removed from the advertised capability set. | Only advertise resources if resources/list works and resources expose stable URIs/types.Playbook
|
| Medium | Support resumable HTTP sessions cleanly | Modern MCP clients increasingly expect resumable session behavior on streamable HTTP transports. | Inspect the latest validation evidence and resolve the client-visible regression.Playbook
|
| Low | Expose modern utility surfaces like completions, pagination, or tasks | Utility coverage improves interoperability with larger clients and long-lived agent workflows. | Expose completions, pagination, and task metadata where supported so larger clients can plan and resume work safely.Playbook
|
| Low | Publish newer MCP capability signals | Roots, sampling, elicitation, structured outputs, and related metadata improve client understanding and ranking. | Inspect the latest validation evidence and resolve the client-visible regression.Playbook
|
| Low | Publish or reconcile the server in the official MCP registry | Official registry presence improves discovery confidence and cross-source consistency. | Inspect the latest validation evidence and resolve the client-visible regression.Playbook
|
Point loss breakdown
| Component | Current | Points missing |
|---|---|---|
| Transport Compliance | 0/4 | -4.0 |
| Recovery Semantics | 0/4 | -4.0 |
| Execution Sandbox Safety | 0/4 | -4.0 |
| Dependency Supply Chain Signal | 0.5/4 | -3.5 |
| Egress SSRF Resilience | 1.5/4 | -2.5 |
| Trust Confidence | 1.8/4 | -2.2 |
| Utility Coverage | 2/4 | -2.0 |
| Security Hygiene | 2/4 | -2.0 |
| Schema Completeness | 2/4 | -2.0 |
| Safety Transparency | 2/4 | -2.0 |
| Result Shape Stability | 2/4 | -2.0 |
| Resource Contract | 2/4 | -2.0 |
Validation diff
Need at least two validation runs before diffing changes.
Tool snapshot diff & changelog
Need at least two validation runs before building a tool changelog.
Connector replay
Required-argument replay breaks
| Tool | Added required args | Removed required args |
|---|---|---|
| No required-argument replay breaks detected. | ||
Output-schema replay breaks
| Tool | Removed properties | Added properties |
|---|---|---|
| No output-schema replay breaks detected. | ||
Transport compliance drilldown
Issues: missing_session_id, missing_protocol_header, bad_protocol_not_rejected
Request association
Utility coverage
Benchmark tasks
| Benchmark task | Status | Evidence |
|---|---|---|
| Discover tools | Passes |
|
| Read-only fetch flow | Degraded |
|
| OAuth-required connect | Degraded |
|
| Safe write flow with confirmation | Likely to fail |
|
Registry & provenance divergence
| Field | Registry | Live server card |
|---|---|---|
| Title | n/a | n/a |
| Version | n/a | n/a |
| Homepage | n/a | n/a |
Active alerts
No active alerts for the current server state.
Aliases & registry graph
| Identifier | Source | Canonical | Score |
|---|---|---|---|
awesome-joshseane/nmlp-mcp |
awesome_mcp_servers | yes | 66.09 |
joshseane/nmlp-mcp |
glama_registry | no | n/a |
Alias consolidation
Source disagreements
| Field | What differs | Observed values |
|---|---|---|
| Registry source | Multiple registries or registry sync paths claim this same canonical server. | awesome_mcp_servers glama_registry |
| Remote URL | Aliases currently point at different MCP endpoints, which can indicate mirrors, stale registry data, or a real endpoint split. | https://glama.ai/mcp/servers/qub8r7wtpp https://newmexicoliteracyproject.org/api/mcp |
| Homepage | Registry entries disagree on the primary homepage for this server. | https://github.com/joshseane/-nmlp-mcp https://glama.ai/mcp/servers/qub8r7wtpp |
| Registry identifier | Different registry-specific identifiers resolve to the same canonical server record here. | awesome_mcp_servers:joshseane/-nmlp-mcp glama_registry:qub8r7wtpp |
Install snippets
Connector URL: https://newmexicoliteracyproject.org/api/mcp # No OAuth metadata detected. # Server: awesome-joshseane/nmlp-mcp
{
"mcpServers": {
"nmlp-mcp": {
"command": "npx",
"args": ["mcp-remote", "https://newmexicoliteracyproject.org/api/mcp"]
}
}
}
smithery mcp add "https://newmexicoliteracyproject.org/api/mcp"
curl -sS https://newmexicoliteracyproject.org/api/mcp -H 'content-type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"mcp-verify","version":"0.1.0"}}}'
Agent access & tool surface
tools/list, prompts/list, and resources/list checks.awesome-joshseane/nmlp-mcp.Claims & monitoring
No verified maintainer claim recorded.
Alert routing
| Watch | Team | Channels | Minimum severity |
|---|---|---|---|
| No active watch destinations. | |||
Maintainer analytics
Maintainer response quality
Maintainer annotations
No maintainer annotations have been recorded yet.
Maintainer rebuttals & expected behavior
No maintainer rebuttals or expected-behavior overrides are recorded yet.
Latest validation evidence
Failures
oauth_authorization_serverno authorization serveroauth_protected_resourceClient error '404 Not Found' for url 'https://newmexicoliteracyproject.org/.well-known/oauth-protected-resource' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404openid_configurationno authorization serverserver_cardClient error '404 Not Found' for url 'https://newmexicoliteracyproject.org/.well-known/mcp/server-card.json' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404transport_compliance_probeIssues: missing session id, missing protocol header, bad protocol not rejected (bad protocol=200).
Checks
| Check | Status | Latency | Evidence |
|---|---|---|---|
action_safety_probe |
Error | n/a | 4 high-risk, 1 destructive, 4 exec-capable tool(s); no clear auth boundary; safeguards=0; confirmation=none. |
advanced_capabilities_probe |
Missing | n/a | No advanced MCP capability signals detected. |
connector_publishability_probe |
Warning | n/a | Publishability blockers: transport compliance, action safety, server card. |
connector_replay_probe |
Missing | n/a | No connector replay evidence recorded. |
determinism_probe |
OK | 35.0 ms | Check completed |
initialize |
OK | 99.6 ms | Protocol 2024-11-05 |
interactive_flow_probe |
OK | n/a | Check completed |
oauth_authorization_server |
Missing | n/a | no authorization server |
oauth_protected_resource |
Error | 65.8 ms | Client error '404 Not Found' for url 'https://newmexicoliteracyproject.org/.well-known/oauth-protected-resource' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 |
official_registry_probe |
Warning | n/a | Check completed |
openid_configuration |
Missing | n/a | no authorization server |
probe_noise_resilience |
OK | 43.8 ms | Fetched https://newmexicoliteracyproject.org/robots.txt |
prompt_get |
Missing | n/a | not advertised |
prompts_list |
Missing | 30.4 ms | not supported |
protocol_version_probe |
Warning | n/a | Claims 2024-11-05; 3 release(s) behind 2025-11-25. |
provenance_divergence_probe |
OK | n/a | Check completed |
request_association_probe |
Missing | n/a | No request-association capabilities were advertised. |
resource_read |
Missing | n/a | not advertised |
resources_list |
Missing | 31.7 ms | not supported |
server_card |
Error | 116.8 ms | Client error '404 Not Found' for url 'https://newmexicoliteracyproject.org/.well-known/mcp/server-card.json' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 |
session_resume_probe |
Warning | n/a | no session id |
step_up_auth_probe |
Missing | n/a | No OAuth or incremental-scope signals detected. |
tool_snapshot_probe |
Missing | n/a | no historical snapshot |
tools_list |
OK | 31.7 ms | 16 tool(s) exposed |
transport_compliance_probe |
Error | 31.9 ms | Issues: missing session id, missing protocol header, bad protocol not rejected (bad protocol=200). |
utility_coverage_probe |
Missing | 32.0 ms | No completions evidence; no pagination evidence; tasks missing. |
Raw evidence view
Show raw JSON evidence
{
"checks": {
"action_safety_probe": {
"details": {
"auth_present": false,
"confirmation_signals": [],
"safeguard_count": 0,
"summary": {
"bulk_access_tools": 3,
"capability_distribution": {
"admin": 5,
"delete": 1,
"exec": 4,
"export": 3,
"network": 8,
"other": 1,
"read": 14,
"write": 4
},
"destructive_tools": 1,
"egress_tools": 5,
"exec_tools": 4,
"high_risk_tools": 4,
"risk_distribution": {
"critical": 0,
"high": 4,
"low": 5,
"medium": 7
},
"secret_tools": 0,
"tool_count": 16
}
},
"latency_ms": null,
"status": "error"
},
"advanced_capabilities_probe": {
"details": {
"capabilities": {
"completions": false,
"elicitation": false,
"prompts": false,
"resource_links": false,
"resources": false,
"roots": false,
"sampling": false,
"structured_outputs": false
},
"enabled": [],
"enabled_count": 0,
"initialize_capability_keys": [
"tools"
]
},
"latency_ms": null,
"status": "missing"
},
"connector_publishability_probe": {
"details": {
"blockers": [
"transport_compliance",
"action_safety",
"server_card"
],
"criteria": {
"action_safety": false,
"auth_flow": true,
"connector_replay": true,
"initialize": true,
"protocol_version": true,
"remote_transport": true,
"request_association": true,
"server_card": false,
"session_resume": true,
"step_up_auth": true,
"tool_surface": true,
"tools_list": true,
"transport_compliance": false
},
"high_risk_tools": 4,
"tool_count": 16,
"transport": "streamable-http"
},
"latency_ms": null,
"status": "warning"
},
"connector_replay_probe": {
"details": {
"reason": "no_historical_snapshot"
},
"latency_ms": null,
"status": "missing"
},
"determinism_probe": {
"details": {
"attempts": 2,
"baseline_signature": "e5bd42074cb6472dece92f66614bda02460aece4c4ef67252a3a14748c3c2504",
"errors": [],
"matches": 2,
"stable_ratio": 1.0,
"successful": 2
},
"latency_ms": 35.05,
"status": "ok"
},
"initialize": {
"details": {
"headers": {
"content-type": "application/json; charset=utf-8"
},
"http_status": 200,
"payload": {
"id": 1,
"jsonrpc": "2.0",
"result": {
"capabilities": {
"tools": {}
},
"protocolVersion": "2024-11-05",
"serverInfo": {
"description": "MCP server for the New Mexico Literacy Project. First-edition identification \u2014 points of issue, number-line decoding, and publisher rules for 6,700+ verified titles / 850+ publishers (CC BY 4.0, DOI 10.5281/zenodo.21184548) \u2014 plus the Albuquerque book-donation API (ZIP coverage + free-pickup booking). Hosted at /api/mcp.",
"name": "nmlp-mcp",
"version": "0.6.0"
}
}
},
"url": "https://newmexicoliteracyproject.org/api/mcp"
},
"latency_ms": 99.62,
"status": "ok"
},
"interactive_flow_probe": {
"details": {
"oauth_supported": false,
"prompt_available": false,
"risk_hits": [],
"safe_hits": [
"consent"
]
},
"latency_ms": null,
"status": "ok"
},
"oauth_authorization_server": {
"details": {
"reason": "no_authorization_server"
},
"latency_ms": null,
"status": "missing"
},
"oauth_protected_resource": {
"details": {
"error": "Client error '404 Not Found' for url 'https://newmexicoliteracyproject.org/.well-known/oauth-protected-resource'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404",
"url": "https://newmexicoliteracyproject.org/.well-known/oauth-protected-resource"
},
"latency_ms": 65.84,
"status": "error"
},
"official_registry_probe": {
"details": {
"direct_match": false,
"official_identifiers": [
"ai.ai-akari/one-minute-akari",
"ai.artidrop/artidrop",
"ai.adadvisor/mcp-server",
"ai.adeu/adeu",
"ai.adramp/google-ads",
"ai.adside/adside",
"ai.adweave/meta-ads-mcp",
"ai.aetherwealth/mcp",
"ai.afmr/discovery",
"ai.agentberg/agentberg"
],
"official_peer_count": 10,
"registry_source": "awesome_mcp_servers"
},
"latency_ms": null,
"status": "warning"
},
"openid_configuration": {
"details": {
"reason": "no_authorization_server"
},
"latency_ms": null,
"status": "missing"
},
"probe_noise_resilience": {
"details": {
"headers": {
"content-type": "text/plain; charset=utf-8",
"strict-transport-security": "max-age=31536000; includeSubDomains"
},
"http_status": 200,
"url": "https://newmexicoliteracyproject.org/robots.txt"
},
"latency_ms": 43.76,
"status": "ok"
},
"prompt_get": {
"details": {
"reason": "not_advertised"
},
"latency_ms": null,
"status": "missing"
},
"prompts_list": {
"details": {
"headers": {
"content-type": "application/json; charset=utf-8"
},
"http_status": 200,
"payload": {
"error": {
"code": -32601,
"message": "Method not found: prompts/list"
},
"id": 3,
"jsonrpc": "2.0"
},
"reason": "not_supported",
"url": "https://newmexicoliteracyproject.org/api/mcp"
},
"latency_ms": 30.39,
"status": "missing"
},
"protocol_version_probe": {
"details": {
"claimed_version": "2024-11-05",
"lag_days": 385,
"latest_known_version": "2025-11-25",
"releases_behind": 3,
"validator_protocol_version": "2025-03-26"
},
"latency_ms": null,
"status": "warning"
},
"provenance_divergence_probe": {
"details": {
"direct_official_match": false,
"drift_fields": [],
"metadata_document_count": 1,
"registry_homepage": null,
"registry_repository": null,
"registry_title": null,
"registry_version": null,
"server_card_homepage": null,
"server_card_repository": null,
"server_card_title": null,
"server_card_version": null
},
"latency_ms": null,
"status": "ok"
},
"request_association_probe": {
"details": {
"reason": "no_request_association_capabilities_advertised"
},
"latency_ms": null,
"status": "missing"
},
"resource_read": {
"details": {
"reason": "not_advertised"
},
"latency_ms": null,
"status": "missing"
},
"resources_list": {
"details": {
"headers": {
"content-type": "application/json; charset=utf-8"
},
"http_status": 200,
"payload": {
"error": {
"code": -32601,
"message": "Method not found: resources/list"
},
"id": 5,
"jsonrpc": "2.0"
},
"reason": "not_supported",
"url": "https://newmexicoliteracyproject.org/api/mcp"
},
"latency_ms": 31.73,
"status": "missing"
},
"server_card": {
"details": {
"error": "Client error '404 Not Found' for url 'https://newmexicoliteracyproject.org/.well-known/mcp/server-card.json'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404",
"url": "https://newmexicoliteracyproject.org/.well-known/mcp/server-card.json"
},
"latency_ms": 116.83,
"status": "error"
},
"session_resume_probe": {
"details": {
"protocol_version": "2024-11-05",
"reason": "no_session_id",
"resume_expected": true,
"transport": "streamable-http"
},
"latency_ms": null,
"status": "warning"
},
"step_up_auth_probe": {
"details": {
"auth_required_checks": [],
"broad_scopes": [],
"challenge_headers": [],
"minimal_scope_documented": false,
"oauth_present": false,
"scope_specificity_ratio": 0.0,
"step_up_signals": [],
"supported_scopes": []
},
"latency_ms": null,
"status": "missing"
},
"tool_snapshot_probe": {
"details": {
"current_tool_count": 16,
"reason": "no_historical_snapshot"
},
"latency_ms": null,
"status": "missing"
},
"tools_list": {
"details": {
"headers": {
"content-type": "application/json; charset=utf-8"
},
"http_status": 200,
"payload": {
"id": 2,
"jsonrpc": "2.0",
"result": {
"tools": [
{
"description": "Check whether NMLP picks up books at a given five-digit US ZIP code. Returns coverage tier (core_metro, metro, near_metro, drop_off_only, out_of_area), typical pickup window in days, minimum quantity, and a human-readable message. ALWAYS call this BEFORE nmlp_schedule_pickup.",
"inputSchema": {
"properties": {
"zip": {
"description": "Five-digit US ZIP code",
"pattern": "^[0-9]{5}$",
"type": "string"
}
},
"required": [
"zip"
],
"type": "object"
},
"name": "nmlp_check_coverage"
},
{
"description": "Submit a real free book pickup request to NMLP. Every submission triggers a real outreach to Josh, the single human operator. NEVER submit speculative or unconsented requests.",
"inputSchema": {
"properties": {
"addressCity": {
"type": "string"
},
"addressState": {
"default": "NM",
"type": "string"
},
"addressStreet": {
"type": "string"
},
"addressZip": {
"pattern": "^[0-9]{5}$",
"type": "string"
},
"agentSource": {
"description": "Required: identify the AI agent submitting on the user's behalf.",
"type": "string"
},
"callbackEmail": {
"format": "email",
"type": "string"
},
"callbackPhone": {
"type": "string"
},
"donorLanguage": {
"default": "en",
"enum": [
"en",
"es"
],
"type": "string"
},
"donorName": {
"minLength": 2,
"type": "string"
},
"estimatedSize": {
"description": "Free text \u2014 'two boxes', 'whole garage', etc.",
"type": "string"
},
"preferredWindow": {
"type": "string"
},
"specialNotes": {
"type": "string"
}
},
"required": [
"donorName",
"addressStreet",
"addressCity",
"addressZip",
"estimatedSize",
"agentSource"
],
"type": "object"
},
"name": "nmlp_schedule_pickup"
},
{
"description": "Search NMLP's long-tail Q&A reference (85+ entries) by keyword. Returns top matching entries with question, summary, and URL.",
"inputSchema": {
"properties": {
"limit": {
"default": 5,
"maximum": 20,
"minimum": 1,
"type": "integer"
},
"query": {
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "nmlp_search_qa"
},
{
"description": "Get the comparison matrix of every Albuquerque book donation option (NMLP, Goodwill, Savers, Better World Books, Friends of APL, Habitat ReStore, regional pulper).",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "nmlp_get_donation_options"
},
{
"description": "Get the aggregated NMLP Knowledge Base (donor archetypes, routing tracks, condition grades, decision framework, donor glossary, named partners, coverage tiers).",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "nmlp_get_knowledge"
},
{
"description": "Get NMLP's canonical business entity card \u2014 address, phone, services, area served, languages.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "nmlp_get_business_card"
},
{
"description": "Get NMLP's donation archive entries as structured Book records.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "nmlp_get_archive"
},
{
"description": "Get NMLP's pillar guide manifest \u2014 60+ Southwest author/publisher authentication and pricing guides.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "nmlp_get_pillar_guides"
},
{
"description": "Identify whether a specific book is a first edition. Given a title (and optionally author), returns that title's POINTS OF ISSUE \u2014 the exact details that mark a true first printing \u2014 plus true-first precedence (US vs UK), book-club/reprint tells, publisher, year, the human-readable page URL, and a citation. THE tool for 'how do I tell if my copy of X is a first edition.' Draws on 6,700+ independently-verified titles (CC BY 4.0, DOI 10.5281/zenodo.21184548).",
"inputSchema": {
"properties": {
"author": {
"description": "Author name \u2014 strongly improves match accuracy for common titles.",
"type": "string"
},
"title": {
"description": "Book title (series/subtitle suffixes are fine).",
"type": "string"
}
},
"required": [
"title"
],
"type": "object"
},
"name": "nmlp_identify_first_edition"
},
{
"description": "Decode a copyright-page number line / printer's key (and any 'First Edition' wording) to determine which printing a book is. Paste the row of small numbers and/or the edition statement. Handles the Random-House-ends-in-2 exception and flags book-club editions. Returns the printing, a plain-English verdict, and the detected line.",
"inputSchema": {
"properties": {
"text": {
"description": "Copyright-page text \u2014 the number line (e.g. '10 9 8 7 6 5 4 3 2 1') and/or 'First Edition' wording.",
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"name": "nmlp_decode_number_line"
},
{
"description": "Look up a publisher's first-edition identification conventions \u2014 how that house designated a first printing across eras (stated-edition wording, number lines, colophons, dated printings). Covers 850+ publishers.",
"inputSchema": {
"properties": {
"publisher": {
"description": "Publisher or imprint name (e.g. 'Alfred A. Knopf', 'Viking', 'Faber & Faber').",
"type": "string"
}
},
"required": [
"publisher"
],
"type": "object"
},
"name": "nmlp_lookup_publisher_rules"
},
{
"description": "Search the first-edition title reference by title or author. Returns matching collectible titles with their per-title identification-page URLs. Use nmlp_identify_first_edition for the full points of one specific title.",
"inputSchema": {
"properties": {
"limit": {
"default": 8,
"maximum": 25,
"minimum": 1,
"type": "integer"
},
"query": {
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "nmlp_search_titles"
},
{
"description": "Resolve a Library of Congress Catalog Card Number (LCCN) to title, author, year, publisher, ISBN, and ASIN. The missing barcode for pre-ISBN (pre-1967) books: users read the number off the copyright page ('Library of Congress Catalog Card Number: 63-12345'). Dashes and spaces optional. Backed by 20M+ Library of Congress and Open Library records. Human tool: https://newmexicoliteracyproject.org/lccn-lookup",
"inputSchema": {
"properties": {
"lccn": {
"description": "The number as printed, e.g. '63-12345', '637996', 'sa 64-9056', '2006023629'",
"type": "string"
}
},
"required": [
"lccn"
],
"type": "object"
},
"name": "nmlp_lccn_lookup"
},
{
"description": "Identify a CD from any number printed on it: DIDX hub/master IDs (DIDX-2113), label catalog numbers (CK 40999), barcodes, or music-club 'D ######' numbers. Returns artist, album, year, label. Backed by NMLP's Discogs-derived identifier index plus MusicBrainz fallback. Human tool: https://newmexicoliteracyproject.org/cd-lookup",
"inputSchema": {
"properties": {
"identifier": {
"description": "Whatever is printed on the disc hub, spine, or barcode",
"type": "string"
}
},
"required": [
"identifier"
],
"type": "object"
},
"name": "nmlp_cd_lookup"
},
{
"description": "Identify a vinyl record from the matrix/runout etching in the deadwax (stamper suffixes vary copy to copy, so stable-prefix matching is built in), the label catalog number, or the barcode. Returns artist, album, year, label, catalog number. Backed by NMLP's Discogs-derived vinyl identifier index plus MusicBrainz fallback. Human tool (with a Goldmine-style grading checklist): https://newmexicoliteracyproject.org/vinyl-lookup",
"inputSchema": {
"properties": {
"identifier": {
"description": "The deadwax etching, catalog number, or barcode as read, e.g. 'XSM 156097', 'SD 19129'",
"type": "string"
}
},
"required": [
"identifier"
],
"type": "object"
},
"name": "nmlp_vinyl_lookup"
},
{
"description": "One Box: resolve ANY physical-media identifier in one call \u2014 auto-detects the type (Library of Congress LCCN, ISBN-10/13, CD DIDX hub code, label catalog number, UPC/EAN barcode, vinyl matrix/runout etching) and returns ranked typed candidates across NMLP's 48M-record indexes (20.9M LCCN + 8.7M CD + 19M vinyl). ISBN input returns the exact Amazon listing link (ASIN=ISBN-10), never a title search. Misses return Attested Absence: exactly which indexes were checked at what dataset version, so 'not found' is usable evidence. Use this when you don't know what kind of number you have; use the specialized lookups when you do. Identification only \u2014 does NOT appraise or value items; NMLP never buys books. Human tool: https://newmexicoliteracyproject.org/lookup",
"inputSchema": {
"properties": {
"identifier": {
"description": "Any identifier as printed/etched: '63-12345', 'DIDX 2113', 'CK 40999', a 12/13-digit barcode, an ISBN, or a deadwax matrix string. Dashes, spaces, case ignored.",
"type": "string"
}
},
"required": [
"identifier"
],
"type": "object"
},
"name": "nmlp_resolve"
}
]
}
},
"url": "https://newmexicoliteracyproject.org/api/mcp"
},
"latency_ms": 31.73,
"status": "ok"
},
"transport_compliance_probe": {
"details": {
"bad_protocol_error": null,
"bad_protocol_headers": {
"content-type": "application/json; charset=utf-8"
},
"bad_protocol_payload": {
"id": 410,
"jsonrpc": "2.0",
"result": {
"tools": [
{
"description": "Check whether NMLP picks up books at a given five-digit US ZIP code. Returns coverage tier (core_metro, metro, near_metro, drop_off_only, out_of_area), typical pickup window in days, minimum quantity, and a human-readable message. ALWAYS call this BEFORE nmlp_schedule_pickup.",
"inputSchema": {
"properties": {
"zip": {
"description": "Five-digit US ZIP code",
"pattern": "^[0-9]{5}$",
"type": "string"
}
},
"required": [
"zip"
],
"type": "object"
},
"name": "nmlp_check_coverage"
},
{
"description": "Submit a real free book pickup request to NMLP. Every submission triggers a real outreach to Josh, the single human operator. NEVER submit speculative or unconsented requests.",
"inputSchema": {
"properties": {
"addressCity": {
"type": "string"
},
"addressState": {
"default": "NM",
"type": "string"
},
"addressStreet": {
"type": "string"
},
"addressZip": {
"pattern": "^[0-9]{5}$",
"type": "string"
},
"agentSource": {
"description": "Required: identify the AI agent submitting on the user's behalf.",
"type": "string"
},
"callbackEmail": {
"format": "email",
"type": "string"
},
"callbackPhone": {
"type": "string"
},
"donorLanguage": {
"default": "en",
"enum": [
"en",
"es"
],
"type": "string"
},
"donorName": {
"minLength": 2,
"type": "string"
},
"estimatedSize": {
"description": "Free text \u2014 'two boxes', 'whole garage', etc.",
"type": "string"
},
"preferredWindow": {
"type": "string"
},
"specialNotes": {
"type": "string"
}
},
"required": [
"donorName",
"addressStreet",
"addressCity",
"addressZip",
"estimatedSize",
"agentSource"
],
"type": "object"
},
"name": "nmlp_schedule_pickup"
},
{
"description": "Search NMLP's long-tail Q&A reference (85+ entries) by keyword. Returns top matching entries with question, summary, and URL.",
"inputSchema": {
"properties": {
"limit": {
"default": 5,
"maximum": 20,
"minimum": 1,
"type": "integer"
},
"query": {
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "nmlp_search_qa"
},
{
"description": "Get the comparison matrix of every Albuquerque book donation option (NMLP, Goodwill, Savers, Better World Books, Friends of APL, Habitat ReStore, regional pulper).",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "nmlp_get_donation_options"
},
{
"description": "Get the aggregated NMLP Knowledge Base (donor archetypes, routing tracks, condition grades, decision framework, donor glossary, named partners, coverage tiers).",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "nmlp_get_knowledge"
},
{
"description": "Get NMLP's canonical business entity card \u2014 address, phone, services, area served, languages.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "nmlp_get_business_card"
},
{
"description": "Get NMLP's donation archive entries as structured Book records.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "nmlp_get_archive"
},
{
"description": "Get NMLP's pillar guide manifest \u2014 60+ Southwest author/publisher authentication and pricing guides.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "nmlp_get_pillar_guides"
},
{
"description": "Identify whether a specific book is a first edition. Given a title (and optionally author), returns that title's POINTS OF ISSUE \u2014 the exact details that mark a true first printing \u2014 plus true-first precedence (US vs UK), book-club/reprint tells, publisher, year, the human-readable page URL, and a citation. THE tool for 'how do I tell if my copy of X is a first edition.' Draws on 6,700+ independently-verified titles (CC BY 4.0, DOI 10.5281/zenodo.21184548).",
"inputSchema": {
"properties": {
"author": {
"description": "Author name \u2014 strongly improves match accuracy for common titles.",
"type": "string"
},
"title": {
"description": "Book title (series/subtitle suffixes are fine).",
"type": "string"
}
},
"required": [
"title"
],
"type": "object"
},
"name": "nmlp_identify_first_edition"
},
{
"description": "Decode a copyright-page number line / printer's key (and any 'First Edition' wording) to determine which printing a book is. Paste the row of small numbers and/or the edition statement. Handles the Random-House-ends-in-2 exception and flags book-club editions. Returns the printing, a plain-English verdict, and the detected line.",
"inputSchema": {
"properties": {
"text": {
"description": "Copyright-page text \u2014 the number line (e.g. '10 9 8 7 6 5 4 3 2 1') and/or 'First Edition' wording.",
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"name": "nmlp_decode_number_line"
},
{
"description": "Look up a publisher's first-edition identification conventions \u2014 how that house designated a first printing across eras (stated-edition wording, number lines, colophons, dated printings). Covers 850+ publishers.",
"inputSchema": {
"properties": {
"publisher": {
"description": "Publisher or imprint name (e.g. 'Alfred A. Knopf', 'Viking', 'Faber & Faber').",
"type": "string"
}
},
"required": [
"publisher"
],
"type": "object"
},
"name": "nmlp_lookup_publisher_rules"
},
{
"description": "Search the first-edition title reference by title or author. Returns matching collectible titles with their per-title identification-page URLs. Use nmlp_identify_first_edition for the full points of one specific title.",
"inputSchema": {
"properties": {
"limit": {
"default": 8,
"maximum": 25,
"minimum": 1,
"type": "integer"
},
"query": {
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "nmlp_search_titles"
},
{
"description": "Resolve a Library of Congress Catalog Card Number (LCCN) to title, author, year, publisher, ISBN, and ASIN. The missing barcode for pre-ISBN (pre-1967) books: users read the number off the copyright page ('Library of Congress Catalog Card Number: 63-12345'). Dashes and spaces optional. Backed by 20M+ Library of Congress and Open Library records. Human tool: https://newmexicoliteracyproject.org/lccn-lookup",
"inputSchema": {
"properties": {
"lccn": {
"description": "The number as printed, e.g. '63-12345', '637996', 'sa 64-9056', '2006023629'",
"type": "string"
}
},
"required": [
"lccn"
],
"type": "object"
},
"name": "nmlp_lccn_lookup"
},
{
"description": "Identify a CD from any number printed on it: DIDX hub/master IDs (DIDX-2113), label catalog numbers (CK 40999), barcodes, or music-club 'D ######' numbers. Returns artist, album, year, label. Backed by NMLP's Discogs-derived identifier index plus MusicBrainz fallback. Human tool: https://newmexicoliteracyproject.org/cd-lookup",
"inputSchema": {
"properties": {
"identifier": {
"description": "Whatever is printed on the disc hub, spine, or barcode",
"type": "string"
}
},
"required": [
"identifier"
],
"type": "object"
},
"name": "nmlp_cd_lookup"
},
{
"description": "Identify a vinyl record from the matrix/runout etching in the deadwax (stamper suffixes vary copy to copy, so stable-prefix matching is built in), the label catalog number, or the barcode. Returns artist, album, year, label, catalog number. Backed by NMLP's Discogs-derived vinyl identifier index plus MusicBrainz fallback. Human tool (with a Goldmine-style grading checklist): https://newmexicoliteracyproject.org/vinyl-lookup",
"inputSchema": {
"properties": {
"identifier": {
"description": "The deadwax etching, catalog number, or barcode as read, e.g. 'XSM 156097', 'SD 19129'",
"type": "string"
}
},
"required": [
"identifier"
],
"type": "object"
},
"name": "nmlp_vinyl_lookup"
},
{
"description": "One Box: resolve ANY physical-media identifier in one call \u2014 auto-detects the type (Library of Congress LCCN, ISBN-10/13, CD DIDX hub code, label catalog number, UPC/EAN barcode, vinyl matrix/runout etching) and returns ranked typed candidates across NMLP's 48M-record indexes (20.9M LCCN + 8.7M CD + 19M vinyl). ISBN input returns the exact Amazon listing link (ASIN=ISBN-10), never a title search. Misses return Attested Absence: exactly which indexes were checked at what dataset version, so 'not found' is usable evidence. Use this when you don't know what kind of number you have; use the specialized lookups when you do. Identification only \u2014 does NOT appraise or value items; NMLP never buys books. Human tool: https://newmexicoliteracyproject.org/lookup",
"inputSchema": {
"properties": {
"identifier": {
"description": "Any identifier as printed/etched: '63-12345', 'DIDX 2113', 'CK 40999', a 12/13-digit barcode, an ISBN, or a deadwax matrix string. Dashes, spaces, case ignored.",
"type": "string"
}
},
"required": [
"identifier"
],
"type": "object"
},
"name": "nmlp_resolve"
}
]
}
},
"bad_protocol_status_code": 200,
"delete_error": null,
"delete_status_code": null,
"expired_session_error": null,
"expired_session_status_code": null,
"issues": [
"missing_session_id",
"missing_protocol_header",
"bad_protocol_not_rejected"
],
"last_event_id_visible": false,
"protocol_header_present": false,
"requested_protocol_version": "2024-11-05",
"session_id_present": false,
"transport": "streamable-http"
},
"latency_ms": 31.95,
"status": "error"
},
"utility_coverage_probe": {
"details": {
"completions": {
"advertised": false,
"live_probe": "not_executed",
"sample_target": null
},
"initialize_capability_keys": [
"tools"
],
"pagination": {
"metadata_signal": false,
"next_cursor_methods": [],
"supported": false
},
"tasks": {
"advertised": false,
"http_status": 200,
"probe_status": "missing"
}
},
"latency_ms": 31.97,
"status": "missing"
}
},
"failures": {
"oauth_authorization_server": {
"reason": "no_authorization_server"
},
"oauth_protected_resource": {
"error": "Client error '404 Not Found' for url 'https://newmexicoliteracyproject.org/.well-known/oauth-protected-resource'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404",
"url": "https://newmexicoliteracyproject.org/.well-known/oauth-protected-resource"
},
"openid_configuration": {
"reason": "no_authorization_server"
},
"server_card": {
"error": "Client error '404 Not Found' for url 'https://newmexicoliteracyproject.org/.well-known/mcp/server-card.json'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404",
"url": "https://newmexicoliteracyproject.org/.well-known/mcp/server-card.json"
},
"transport_compliance_probe": {
"bad_protocol_error": null,
"bad_protocol_headers": {
"content-type": "application/json; charset=utf-8"
},
"bad_protocol_payload": {
"id": 410,
"jsonrpc": "2.0",
"result": {
"tools": [
{
"description": "Check whether NMLP picks up books at a given five-digit US ZIP code. Returns coverage tier (core_metro, metro, near_metro, drop_off_only, out_of_area), typical pickup window in days, minimum quantity, and a human-readable message. ALWAYS call this BEFORE nmlp_schedule_pickup.",
"inputSchema": {
"properties": {
"zip": {
"description": "Five-digit US ZIP code",
"pattern": "^[0-9]{5}$",
"type": "string"
}
},
"required": [
"zip"
],
"type": "object"
},
"name": "nmlp_check_coverage"
},
{
"description": "Submit a real free book pickup request to NMLP. Every submission triggers a real outreach to Josh, the single human operator. NEVER submit speculative or unconsented requests.",
"inputSchema": {
"properties": {
"addressCity": {
"type": "string"
},
"addressState": {
"default": "NM",
"type": "string"
},
"addressStreet": {
"type": "string"
},
"addressZip": {
"pattern": "^[0-9]{5}$",
"type": "string"
},
"agentSource": {
"description": "Required: identify the AI agent submitting on the user's behalf.",
"type": "string"
},
"callbackEmail": {
"format": "email",
"type": "string"
},
"callbackPhone": {
"type": "string"
},
"donorLanguage": {
"default": "en",
"enum": [
"en",
"es"
],
"type": "string"
},
"donorName": {
"minLength": 2,
"type": "string"
},
"estimatedSize": {
"description": "Free text \u2014 'two boxes', 'whole garage', etc.",
"type": "string"
},
"preferredWindow": {
"type": "string"
},
"specialNotes": {
"type": "string"
}
},
"required": [
"donorName",
"addressStreet",
"addressCity",
"addressZip",
"estimatedSize",
"agentSource"
],
"type": "object"
},
"name": "nmlp_schedule_pickup"
},
{
"description": "Search NMLP's long-tail Q&A reference (85+ entries) by keyword. Returns top matching entries with question, summary, and URL.",
"inputSchema": {
"properties": {
"limit": {
"default": 5,
"maximum": 20,
"minimum": 1,
"type": "integer"
},
"query": {
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "nmlp_search_qa"
},
{
"description": "Get the comparison matrix of every Albuquerque book donation option (NMLP, Goodwill, Savers, Better World Books, Friends of APL, Habitat ReStore, regional pulper).",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "nmlp_get_donation_options"
},
{
"description": "Get the aggregated NMLP Knowledge Base (donor archetypes, routing tracks, condition grades, decision framework, donor glossary, named partners, coverage tiers).",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "nmlp_get_knowledge"
},
{
"description": "Get NMLP's canonical business entity card \u2014 address, phone, services, area served, languages.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "nmlp_get_business_card"
},
{
"description": "Get NMLP's donation archive entries as structured Book records.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "nmlp_get_archive"
},
{
"description": "Get NMLP's pillar guide manifest \u2014 60+ Southwest author/publisher authentication and pricing guides.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "nmlp_get_pillar_guides"
},
{
"description": "Identify whether a specific book is a first edition. Given a title (and optionally author), returns that title's POINTS OF ISSUE \u2014 the exact details that mark a true first printing \u2014 plus true-first precedence (US vs UK), book-club/reprint tells, publisher, year, the human-readable page URL, and a citation. THE tool for 'how do I tell if my copy of X is a first edition.' Draws on 6,700+ independently-verified titles (CC BY 4.0, DOI 10.5281/zenodo.21184548).",
"inputSchema": {
"properties": {
"author": {
"description": "Author name \u2014 strongly improves match accuracy for common titles.",
"type": "string"
},
"title": {
"description": "Book title (series/subtitle suffixes are fine).",
"type": "string"
}
},
"required": [
"title"
],
"type": "object"
},
"name": "nmlp_identify_first_edition"
},
{
"description": "Decode a copyright-page number line / printer's key (and any 'First Edition' wording) to determine which printing a book is. Paste the row of small numbers and/or the edition statement. Handles the Random-House-ends-in-2 exception and flags book-club editions. Returns the printing, a plain-English verdict, and the detected line.",
"inputSchema": {
"properties": {
"text": {
"description": "Copyright-page text \u2014 the number line (e.g. '10 9 8 7 6 5 4 3 2 1') and/or 'First Edition' wording.",
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"name": "nmlp_decode_number_line"
},
{
"description": "Look up a publisher's first-edition identification conventions \u2014 how that house designated a first printing across eras (stated-edition wording, number lines, colophons, dated printings). Covers 850+ publishers.",
"inputSchema": {
"properties": {
"publisher": {
"description": "Publisher or imprint name (e.g. 'Alfred A. Knopf', 'Viking', 'Faber & Faber').",
"type": "string"
}
},
"required": [
"publisher"
],
"type": "object"
},
"name": "nmlp_lookup_publisher_rules"
},
{
"description": "Search the first-edition title reference by title or author. Returns matching collectible titles with their per-title identification-page URLs. Use nmlp_identify_first_edition for the full points of one specific title.",
"inputSchema": {
"properties": {
"limit": {
"default": 8,
"maximum": 25,
"minimum": 1,
"type": "integer"
},
"query": {
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "nmlp_search_titles"
},
{
"description": "Resolve a Library of Congress Catalog Card Number (LCCN) to title, author, year, publisher, ISBN, and ASIN. The missing barcode for pre-ISBN (pre-1967) books: users read the number off the copyright page ('Library of Congress Catalog Card Number: 63-12345'). Dashes and spaces optional. Backed by 20M+ Library of Congress and Open Library records. Human tool: https://newmexicoliteracyproject.org/lccn-lookup",
"inputSchema": {
"properties": {
"lccn": {
"description": "The number as printed, e.g. '63-12345', '637996', 'sa 64-9056', '2006023629'",
"type": "string"
}
},
"required": [
"lccn"
],
"type": "object"
},
"name": "nmlp_lccn_lookup"
},
{
"description": "Identify a CD from any number printed on it: DIDX hub/master IDs (DIDX-2113), label catalog numbers (CK 40999), barcodes, or music-club 'D ######' numbers. Returns artist, album, year, label. Backed by NMLP's Discogs-derived identifier index plus MusicBrainz fallback. Human tool: https://newmexicoliteracyproject.org/cd-lookup",
"inputSchema": {
"properties": {
"identifier": {
"description": "Whatever is printed on the disc hub, spine, or barcode",
"type": "string"
}
},
"required": [
"identifier"
],
"type": "object"
},
"name": "nmlp_cd_lookup"
},
{
"description": "Identify a vinyl record from the matrix/runout etching in the deadwax (stamper suffixes vary copy to copy, so stable-prefix matching is built in), the label catalog number, or the barcode. Returns artist, album, year, label, catalog number. Backed by NMLP's Discogs-derived vinyl identifier index plus MusicBrainz fallback. Human tool (with a Goldmine-style grading checklist): https://newmexicoliteracyproject.org/vinyl-lookup",
"inputSchema": {
"properties": {
"identifier": {
"description": "The deadwax etching, catalog number, or barcode as read, e.g. 'XSM 156097', 'SD 19129'",
"type": "string"
}
},
"required": [
"identifier"
],
"type": "object"
},
"name": "nmlp_vinyl_lookup"
},
{
"description": "One Box: resolve ANY physical-media identifier in one call \u2014 auto-detects the type (Library of Congress LCCN, ISBN-10/13, CD DIDX hub code, label catalog number, UPC/EAN barcode, vinyl matrix/runout etching) and returns ranked typed candidates across NMLP's 48M-record indexes (20.9M LCCN + 8.7M CD + 19M vinyl). ISBN input returns the exact Amazon listing link (ASIN=ISBN-10), never a title search. Misses return Attested Absence: exactly which indexes were checked at what dataset version, so 'not found' is usable evidence. Use this when you don't know what kind of number you have; use the specialized lookups when you do. Identification only \u2014 does NOT appraise or value items; NMLP never buys books. Human tool: https://newmexicoliteracyproject.org/lookup",
"inputSchema": {
"properties": {
"identifier": {
"description": "Any identifier as printed/etched: '63-12345', 'DIDX 2113', 'CK 40999', a 12/13-digit barcode, an ISBN, or a deadwax matrix string. Dashes, spaces, case ignored.",
"type": "string"
}
},
"required": [
"identifier"
],
"type": "object"
},
"name": "nmlp_resolve"
}
]
}
},
"bad_protocol_status_code": 200,
"delete_error": null,
"delete_status_code": null,
"expired_session_error": null,
"expired_session_status_code": null,
"issues": [
"missing_session_id",
"missing_protocol_header",
"bad_protocol_not_rejected"
],
"last_event_id_visible": false,
"protocol_header_present": false,
"requested_protocol_version": "2024-11-05",
"session_id_present": false,
"transport": "streamable-http"
}
},
"remote_url": "https://newmexicoliteracyproject.org/api/mcp",
"server_card_payload": null,
"server_identifier": "awesome-joshseane/nmlp-mcp"
}
Known versions
- No versions recorded.
Validation history
| Timestamp | Status | Score | Latency | Tools |
|---|---|---|---|---|
| Jul 31, 2026 05:16:47 AM UTC | Healthy | 66.1 | 563.2 ms | 16 |
Validation timeline
| Validated | Summary | Score | Protocol | Auth mode | Tools | High-risk tools | Changes |
|---|---|---|---|---|---|---|---|
| Jul 31, 2026 05:16:47 AM UTC | Healthy | 66.1 | 2024-11-05 | public | 16 | 4 | none |
Recent validation runs
| Started | Status | Summary | Latency | Checks |
|---|---|---|---|---|
| Jul 31, 2026 05:16:47 AM UTC | Completed | Healthy | 563.2 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe |