このMCPでできること
Manages JustBlogged sites, posts, pages, collections, redirects, themes, revisions, and content review workflows.
ツール
入力スキーマ
{'type': 'object', 'required': ['name'], 'properties': {'logo': {'anyOf': [{'type': 'string', 'maxLength': 500}, {'type': 'null'}], 'description': 'Optional logo URL.'}, 'name': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Blog name.'}, 'description': {'anyOf': [{'type': 'string', 'maxLength': 500}, {'type': 'null'}], 'description': 'Optional blog description.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId', 'name', 'slug'], 'properties': {'name': {'type': 'string', 'maxLength': 32, 'minLength': 1, 'description': 'Collection name.'}, 'slug': {'type': 'string', 'pattern': '^\\s*(?:$|(?=[a-zA-Z0-9_-]{1,32}\\s*$)(?!(?:[aA][dD][mM][iI][nN]|[lL][oO][gG][iI][nN]|[sS][iI][gG][nN][uU][pP]|[aA][pP][iI]|[aA][sS][sS][eE][tT][sS]|[rR][oO][bB][oO][tT][sS]\\.[tT][xX][tT]|[sS][iI][tT][eE][mM][aA][pP]\\.[xX][mM][lL]|[sS][iI][tT][eE][mM][aA][pP]-[iI][nN][dD][eE][xX]\\.[xX][mM][lL]|[fF][eE][eE][dD]|[rR][sS][sS]|[tT][aA][gG][sS]|[tT][aA][gG]|[cC][oO][lL][lL][eE][cC][tT][iI][oO][nN][sS]|[cC][oO][lL][lL][eE][cC][tT][iI][oO][nN]|[pP][aA][gG][eE][sS]|[pP][aA][gG][eE]|[sS][iI][tT][eE][mM][aA][pP]|[sS][iI][tT][eE][mM][aA][pP][sS]|[sS][eE][aA][rR][cC][hH]|[dD][aA][sS][hH][bB][oO][aA][rR][dD]|[sS][eE][tT][tT][iI][nN][gG][sS]|[pP][rR][oO][fF][iI][lL][eE]|[aA][uU][tT][hH][oO][rR][sS])\\s*$)(?!.*--)[a-zA-Z0-9](?:[a-zA-Z0-9_-]*[a-zA-Z0-9])?)\\s*$', 'description': 'Collection slug.'}, 'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID. Use list_blogs to discover available blog IDs.'}, 'description': {'type': 'string', 'maxLength': 256, 'description': 'Optional collection description.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId', 'title', 'body'], 'properties': {'body': {'type': 'string', 'maxLength': 1000000, 'minLength': 1, 'description': 'Page HTML body.'}, 'slug': {'anyOf': [{'type': 'string', 'maxLength': 100}, {'type': 'null'}], 'description': 'Page slug. Auto-generated from title when omitted.'}, 'image': {'anyOf': [{'type': 'string', 'maxLength': 500}, {'type': 'null'}], 'description': 'Optional featured image path or URL. Use upload_image for local files.'}, 'title': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Page title.'}, 'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID. Use list_blogs to discover available blog IDs.'}, 'status': {'enum': ['draft', 'published'], 'type': 'string', 'default': 'draft', 'description': 'Publishing status. Default: draft.'}, 'metadata': {'type': 'array', 'items': {'type': 'object', 'required': ['key', 'value'], 'properties': {'key': {'type': 'string', 'maxLength': 50, 'minLength': 1}, 'value': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 20, 'description': 'Custom metadata entries as key/value objects. Maximum 20 entries; description should be 200 characters or fewer.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId', 'title', 'content', 'collection_id'], 'properties': {'slug': {'anyOf': [{'type': 'string', 'maxLength': 100}, {'type': 'null'}], 'description': 'Post slug. Auto-generated from title when omitted.'}, 'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 50, 'minLength': 1}, 'default': [], 'maxItems': 10, 'description': 'Tag names. Maximum 10 tags.'}, 'image': {'anyOf': [{'type': 'string', 'maxLength': 500}, {'type': 'null'}], 'description': 'Optional featured image path or URL. Use upload_image for local files.'}, 'title': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Post title.'}, 'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID. Use list_blogs to discover available blog IDs.'}, 'status': {'enum': ['draft', 'published'], 'type': 'string', 'default': 'draft', 'description': 'Publishing status. Default: draft.'}, 'content': {'type': 'string', 'maxLength': 1000000, 'minLength': 1, 'description': 'Post HTML content.'}, 'authorId': {'type': 'string', 'minLength': 1, 'description': 'Optional author user ID from list_blog_members. Assigning another member requires owner or admin access.'}, 'metadata': {'type': 'array', 'items': {'type': 'object', 'required': ['key', 'value'], 'properties': {'key': {'type': 'string', 'maxLength': 50, 'minLength': 1}, 'value': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 20, 'description': 'Custom metadata entries as key/value objects. Maximum 20 entries; description should be 200 characters or fewer.'}, 'published_at': {'anyOf': [{'type': 'string', 'format': 'date-time'}, {'type': 'null'}], 'description': 'Optional publish datetime in ISO 8601 format.'}, 'collection_id': {'type': 'string', 'minLength': 1, 'description': 'Collection ID for the post.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId', 'source_path', 'destination'], 'properties': {'active': {'type': 'boolean', 'default': True, 'description': 'Whether this redirect should be applied.'}, 'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID. Use list_blogs to discover available blog IDs.'}, 'destination': {'type': 'string', 'maxLength': 2048, 'minLength': 1, 'description': 'Destination site path or absolute HTTP(S) URL.'}, 'source_path': {'type': 'string', 'maxLength': 2048, 'minLength': 1, 'description': 'Incoming site path to redirect, starting with a single /. Query strings and fragments are not allowed.'}, 'status_code': {'anyOf': [{'type': 'number', 'const': 301}, {'type': 'number', 'const': 302}], 'default': 301, 'description': 'HTTP redirect status code. Use 301 for permanent redirects and 302 for temporary redirects.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId', 'reviewId', 'decision'], 'properties': {'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID. Use list_blogs to discover available blog IDs.'}, 'comment': {'type': 'string', 'maxLength': 2000, 'description': 'Review comment. Required when requesting changes; maximum 2,000 characters.'}, 'decision': {'enum': ['approved', 'changes_requested'], 'type': 'string', 'description': 'Review decision.'}, 'reviewId': {'type': 'string', 'minLength': 1, 'description': 'Review ID from list_content_reviews.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId'], 'properties': {'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId', 'collectionId'], 'properties': {'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID. Use list_blogs to discover available blog IDs.'}, 'reassign_to': {'type': 'string', 'minLength': 1, 'description': "Optional collection ID that should receive the deleted collection's posts."}, 'collectionId': {'type': 'string', 'minLength': 1, 'description': 'Collection ID.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId', 'pageId'], 'properties': {'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID. Use list_blogs to discover available blog IDs.'}, 'pageId': {'type': 'string', 'minLength': 1, 'description': 'Page ID.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId', 'postId'], 'properties': {'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID. Use list_blogs to discover available blog IDs.'}, 'postId': {'type': 'string', 'minLength': 1, 'description': 'Post ID.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId', 'redirectId'], 'properties': {'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID. Use list_blogs to discover available blog IDs.'}, 'redirectId': {'type': 'string', 'minLength': 1, 'description': 'Redirect ID.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId', 'tagId'], 'properties': {'tagId': {'type': 'string', 'minLength': 1, 'description': 'Tag ID.'}, 'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID. Use list_blogs to discover available blog IDs.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId', 'file_path'], 'properties': {'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID. Use list_blogs to discover available blog IDs.'}, 'file_path': {'type': 'string', 'minLength': 1, 'description': 'Theme file path relative to the theme root.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId'], 'properties': {'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId'], 'properties': {'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId', 'contentType', 'contentId', 'revisionId'], 'properties': {'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID. Use list_blogs to discover available blog IDs.'}, 'contentId': {'type': 'string', 'minLength': 1, 'description': 'Post or page ID.'}, 'revisionId': {'type': 'string', 'minLength': 1, 'description': 'Revision ID from list_content_revisions.'}, 'contentType': {'enum': ['post', 'page'], 'type': 'string', 'description': 'Content type.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId', 'contentType', 'contentId'], 'properties': {'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID. Use list_blogs to discover available blog IDs.'}, 'contentId': {'type': 'string', 'minLength': 1, 'description': 'Post or page ID.'}, 'contentType': {'enum': ['post', 'page'], 'type': 'string', 'description': 'Content type.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId', 'pageId'], 'properties': {'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID. Use list_blogs to discover available blog IDs.'}, 'pageId': {'type': 'string', 'minLength': 1, 'description': 'Page ID.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId', 'postId'], 'properties': {'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID. Use list_blogs to discover available blog IDs.'}, 'postId': {'type': 'string', 'minLength': 1, 'description': 'Post ID.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId', 'file_path'], 'properties': {'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID. Use list_blogs to discover available blog IDs.'}, 'file_path': {'type': 'string', 'pattern': '^.+\\.(liquid|css|js|html|json|xml|txt)$', 'minLength': 1, 'description': 'Text theme file path ending in .liquid, .css, .js, .html, .json, .xml, or .txt.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId'], 'properties': {'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID. Use list_blogs to discover available blog IDs.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId'], 'properties': {'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID. Use list_blogs to discover available blog IDs.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId'], 'properties': {'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'properties': {}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId'], 'properties': {'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID. Use list_blogs to discover available blog IDs.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId'], 'properties': {'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID. Use list_blogs to discover available blog IDs.'}, 'status': {'enum': ['pending', 'approved', 'changes_requested', 'superseded'], 'type': 'string', 'default': 'pending', 'description': 'Review status. Default: pending.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId', 'contentType', 'contentId'], 'properties': {'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID. Use list_blogs to discover available blog IDs.'}, 'contentId': {'type': 'string', 'minLength': 1, 'description': 'Post or page ID.'}, 'contentType': {'enum': ['post', 'page'], 'type': 'string', 'description': 'Content type.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId'], 'properties': {'page': {'type': 'integer', 'default': 1, 'minimum': 1, 'description': 'Page number. Default: 1.'}, 'limit': {'type': 'integer', 'default': 30, 'maximum': 100, 'minimum': 1, 'description': 'Page size. Default: 30, maximum: 100.'}, 'order': {'enum': ['asc', 'desc'], 'type': 'string', 'default': 'desc', 'description': 'Sort direction. Default: desc.'}, 'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID. Use list_blogs to discover available blog IDs.'}, 'status': {'enum': ['draft', 'published'], 'type': 'string', 'description': 'Filter by page status.'}, 'orderBy': {'enum': ['createdAt', 'updatedAt', 'title'], 'type': 'string', 'default': 'updatedAt', 'description': 'Sort field. Default: updatedAt.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId'], 'properties': {'page': {'type': 'integer', 'default': 1, 'minimum': 1, 'description': 'Page number. Default: 1.'}, 'limit': {'type': 'integer', 'default': 30, 'maximum': 100, 'minimum': 1, 'description': 'Page size. Default: 30, maximum: 100.'}, 'order': {'enum': ['asc', 'desc'], 'type': 'string', 'default': 'desc', 'description': 'Sort direction. Default: desc.'}, 'tagId': {'type': 'string', 'minLength': 1, 'description': 'Filter by tag ID.'}, 'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID. Use list_blogs to discover available blog IDs.'}, 'status': {'enum': ['draft', 'published', 'scheduled', 'all'], 'type': 'string', 'description': 'Filter by post status.'}, 'userId': {'type': 'string', 'minLength': 1, 'description': 'Filter by author user ID.'}, 'orderBy': {'enum': ['createdAt', 'updatedAt', 'title', 'publishedAt'], 'type': 'string', 'default': 'createdAt', 'description': 'Sort field. Default: createdAt.'}, 'collectionId': {'type': 'string', 'minLength': 1, 'description': 'Filter by collection ID.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId'], 'properties': {'page': {'type': 'integer', 'default': 1, 'minimum': 1, 'description': 'Page number, starting at 1.'}, 'type': {'enum': ['all', '301', '302'], 'type': 'string', 'default': 'all', 'description': 'Filter by HTTP status code.'}, 'limit': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Redirects per page, from 1 to 100.'}, 'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID. Use list_blogs to discover available blog IDs.'}, 'search': {'type': 'string', 'default': '', 'maxLength': 200, 'description': 'Search source paths and destinations.'}, 'status': {'enum': ['all', 'active', 'inactive'], 'type': 'string', 'default': 'all', 'description': 'Filter by active state.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId'], 'properties': {'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID. Use list_blogs to discover available blog IDs.'}, 'search': {'type': 'string', 'description': 'Optional tag name search filter.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId'], 'properties': {'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID. Use list_blogs to discover available blog IDs.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId', 'contentType', 'contentId'], 'properties': {'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID. Use list_blogs to discover available blog IDs.'}, 'comment': {'type': 'string', 'maxLength': 2000, 'description': 'Optional review comment. Maximum 2,000 characters.'}, 'contentId': {'type': 'string', 'minLength': 1, 'description': 'Post or page ID.'}, 'contentType': {'enum': ['post', 'page'], 'type': 'string', 'description': 'Content type.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId', 'theme_id'], 'properties': {'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID. Use list_blogs to discover available blog IDs.'}, 'theme_id': {'enum': ['just', 'obsidian', 'linen', 'tribune', 'beacon', 'aside', 'changes', 'custom'], 'type': 'string', 'description': 'Theme ID. Use custom for blogs with edited theme files.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId', 'name', 'subdomain'], 'properties': {'logo': {'anyOf': [{'type': 'string', 'maxLength': 500}, {'type': 'null'}], 'description': 'Updated logo URL.'}, 'name': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Updated blog name.'}, 'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID.'}, 'subdomain': {'type': 'string', 'pattern': '^(?!(?:api|admin|www|mail|app|dashboard|login|signup|blog|static|assets)$)(?!.*--)[a-z0-9]([a-z0-9-]*[a-z0-9])?$', 'maxLength': 40, 'minLength': 1, 'description': 'Updated blog subdomain.'}, 'description': {'anyOf': [{'type': 'string', 'maxLength': 500}, {'type': 'null'}], 'description': 'Updated blog description.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId', 'domain'], 'properties': {'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID.'}, 'domain': {'anyOf': [{'type': 'string', 'pattern': '^[a-zA-Z0-9-]+(\\.[a-zA-Z]{2,})+$', 'maxLength': 100, 'minLength': 1}, {'type': 'string', 'const': ''}], 'description': 'Custom domain (e.g. blog.example.com) or root domain for subdirectory mode. Pass empty string to remove.'}, 'domain_slug': {'anyOf': [{'type': 'string', 'pattern': '^[a-zA-Z0-9-_]*$', 'maxLength': 50}, {'type': 'null'}], 'description': 'Optional subdirectory slug for subdirectory hosting (e.g. example.com + blog).'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId', 'metadata'], 'properties': {'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID.'}, 'metadata': {'type': 'array', 'items': {'type': 'object', 'required': ['key', 'value'], 'properties': {'key': {'type': 'string', 'pattern': '^(?!(?:themeId|themeSettings|hasThemeFiles|themeUpdatedAt|customThemeBaseId)$).+$'}, 'value': {'anyOf': [{'type': 'string'}, {'type': 'number'}, {'type': 'boolean'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'description': 'Custom blog metadata entries as key/value objects. Theme changes must use switch_theme or update_theme_settings.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId', 'collectionId'], 'properties': {'name': {'type': 'string', 'maxLength': 32, 'minLength': 1, 'description': 'Updated collection name.'}, 'slug': {'type': 'string', 'pattern': '^\\s*(?:$|(?=[a-zA-Z0-9_-]{1,32}\\s*$)(?!(?:[aA][dD][mM][iI][nN]|[lL][oO][gG][iI][nN]|[sS][iI][gG][nN][uU][pP]|[aA][pP][iI]|[aA][sS][sS][eE][tT][sS]|[rR][oO][bB][oO][tT][sS]\\.[tT][xX][tT]|[sS][iI][tT][eE][mM][aA][pP]\\.[xX][mM][lL]|[sS][iI][tT][eE][mM][aA][pP]-[iI][nN][dD][eE][xX]\\.[xX][mM][lL]|[fF][eE][eE][dD]|[rR][sS][sS]|[tT][aA][gG][sS]|[tT][aA][gG]|[cC][oO][lL][lL][eE][cC][tT][iI][oO][nN][sS]|[cC][oO][lL][lL][eE][cC][tT][iI][oO][nN]|[pP][aA][gG][eE][sS]|[pP][aA][gG][eE]|[sS][iI][tT][eE][mM][aA][pP]|[sS][iI][tT][eE][mM][aA][pP][sS]|[sS][eE][aA][rR][cC][hH]|[dD][aA][sS][hH][bB][oO][aA][rR][dD]|[sS][eE][tT][tT][iI][nN][gG][sS]|[pP][rR][oO][fF][iI][lL][eE]|[aA][uU][tT][hH][oO][rR][sS])\\s*$)(?!.*--)[a-zA-Z0-9](?:[a-zA-Z0-9_-]*[a-zA-Z0-9])?)\\s*$', 'description': 'Updated collection slug.'}, 'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID. Use list_blogs to discover available blog IDs.'}, 'description': {'type': 'string', 'maxLength': 256, 'description': 'Updated collection description.'}, 'collectionId': {'type': 'string', 'minLength': 1, 'description': 'Collection ID.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId', 'pageId'], 'properties': {'body': {'type': 'string', 'maxLength': 1000000, 'minLength': 1, 'description': 'Updated HTML body.'}, 'slug': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Updated page slug.'}, 'image': {'anyOf': [{'type': 'string', 'maxLength': 500}, {'type': 'null'}], 'description': 'Updated featured image path or URL. Use upload_image for local files.'}, 'title': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Updated page title.'}, 'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID. Use list_blogs to discover available blog IDs.'}, 'pageId': {'type': 'string', 'minLength': 1, 'description': 'Page ID.'}, 'status': {'enum': ['draft', 'published'], 'type': 'string', 'description': 'Updated publishing status.'}, 'metadata': {'type': 'array', 'items': {'type': 'object', 'required': ['key', 'value'], 'properties': {'key': {'type': 'string', 'maxLength': 50, 'minLength': 1}, 'value': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 20, 'description': 'Custom metadata entries as key/value objects. Maximum 20 entries; description should be 200 characters or fewer.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId', 'postId'], 'properties': {'slug': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Updated post slug.'}, 'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 50, 'minLength': 1}, 'maxItems': 10, 'description': 'Updated tag names.'}, 'image': {'anyOf': [{'type': 'string', 'maxLength': 500}, {'type': 'null'}], 'description': 'Updated featured image path or URL. Use upload_image for local files.'}, 'title': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Updated post title.'}, 'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID. Use list_blogs to discover available blog IDs.'}, 'postId': {'type': 'string', 'minLength': 1, 'description': 'Post ID.'}, 'status': {'enum': ['draft', 'published'], 'type': 'string', 'description': 'Updated publishing status.'}, 'content': {'type': 'string', 'maxLength': 1000000, 'minLength': 1, 'description': 'Updated HTML content.'}, 'authorId': {'type': 'string', 'minLength': 1, 'description': 'Updated author user ID from list_blog_members. Reassignment requires owner or admin access.'}, 'metadata': {'type': 'array', 'items': {'type': 'object', 'required': ['key', 'value'], 'properties': {'key': {'type': 'string', 'maxLength': 50, 'minLength': 1}, 'value': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 20, 'description': 'Custom metadata entries as key/value objects. Maximum 20 entries; description should be 200 characters or fewer.'}, 'published_at': {'anyOf': [{'type': 'string', 'format': 'date-time'}, {'type': 'null'}], 'description': 'Updated publish datetime in ISO 8601 format.'}, 'collection_id': {'type': 'string', 'minLength': 1, 'description': 'Updated collection ID.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId', 'redirectId'], 'properties': {'active': {'type': 'boolean', 'description': 'Whether this redirect should be applied.'}, 'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID. Use list_blogs to discover available blog IDs.'}, 'redirectId': {'type': 'string', 'minLength': 1, 'description': 'Redirect ID.'}, 'destination': {'type': 'string', 'maxLength': 2048, 'minLength': 1, 'description': 'Updated destination site path or absolute HTTP(S) URL.'}, 'source_path': {'type': 'string', 'maxLength': 2048, 'minLength': 1, 'description': 'Updated incoming site path, starting with a single /.'}, 'status_code': {'anyOf': [{'type': 'number', 'const': 301}, {'type': 'number', 'const': 302}], 'description': 'Updated HTTP redirect status code.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId', 'tagId', 'name'], 'properties': {'name': {'type': 'string', 'maxLength': 50, 'minLength': 1, 'description': 'New tag name. Allowed characters: letters, numbers, spaces, hyphens, underscores, periods.'}, 'tagId': {'type': 'string', 'minLength': 1, 'description': 'Tag ID.'}, 'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID. Use list_blogs to discover available blog IDs.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId', 'file_path', 'content'], 'properties': {'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID. Use list_blogs to discover available blog IDs.'}, 'content': {'type': 'string', 'description': 'Full file content.'}, 'file_path': {'type': 'string', 'pattern': '^.+\\.(liquid|css|js|html|json|xml|txt)$', 'minLength': 1, 'description': 'Text theme file path ending in .liquid, .css, .js, .html, .json, .xml, or .txt.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId', 'values'], 'properties': {'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID. Use list_blogs to discover available blog IDs.'}, 'values': {'type': 'string', 'minLength': 2, 'description': 'JSON object containing theme setting names and values from get_theme_settings.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['blogId', 'filename', 'mimeType', 'data'], 'properties': {'data': {'type': 'string', 'pattern': '^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$', 'maxLength': 11184812, 'minLength': 1, 'description': 'Base64-encoded image bytes without a data URL prefix. Maximum decoded size: 8 MB.'}, 'blogId': {'type': 'string', 'minLength': 1, 'description': 'Blog ID. Use list_blogs to discover available blog IDs.'}, 'filename': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'Original image filename, including its extension.'}, 'mimeType': {'enum': ['image/png', 'image/jpeg', 'image/webp', 'image/gif', 'image/svg+xml'], 'type': 'string', 'description': 'Image MIME type. SVG is supported only for logo uploads.'}, 'uploadType': {'enum': ['post', 'page', 'blog', 'logo'], 'type': 'string', 'default': 'post', 'description': 'Where the image will be used. Default: post.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
最近のツール変更
類似のMCPサーバー
John's Essentials
Analyzes and converts documents, images, audio, video, archives, data files, and other media formats, with PDF chat and file insp…
HelpySelf
Provides utilities for PDF and image conversion, compression, redaction, scanning, encoding, calculations, accessibility checks, …
Postlyra
Creates, edits, previews, schedules, and publishes rich media posts to Telegram channels and groups.
convertfilefast
Converts and manipulates documents, images, PDFs, and data files, including compression, extraction, merging, splitting, rotation…
flask
Uploads and organizes videos and supports timestamped comments, recordings, annotations, review threads, and feedback analytics.
convert-pdf-to-word-docx
Uploads and inspects PDFs, extracts text, and performs page operations such as merging, splitting, rotating, stamping, and reorde…
split-pdf
Offline tools for uploading, inspecting, extracting, merging, splitting, rotating, reordering, stamping and managing PDF files.
Notipo
Creates, edits, synchronizes, publishes, and manages Markdown blog posts across Notion and WordPress, including images, SEO metad…