Penwright — writing-craft library, guide metadata, and magazine
Qué hace este MCP
Provides searchable writing-craft book records, guide metadata, and published multi-voice magazine pieces.
Herramientas
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['guide'], 'properties': {'guide': {'type': 'string', 'description': 'Guide slug (e.g. memoir-writing, nonfiction-writing, fiction-writing, getting-published).'}, 'picks': {'type': 'string', 'description': 'One char per debate in order: A, B, or any other char (or omit) for skip.'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['contract', 'guideSlug', 'guideTitle', 'picks', 'libraryIds', 'canonicalUrl', 'guideCanonicalUrl'], 'properties': {'picks': {'type': 'array', 'items': {'type': 'object', 'required': ['debateSlug', 'name', 'pick', 'libraryIds', 'canonicalUrl'], 'properties': {'name': {'type': 'string'}, 'pick': {'enum': ['A', 'B', 'skip'], 'type': 'string'}, 'debateSlug': {'type': 'string'}, 'libraryIds': {'type': 'array', 'items': {'type': 'string'}}, 'canonicalUrl': {'type': 'string'}}, 'additionalProperties': False}}, 'contract': {'type': 'string'}, 'guideSlug': {'type': 'string'}, 'guideTitle': {'type': 'string'}, 'libraryIds': {'type': 'array', 'items': {'type': 'string'}}, 'canonicalUrl': {'type': 'string'}, 'guideCanonicalUrl': {'type': 'string'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': "The Answer's stable id or slug."}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id', 'slug', 'question', 'shortAnswer', 'answer', 'home', 'canonicalUrl', 'citations', 'status', 'access', 'version', 'contentHash', 'generatedBy', 'updatedAt'], 'properties': {'id': {'type': 'string'}, 'home': {'type': 'string'}, 'slug': {'type': 'string'}, 'access': {'type': 'string', 'const': 'free'}, 'answer': {'type': 'string'}, 'status': {'type': 'string'}, 'version': {'type': 'number'}, 'question': {'type': 'string'}, 'citations': {'type': 'array', 'items': {'type': 'object', 'required': ['libraryId', 'title'], 'properties': {'claim': {'type': 'string'}, 'title': {'type': 'string'}, 'author': {'type': 'string'}, 'locator': {'type': 'string'}, 'libraryId': {'type': 'string'}}, 'additionalProperties': False}}, 'updatedAt': {'type': 'string'}, 'contentHash': {'type': 'string'}, 'generatedBy': {'type': 'object', 'required': ['authored'], 'properties': {'authored': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}, 'shortAnswer': {'type': 'string'}, 'canonicalUrl': {'type': 'string'}, 'relatedGuides': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'url'], 'properties': {'url': {'type': 'string'}, 'slug': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Debate slug (e.g. memoir-factual-accuracy-or-emotional-truth).'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['contract', 'slug', 'guideSlug', 'guideTitle', 'topic', 'name', 'poles', 'stakes', 'guidance', 'libraryIds', 'canonicalUrl', 'guideCanonicalUrl'], 'properties': {'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'poles': {'type': 'array', 'items': [{'type': 'string'}, {'type': 'string'}], 'maxItems': 2, 'minItems': 2, 'additionalItems': False}, 'topic': {'type': 'string'}, 'stakes': {'type': ['string', 'null']}, 'contract': {'type': 'string'}, 'guidance': {'type': 'string'}, 'guideSlug': {'type': 'string'}, 'guideTitle': {'type': 'string'}, 'libraryIds': {'type': 'array', 'items': {'type': 'string'}}, 'canonicalUrl': {'type': 'string'}, 'guideCanonicalUrl': {'type': 'string'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Guide slug (e.g. memoir-writing, fiction-writing, getting-published, self-publishing).'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['contract', 'slug', 'title', 'subtitle', 'guideType', 'access', 'books', 'readingTimeMin', 'updated', 'live', 'canonicalUrl'], 'properties': {'live': {'type': 'boolean'}, 'slug': {'type': 'string'}, 'books': {'type': ['number', 'null']}, 'title': {'type': 'string'}, 'access': {'type': 'string'}, 'updated': {'type': ['string', 'null']}, 'contract': {'type': 'string'}, 'subtitle': {'type': 'string'}, 'guideType': {'type': ['string', 'null']}, 'canonicalUrl': {'type': 'string'}, 'readingTimeMin': {'type': ['number', 'null']}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['libraryId'], 'properties': {'libraryId': {'type': 'string', 'description': 'Library catalog id (e.g. libce6efaa49e6f0175).'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['contract', 'libraryId', 'title', 'author', 'year', 'tags', 'logline', 'pitch', 'canonicalUrl'], 'properties': {'tags': {'type': 'array', 'items': {'type': 'string'}}, 'year': {'type': ['number', 'null']}, 'pitch': {'type': ['string', 'null']}, 'title': {'type': 'string'}, 'author': {'type': ['string', 'null']}, 'logline': {'type': ['string', 'null']}, 'contract': {'type': 'string'}, 'libraryId': {'type': 'string'}, 'canonicalUrl': {'type': 'string'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Magazine piece slug.'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['contract', 'slug', 'title', 'format', 'question', 'generated', 'sections', 'editor', 'editorCoda', 'canonicalUrl'], 'properties': {'slug': {'type': 'string'}, 'title': {'type': 'string'}, 'editor': {'type': 'object', 'required': ['displayName', 'role'], 'properties': {'role': {'type': 'string'}, 'displayName': {'type': 'string'}}, 'additionalProperties': False}, 'format': {'type': 'string'}, 'contract': {'type': 'string'}, 'question': {'type': 'string'}, 'sections': {'type': 'array', 'items': {'type': 'object', 'required': ['writer', 'displayName', 'byline', 'body'], 'properties': {'body': {'type': 'string'}, 'byline': {'type': 'string'}, 'writer': {'type': 'string'}, 'displayName': {'type': 'string'}}, 'additionalProperties': False}}, 'generated': {'type': 'string'}, 'editorCoda': {'type': 'string'}, 'canonicalUrl': {'type': 'string'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 200, 'description': 'Max answers to return (default 25, capped 200).', 'exclusiveMinimum': 0}, 'cursor': {'type': 'string', 'description': "Opaque pagination cursor from a previous list_answers call's nextCursor."}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['contract', 'count', 'nextCursor', 'items'], 'properties': {'count': {'type': 'number'}, 'items': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'slug', 'question', 'shortAnswer', 'answer', 'home', 'canonicalUrl', 'citations', 'status', 'access', 'version', 'contentHash', 'generatedBy', 'updatedAt'], 'properties': {'id': {'type': 'string'}, 'home': {'type': 'string'}, 'slug': {'type': 'string'}, 'access': {'type': 'string', 'const': 'free'}, 'answer': {'type': 'string'}, 'status': {'type': 'string'}, 'version': {'type': 'number'}, 'question': {'type': 'string'}, 'citations': {'type': 'array', 'items': {'type': 'object', 'required': ['libraryId', 'title'], 'properties': {'claim': {'type': 'string'}, 'title': {'type': 'string'}, 'author': {'type': 'string'}, 'locator': {'type': 'string'}, 'libraryId': {'type': 'string'}}, 'additionalProperties': False}}, 'updatedAt': {'type': 'string'}, 'contentHash': {'type': 'string'}, 'generatedBy': {'type': 'object', 'required': ['authored'], 'properties': {'authored': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}, 'shortAnswer': {'type': 'string'}, 'canonicalUrl': {'type': 'string'}, 'relatedGuides': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'url'], 'properties': {'url': {'type': 'string'}, 'slug': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}}, 'contract': {'type': 'string'}, 'nextCursor': {'type': ['string', 'null']}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'maximum': 200, 'description': 'Max results to return (default 25, capped 200).', 'exclusiveMinimum': 0}, 'query': {'type': 'string', 'minLength': 1, 'description': 'Free-text query matched against question/answer text.'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['contract', 'query', 'count', 'results'], 'properties': {'count': {'type': 'number'}, 'query': {'type': 'string'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'slug', 'question', 'shortAnswer', 'answer', 'home', 'canonicalUrl', 'citations', 'status', 'access', 'version', 'contentHash', 'generatedBy', 'updatedAt'], 'properties': {'id': {'type': 'string'}, 'home': {'type': 'string'}, 'slug': {'type': 'string'}, 'access': {'type': 'string', 'const': 'free'}, 'answer': {'type': 'string'}, 'status': {'type': 'string'}, 'version': {'type': 'number'}, 'question': {'type': 'string'}, 'citations': {'type': 'array', 'items': {'type': 'object', 'required': ['libraryId', 'title'], 'properties': {'claim': {'type': 'string'}, 'title': {'type': 'string'}, 'author': {'type': 'string'}, 'locator': {'type': 'string'}, 'libraryId': {'type': 'string'}}, 'additionalProperties': False}}, 'updatedAt': {'type': 'string'}, 'contentHash': {'type': 'string'}, 'generatedBy': {'type': 'object', 'required': ['authored'], 'properties': {'authored': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}, 'shortAnswer': {'type': 'string'}, 'canonicalUrl': {'type': 'string'}, 'relatedGuides': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'url'], 'properties': {'url': {'type': 'string'}, 'slug': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}}, 'contract': {'type': 'string'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'tag': {'type': 'string', 'description': 'Case-insensitive property-tag substring.'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Max rows to return (default 25, max 100).'}, 'query': {'type': 'string', 'description': 'Case-insensitive title/author substring.'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['contract', 'query', 'tag', 'total', 'count', 'results'], 'properties': {'tag': {'type': ['string', 'null']}, 'count': {'type': 'number'}, 'query': {'type': ['string', 'null']}, 'total': {'type': 'number'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['libraryId', 'title', 'author', 'year', 'tags', 'canonicalUrl'], 'properties': {'tags': {'type': 'array', 'items': {'type': 'string'}}, 'year': {'type': ['number', 'null']}, 'title': {'type': 'string'}, 'author': {'type': ['string', 'null']}, 'libraryId': {'type': 'string'}, 'canonicalUrl': {'type': 'string'}}, 'additionalProperties': False}}, 'contract': {'type': 'string'}}, 'additionalProperties': False}
Cambios recientes en herramientas
Servidores MCP similares
Comicvine
Provides searchable Comic Vine data for comic characters, issues, volumes, creators, and publishers.
NotebookLM
Manages NotebookLM notebooks and sources, answers source-grounded questions with citations, and generates artifacts such as repor…
Anapioficeandfire
Searches and retrieves structured information about A Song of Ice and Fire books, characters, and houses.
Clevelandart
Searches Cleveland Museum of Art collection artworks, creators, exhibitions, and artwork records.
Archive
Provides access to Internet Archive item metadata and downloadable files for researching and retrieving archived digital material…
Georgia Archives
Searches and browses the National Archives of Georgia library, fonds, and film catalogues, and retrieves parsed archival library …
Artic
Provides Art Institute of Chicago artist, artwork, and exhibition records, including artwork descriptions, metadata, images, and …
Metmuseum
Searches The Metropolitan Museum of Art collection and retrieves detailed artwork metadata, images, artists, and classification i…