Penwright — writing-craft library, guide metadata, and magazine
Read-only access to Penwright's writing-craft book library, grounded guide metadata (card-level...
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"discovery": {
"url": "https://penwright.ink/api/mcp"
}
}
}リモートエンドポイント
https://penwright.ink/api/mcpstreamable-httpできること
ツール一覧
ツール(4)
🟢search_library(query, tag, limit)
Search or list Penwright's writing-craft book library by title/author substring and/or property tag. No filters returns the first page.
入力スキーマ
{
"type": "object",
"properties": {
"query": {
"description": "Case-insensitive title/author substring.",
"type": "string"
},
"tag": {
"description": "Case-insensitive property-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#"
}出力スキーマ
{
"type": "object",
"properties": {
"contract": {
"type": "string"
},
"query": {
"type": [
"string",
"null"
]
},
"tag": {
"type": [
"string",
"null"
]
},
"total": {
"type": "number"
},
"count": {
"type": "number"
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"libraryId": {
"type": "string"
},
"title": {
"type": "string"
},
"author": {
"type": [
"string",
"null"
]
},
"year": {
"type": [
"number",
"null"
]
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"canonicalUrl": {
"type": "string"
}
},
"required": [
"libraryId",
"title",
"author",
"year",
"tags",
"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 writing-craft library work's bibliographic record and (when profiled) its thesis.
入力スキーマ
{
"type": "object",
"properties": {
"libraryId": {
"type": "string",
"description": "Library catalog id (e.g. libce6efaa49e6f0175)."
}
},
"required": [
"libraryId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"contract": {
"type": "string"
},
"libraryId": {
"type": "string"
},
"title": {
"type": "string"
},
"author": {
"type": [
"string",
"null"
]
},
"year": {
"type": [
"number",
"null"
]
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"logline": {
"type": [
"string",
"null"
]
},
"pitch": {
"type": [
"string",
"null"
]
},
"canonicalUrl": {
"type": "string"
}
},
"required": [
"contract",
"libraryId",
"title",
"author",
"year",
"tags",
"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, never the paid body/depth content. Known slugs (21): memoir-writing, nonfiction-writing, fiction-writing, getting-published, self-publishing, book-marketing, design-a-publication, typography-and-layout, ….
入力スキーマ
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Guide slug (e.g. memoir-writing, fiction-writing, getting-published, self-publishing)."
}
},
"required": [
"slug"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"contract": {
"type": "string"
},
"slug": {
"type": "string"
},
"title": {
"type": "string"
},
"subtitle": {
"type": "string"
},
"guideType": {
"type": [
"string",
"null"
]
},
"access": {
"type": "string"
},
"books": {
"type": [
"number",
"null"
]
},
"readingTimeMin": {
"type": [
"number",
"null"
]
},
"updated": {
"type": [
"string",
"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 (1): the-whole-room--my-memoir-keeps-stalling-i-can-write-scenes.
入力スキーマ
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Magazine piece slug."
}
},
"required": [
"slug"
],
"$schema": "http://json-schema.org/draft-07/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
}コミュニティ
エビデンス