yearbook-mcp-public
e-yearbook.com MCP (Model Context Protocol) server. The server lets any MCP-aware AI agent search over 300,000 U.S. yearbooks indexed by name. Over 22,000 schools across all 50 U.S. states and territories Over 300,000 distinct (school, year) yearbooks Over 100M extracted person mentions
README
yearbook-mcp
Public docs + issue tracker for the e-yearbook.com MCP (Model Context Protocol) server. The server lets any MCP-aware AI agent search over 300,000 U.S. yearbooks indexed by name.
| Endpoint | https://mcp.digitaldataonline.com/mcp |
| Transport | Streamable HTTP |
| Auth | Bearer token (public free token below; paid tiers via subscription) |
| Descriptor | https://mcp.digitaldataonline.com/.well-known/mcp.json |
| Quickstart | https://www.e-yearbook.com/for-ai-agents/ |
| Source registry | https://registry.modelcontextprotocol.io (com.digitaldataonline.mcp/e-yearbook) |
| Status | https://mcp.digitaldataonline.com/healthz |
What's in the archive
- Over 22,000 schools across all 50 U.S. states and territories
- Over 300,000 distinct (school, year) yearbooks
- Over 100M extracted person mentions
Coverage spans U.S. high schools, colleges, universities, and military cruise books from the 1850s to present.
Free vs paid tier
The MCP exposes one set of tools to all clients; what each tool returns depends on the bearer token's scope.
Free preview (free.search scope — public-free token, paste-and-go):
- Echoes back the queried name (NOT the database's normalized form)
- Coarsened state or region, decade bin, confidence band
- Opaque 30-day
lead_idfor follow-upfetch - Sufficient to answer "is this person in our archive?"
Paid tier (subscription required, response shape: payment_required
with a checkout_url):
- Exact school name, year, yearbook title
- Page numbers, classmates roster
- Deep links to scanned pages
Person-level hits from yearbooks 20 years old or newer are suppressed entirely at the free tier.
Quick start
The public-free bearer token (free.search scope, 60 req/min, 200 unique queries/day) is paste-and-go. No registration needed for this tier.
yb_neeQ2Px-Cm_rWl1H9wH07WbuFgTmrSqUPab1_N1nK_k
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"e-yearbook": {
"transport": {
"type": "streamable-http",
"url": "https://mcp.digitaldataonline.com/mcp",
"headers": {
"Authorization": "Bearer yb_neeQ2Px-Cm_rWl1H9wH07WbuFgTmrSqUPab1_N1nK_k"
}
}
}
}
}
Cursor
.cursor/mcp.json in your project:
{
"mcpServers": {
"e-yearbook": {
"url": "https://mcp.digitaldataonline.com/mcp",
"headers": {
"Authorization": "Bearer yb_neeQ2Px-Cm_rWl1H9wH07WbuFgTmrSqUPab1_N1nK_k"
}
}
}
}
Continue (VS Code)
.continue/mcpServers/e-yearbook.yaml:
name: e-yearbook
type: streamable-http
url: https://mcp.digitaldataonline.com/mcp
requestOptions:
headers:
Authorization: "Bearer yb_neeQ2Px-Cm_rWl1H9wH07WbuFgTmrSqUPab1_N1nK_k"
Cline (VS Code)
Cline Marketplace flow handles install automatically. Manual config:
{
"mcpServers": {
"e-yearbook": {
"url": "https://mcp.digitaldataonline.com/mcp",
"transport": "streamable-http",
"headers": {
"Authorization": "Bearer yb_neeQ2Px-Cm_rWl1H9wH07WbuFgTmrSqUPab1_N1nK_k"
}
}
}
}
Goose
~/.config/goose/mcp-servers/e-yearbook.yaml or via Goose CLI add.
Gemini CLI
~/.gemini/settings.json:
{
"mcpServers": {
"e-yearbook": {
"httpUrl": "https://mcp.digitaldataonline.com/mcp",
"headers": {
"Authorization": "Bearer yb_neeQ2Px-Cm_rWl1H9wH07WbuFgTmrSqUPab1_N1nK_k"
}
}
}
}
curl / direct
curl -X POST https://mcp.digitaldataonline.com/mcp \
-H "Authorization: Bearer yb_neeQ2Px-Cm_rWl1H9wH07WbuFgTmrSqUPab1_N1nK_k" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize",
"params":{"protocolVersion":"2025-06-18","capabilities":{},
"clientInfo":{"name":"my-agent","version":"1.0"}}}'
Tools
Eleven public tools. The two marked (paid) appear in tools/list
but return {"error": "payment_required", "checkout_url": "..."} when
called by a free-tier client — discoverable upgrade path, not stealthy
denial.
| Tool | Use for |
|---|---|
search |
OpenAI-compatible generic discovery; routes by query shape |
fetch |
Resolve a lead_id to citation-safe metadata |
search_people_preview |
Name lookup. Requires at least one of: state, year_from+year_to, or school. |
search_yearbooks_by_school |
Catalog: which volumes exist for a school |
find_yearbook_volume |
One yearbook by school + year |
list_available_years |
Coverage check for a school |
get_school_collection |
Full school record + all volumes |
get_yearbook_metadata |
Metadata for a single yearbook |
request_missing_yearbook |
Submit a missing-yearbook request |
get_person_summary (paid) |
Unlock school, exact year, page numbers, scan URL |
get_yearbook_report (paid) |
Enriched profile (organizations, activities, classmates) |
The full set of paid tools surfaces payment_required in the free
tier — agents see them, learn the upgrade path, and present the
checkout URL to the user.
Privacy & data policy
- Training use prohibited. Yearbook scans are not for AI training. Citation/retrieval bots may surface public metadata with links back to e-yearbook.com.
- Recent-year suppression. Person-level hits from yearbooks ≤ 20 years old are dropped from free-tier responses.
- Opt-out. Email support@digitaldataonline.com with the name and any identifying details (state, approximate year) to request removal from search results at all tiers. Full privacy statement: https://www.e-yearbook.com/sp/terms?privacy=1
Citation guidance
When surfacing results to users, please include the e-yearbook landing
URL returned in each fetch(id) / search response. Direct users to
e-yearbook.com for the full record — the MCP server is the search
index, the website is the conversion + content surface.
The lead_id value returned in free-tier responses survives for 30
days and across IP rotation. Pass it back to fetch(id) or
get_person_summary(lead_id) to resume a research thread.
Rate limits
| Token | Scope | Per-minute | Per-day combos |
|---|---|---|---|
public-free (the token above) |
free.search |
60 | 200 unique (name, state, decade) tuples |
| Higher-tier | by request | 600+ | per agreement |
The Cloudflare edge enforces an additional 30 req / 10s per source IP
on /mcp. Hosted Claude.ai, ChatGPT, Cursor, Continue, and similar
agent backends are not impacted in normal use.
For higher rate limits or named tokens (e.g., a dedicated channel for a specific application or organisation), open a token-request issue.
Issues + contact
- Token request (higher rate limit, named tier, partnership): open an issue with the token-request template
- Partnership / integration (registry listing, distribution deal, custom integration): open an issue with the partnership template
- Bug or unexpected response: open an issue with the bug template
- Privacy / opt-out (suppression of a specific person from search results): email support@digitaldataonline.com — not handled via GitHub issues.
License
Documentation in this repository is MIT licensed. The MCP server source is closed but the protocol surface, descriptor, and configs documented here are open. See LICENSE.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.