Penwright — writing-craft library, guide metadata, and magazine

Read-only access to Penwright's writing-craft book library, grounded guide metadata (card-level...

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
98%
이름 품질
100%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~1,184토큰 (도구 정의)
~2.7 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 0.92%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`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
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 4개
검증됨버전이 기록되지 않음도구 5개