naftiko: 1.0.0-alpha2 info: label: Google Blogger API description: The Blogger API v3 allows you to create, read, update, and delete Blogger resources including blogs, posts, pages, comments, and users. You can integrate Blogger content into your application using RESTful operations. tags: - Google - Blogger - API created: '2026-05-06' modified: '2026-05-06' capability: consumes: - type: http namespace: google-blogger baseUri: https://www.googleapis.com/blogger/v3 description: Google Blogger API HTTP API. authentication: type: bearer token: '{{GOOGLE_BLOGGER_TOKEN}}' resources: - name: blogs-blogid path: /blogs/{blogId} operations: - name: getblog method: GET description: Get a blog inputParameters: - name: blogId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: blogs-byurl path: /blogs/byurl operations: - name: getblogbyurl method: GET description: Get a blog by URL inputParameters: - name: url in: query type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: users-userid-blogs path: /users/{userId}/blogs operations: - name: listblogsbyuser method: GET description: List blogs by user inputParameters: - name: userId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: blogs-blogid-posts path: /blogs/{blogId}/posts operations: - name: listposts method: GET description: List posts inputParameters: - name: blogId in: path type: string required: true - name: maxResults in: query type: integer - name: pageToken in: query type: string - name: labels in: query type: string - name: startDate in: query type: string - name: endDate in: query type: string - name: status in: query type: string - name: orderBy in: query type: string outputRawFormat: json outputParameters: - name: result type: object value: $. - name: insertpost method: POST description: Create a post inputParameters: - name: blogId in: path type: string required: true - name: isDraft in: query type: boolean outputRawFormat: json outputParameters: - name: result type: object value: $. - name: blogs-blogid-posts-postid path: /blogs/{blogId}/posts/{postId} operations: - name: getpost method: GET description: Get a post inputParameters: - name: blogId in: path type: string required: true - name: postId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatepost method: PUT description: Update a post inputParameters: - name: blogId in: path type: string required: true - name: postId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: patchpost method: PATCH description: Patch a post inputParameters: - name: blogId in: path type: string required: true - name: postId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deletepost method: DELETE description: Delete a post inputParameters: - name: blogId in: path type: string required: true - name: postId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: blogs-blogid-posts-search path: /blogs/{blogId}/posts/search operations: - name: searchposts method: GET description: Search posts inputParameters: - name: blogId in: path type: string required: true - name: q in: query type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: blogs-blogid-pages path: /blogs/{blogId}/pages operations: - name: listpages method: GET description: List pages inputParameters: - name: blogId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: insertpage method: POST description: Create a page inputParameters: - name: blogId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: blogs-blogid-posts-postid-comments path: /blogs/{blogId}/posts/{postId}/comments operations: - name: listcomments method: GET description: List comments inputParameters: - name: blogId in: path type: string required: true - name: postId in: path type: string required: true - name: maxResults in: query type: integer - name: pageToken in: query type: string outputRawFormat: json outputParameters: - name: result type: object value: $. - name: blogs-blogid-posts-postid-comments-commentid path: /blogs/{blogId}/posts/{postId}/comments/{commentId} operations: - name: getcomment method: GET description: Get a comment inputParameters: - name: blogId in: path type: string required: true - name: postId in: path type: string required: true - name: commentId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deletecomment method: DELETE description: Delete a comment inputParameters: - name: blogId in: path type: string required: true - name: postId in: path type: string required: true - name: commentId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: users-userid path: /users/{userId} operations: - name: getuser method: GET description: Get a user inputParameters: - name: userId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: google-blogger-rest description: REST adapter for Google Blogger API. resources: - path: /blogs/{blogId} name: getblog operations: - method: GET name: getblog description: Get a blog call: google-blogger.getblog with: blogId: rest.blogId outputParameters: - type: object mapping: $. - path: /blogs/byurl name: getblogbyurl operations: - method: GET name: getblogbyurl description: Get a blog by URL call: google-blogger.getblogbyurl outputParameters: - type: object mapping: $. - path: /users/{userId}/blogs name: listblogsbyuser operations: - method: GET name: listblogsbyuser description: List blogs by user call: google-blogger.listblogsbyuser with: userId: rest.userId outputParameters: - type: object mapping: $. - path: /blogs/{blogId}/posts name: listposts operations: - method: GET name: listposts description: List posts call: google-blogger.listposts with: blogId: rest.blogId outputParameters: - type: object mapping: $. - path: /blogs/{blogId}/posts name: insertpost operations: - method: POST name: insertpost description: Create a post call: google-blogger.insertpost with: blogId: rest.blogId outputParameters: - type: object mapping: $. - path: /blogs/{blogId}/posts/{postId} name: getpost operations: - method: GET name: getpost description: Get a post call: google-blogger.getpost with: blogId: rest.blogId postId: rest.postId outputParameters: - type: object mapping: $. - path: /blogs/{blogId}/posts/{postId} name: updatepost operations: - method: PUT name: updatepost description: Update a post call: google-blogger.updatepost with: blogId: rest.blogId postId: rest.postId outputParameters: - type: object mapping: $. - path: /blogs/{blogId}/posts/{postId} name: patchpost operations: - method: PATCH name: patchpost description: Patch a post call: google-blogger.patchpost with: blogId: rest.blogId postId: rest.postId outputParameters: - type: object mapping: $. - path: /blogs/{blogId}/posts/{postId} name: deletepost operations: - method: DELETE name: deletepost description: Delete a post call: google-blogger.deletepost with: blogId: rest.blogId postId: rest.postId outputParameters: - type: object mapping: $. - path: /blogs/{blogId}/posts/search name: searchposts operations: - method: GET name: searchposts description: Search posts call: google-blogger.searchposts with: blogId: rest.blogId outputParameters: - type: object mapping: $. - path: /blogs/{blogId}/pages name: listpages operations: - method: GET name: listpages description: List pages call: google-blogger.listpages with: blogId: rest.blogId outputParameters: - type: object mapping: $. - path: /blogs/{blogId}/pages name: insertpage operations: - method: POST name: insertpage description: Create a page call: google-blogger.insertpage with: blogId: rest.blogId outputParameters: - type: object mapping: $. - path: /blogs/{blogId}/posts/{postId}/comments name: listcomments operations: - method: GET name: listcomments description: List comments call: google-blogger.listcomments with: blogId: rest.blogId postId: rest.postId outputParameters: - type: object mapping: $. - path: /blogs/{blogId}/posts/{postId}/comments/{commentId} name: getcomment operations: - method: GET name: getcomment description: Get a comment call: google-blogger.getcomment with: blogId: rest.blogId postId: rest.postId commentId: rest.commentId outputParameters: - type: object mapping: $. - path: /blogs/{blogId}/posts/{postId}/comments/{commentId} name: deletecomment operations: - method: DELETE name: deletecomment description: Delete a comment call: google-blogger.deletecomment with: blogId: rest.blogId postId: rest.postId commentId: rest.commentId outputParameters: - type: object mapping: $. - path: /users/{userId} name: getuser operations: - method: GET name: getuser description: Get a user call: google-blogger.getuser with: userId: rest.userId outputParameters: - type: object mapping: $. - type: mcp port: 9090 namespace: google-blogger-mcp transport: http description: MCP adapter for Google Blogger API for AI agent use. tools: - name: getblog description: Get a blog hints: readOnly: true destructive: false idempotent: true call: google-blogger.getblog with: blogId: tools.blogId inputParameters: - name: blogId type: string description: blogId required: true outputParameters: - type: object mapping: $. - name: getblogbyurl description: Get a blog by URL hints: readOnly: true destructive: false idempotent: true call: google-blogger.getblogbyurl with: url: tools.url inputParameters: - name: url type: string description: url required: true outputParameters: - type: object mapping: $. - name: listblogsbyuser description: List blogs by user hints: readOnly: true destructive: false idempotent: true call: google-blogger.listblogsbyuser with: userId: tools.userId inputParameters: - name: userId type: string description: userId required: true outputParameters: - type: object mapping: $. - name: listposts description: List posts hints: readOnly: true destructive: false idempotent: true call: google-blogger.listposts with: blogId: tools.blogId maxResults: tools.maxResults pageToken: tools.pageToken labels: tools.labels startDate: tools.startDate endDate: tools.endDate status: tools.status orderBy: tools.orderBy inputParameters: - name: blogId type: string description: blogId required: true - name: maxResults type: integer description: maxResults - name: pageToken type: string description: pageToken - name: labels type: string description: labels - name: startDate type: string description: startDate - name: endDate type: string description: endDate - name: status type: string description: status - name: orderBy type: string description: orderBy outputParameters: - type: object mapping: $. - name: insertpost description: Create a post hints: readOnly: false destructive: false idempotent: false call: google-blogger.insertpost with: blogId: tools.blogId isDraft: tools.isDraft inputParameters: - name: blogId type: string description: blogId required: true - name: isDraft type: boolean description: isDraft outputParameters: - type: object mapping: $. - name: getpost description: Get a post hints: readOnly: true destructive: false idempotent: true call: google-blogger.getpost with: blogId: tools.blogId postId: tools.postId inputParameters: - name: blogId type: string description: blogId required: true - name: postId type: string description: postId required: true outputParameters: - type: object mapping: $. - name: updatepost description: Update a post hints: readOnly: false destructive: false idempotent: true call: google-blogger.updatepost with: blogId: tools.blogId postId: tools.postId inputParameters: - name: blogId type: string description: blogId required: true - name: postId type: string description: postId required: true outputParameters: - type: object mapping: $. - name: patchpost description: Patch a post hints: readOnly: false destructive: false idempotent: false call: google-blogger.patchpost with: blogId: tools.blogId postId: tools.postId inputParameters: - name: blogId type: string description: blogId required: true - name: postId type: string description: postId required: true outputParameters: - type: object mapping: $. - name: deletepost description: Delete a post hints: readOnly: false destructive: true idempotent: true call: google-blogger.deletepost with: blogId: tools.blogId postId: tools.postId inputParameters: - name: blogId type: string description: blogId required: true - name: postId type: string description: postId required: true outputParameters: - type: object mapping: $. - name: searchposts description: Search posts hints: readOnly: true destructive: false idempotent: true call: google-blogger.searchposts with: blogId: tools.blogId q: tools.q inputParameters: - name: blogId type: string description: blogId required: true - name: q type: string description: q required: true outputParameters: - type: object mapping: $. - name: listpages description: List pages hints: readOnly: true destructive: false idempotent: true call: google-blogger.listpages with: blogId: tools.blogId inputParameters: - name: blogId type: string description: blogId required: true outputParameters: - type: object mapping: $. - name: insertpage description: Create a page hints: readOnly: false destructive: false idempotent: false call: google-blogger.insertpage with: blogId: tools.blogId inputParameters: - name: blogId type: string description: blogId required: true outputParameters: - type: object mapping: $. - name: listcomments description: List comments hints: readOnly: true destructive: false idempotent: true call: google-blogger.listcomments with: blogId: tools.blogId postId: tools.postId maxResults: tools.maxResults pageToken: tools.pageToken inputParameters: - name: blogId type: string description: blogId required: true - name: postId type: string description: postId required: true - name: maxResults type: integer description: maxResults - name: pageToken type: string description: pageToken outputParameters: - type: object mapping: $. - name: getcomment description: Get a comment hints: readOnly: true destructive: false idempotent: true call: google-blogger.getcomment with: blogId: tools.blogId postId: tools.postId commentId: tools.commentId inputParameters: - name: blogId type: string description: blogId required: true - name: postId type: string description: postId required: true - name: commentId type: string description: commentId required: true outputParameters: - type: object mapping: $. - name: deletecomment description: Delete a comment hints: readOnly: false destructive: true idempotent: true call: google-blogger.deletecomment with: blogId: tools.blogId postId: tools.postId commentId: tools.commentId inputParameters: - name: blogId type: string description: blogId required: true - name: postId type: string description: postId required: true - name: commentId type: string description: commentId required: true outputParameters: - type: object mapping: $. - name: getuser description: Get a user hints: readOnly: true destructive: false idempotent: true call: google-blogger.getuser with: userId: tools.userId inputParameters: - name: userId type: string description: userId required: true outputParameters: - type: object mapping: $. binds: - namespace: env keys: GOOGLE_BLOGGER_TOKEN: GOOGLE_BLOGGER_TOKEN