The Family Almanac — parenting library, guide metadata, and magazine
Read-only access to The Family Almanac's parenting-focused book library, grounded guide metadata...
Should I use this
Quality & Safety
Findings (2)
- HIGH
- MEDIUMin list_family_almanac_feeds
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"discovery": {
"url": "https://thefamilyalmanac.com/api/mcp"
}
}
}Remote endpoints
https://thefamilyalmanac.com/api/mcpstreamable-httpWhat it can do
Tool inventory
Tools (5)
🟢list_family_almanac_feeds
List The Family Almanac's free machine-readable feeds and their MCP/REST availability. OpenAPI is also published at https://thefamilyalmanac.com/openapi.json.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"contract": {
"type": "string"
},
"count": {
"type": "number"
},
"feeds": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"method": {
"type": "string"
},
"path": {
"type": "string"
},
"summary": {
"type": "string"
},
"mcpTool": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"rest": {
"type": "string"
},
"auth": {
"type": "string"
}
},
"required": [
"id",
"method",
"path",
"summary",
"mcpTool",
"rest",
"auth"
],
"additionalProperties": false
}
}
},
"required": [
"contract",
"count",
"feeds"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢search_library(query, tag, limit)
Search or list the parenting-focused book library by title/author substring and/or classifier tag. No filters returns the first page.
Input Schema
{
"type": "object",
"properties": {
"query": {
"description": "Case-insensitive title/author substring.",
"type": "string"
},
"tag": {
"description": "Case-insensitive classifier-tag substring.",
"type": "string"
},
"limit": {
"description": "Max rows to return (default 25, max 100).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"contract": {
"type": "string"
},
"query": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"tag": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"total": {
"type": "number"
},
"count": {
"type": "number"
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"libraryId": {
"type": "string"
},
"title": {
"type": "string"
},
"author": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"year": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"guides": {
"type": "array",
"items": {
"type": "string"
}
},
"canonicalUrl": {
"type": "string"
}
},
"required": [
"libraryId",
"title",
"author",
"year",
"tags",
"guides",
"canonicalUrl"
],
"additionalProperties": false
}
}
},
"required": [
"contract",
"query",
"tag",
"total",
"count",
"results"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_library_work(libraryId)
Returns one parenting library work's bibliographic record and (when profiled) its thesis.
Input Schema
{
"type": "object",
"properties": {
"libraryId": {
"type": "string",
"description": "Library catalog id (e.g. libb36dccb370592500)."
}
},
"required": [
"libraryId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"contract": {
"type": "string"
},
"libraryId": {
"type": "string"
},
"title": {
"type": "string"
},
"author": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"year": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"guides": {
"type": "array",
"items": {
"type": "string"
}
},
"logline": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"pitch": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"canonicalUrl": {
"type": "string"
}
},
"required": [
"contract",
"libraryId",
"title",
"author",
"year",
"tags",
"guides",
"logline",
"pitch",
"canonicalUrl"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_guide(slug)
Returns one live guide's title, subtitle, access, book count, and reading time — card-level metadata only. This surface never returns guide body/depth text (none is served here, free or gated); to read or purchase a guide, send the reader to the returned canonicalUrl — never summarize or excerpt content this tool did not return. Known slugs (19): pregnancy, newborn, toddler, preschool, school-age, adolescence, parenting-science, baby-naming, ….
Input Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Guide slug (e.g. pregnancy, newborn, toddler, parenting-science)."
}
},
"required": [
"slug"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"contract": {
"type": "string"
},
"slug": {
"type": "string"
},
"title": {
"type": "string"
},
"subtitle": {
"type": "string"
},
"guideType": {
"type": "string"
},
"access": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"books": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"readingTimeMin": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"updated": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"live": {
"type": "boolean"
},
"canonicalUrl": {
"type": "string"
}
},
"required": [
"contract",
"slug",
"title",
"subtitle",
"guideType",
"access",
"books",
"readingTimeMin",
"updated",
"live",
"canonicalUrl"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_magazine_piece(slug)
Returns one published magazine piece's question, per-writer sections, and editor's coda — the same content the human page renders, ungated. Known slugs (4): the-whole-room--i-got-a-prenatal-screening-result-that-came, the-whole-room--my-baby-won-t-nap-anywhere-except-on, the-whole-room--four-year-old-lying, the-whole-room--my-toddler-had-a-full-blown-meltdown-on.
Input Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Magazine piece slug."
}
},
"required": [
"slug"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"contract": {
"type": "string"
},
"slug": {
"type": "string"
},
"title": {
"type": "string"
},
"format": {
"type": "string"
},
"question": {
"type": "string"
},
"generated": {
"type": "string"
},
"sections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"writer": {
"type": "string"
},
"displayName": {
"type": "string"
},
"byline": {
"type": "string"
},
"body": {
"type": "string"
}
},
"required": [
"writer",
"displayName",
"byline",
"body"
],
"additionalProperties": false
}
},
"editor": {
"type": "object",
"properties": {
"displayName": {
"type": "string"
},
"role": {
"type": "string"
}
},
"required": [
"displayName",
"role"
],
"additionalProperties": false
},
"editorCoda": {
"type": "string"
},
"canonicalUrl": {
"type": "string"
}
},
"required": [
"contract",
"slug",
"title",
"format",
"question",
"generated",
"sections",
"editor",
"editorCoda",
"canonicalUrl"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Community
Evidence