Google Blogger · Capability

Google Blogger API

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.

Run with Naftiko GoogleBloggerAPI

What You Can Do

GET
Getblog — Get a blog
/blogs/{blogId}
GET
Getblogbyurl — Get a blog by URL
/blogs/byurl
GET
Listblogsbyuser — List blogs by user
/users/{userId}/blogs
GET
Listposts — List posts
/blogs/{blogId}/posts
POST
Insertpost — Create a post
/blogs/{blogId}/posts
GET
Getpost — Get a post
/blogs/{blogId}/posts/{postId}
PUT
Updatepost — Update a post
/blogs/{blogId}/posts/{postId}
PATCH
Patchpost — Patch a post
/blogs/{blogId}/posts/{postId}
DELETE
Deletepost — Delete a post
/blogs/{blogId}/posts/{postId}
GET
Searchposts — Search posts
/blogs/{blogId}/posts/search
GET
Listpages — List pages
/blogs/{blogId}/pages
POST
Insertpage — Create a page
/blogs/{blogId}/pages
GET
Listcomments — List comments
/blogs/{blogId}/posts/{postId}/comments
GET
Getcomment — Get a comment
/blogs/{blogId}/posts/{postId}/comments/{commentId}
DELETE
Deletecomment — Delete a comment
/blogs/{blogId}/posts/{postId}/comments/{commentId}
GET
Getuser — Get a user
/users/{userId}

MCP Tools

getblog

Get a blog

read-only idempotent
getblogbyurl

Get a blog by URL

read-only idempotent
listblogsbyuser

List blogs by user

read-only idempotent
listposts

List posts

read-only idempotent
insertpost

Create a post

getpost

Get a post

read-only idempotent
updatepost

Update a post

idempotent
patchpost

Patch a post

deletepost

Delete a post

idempotent
searchposts

Search posts

read-only idempotent
listpages

List pages

read-only idempotent
insertpage

Create a page

listcomments

List comments

read-only idempotent
getcomment

Get a comment

read-only idempotent
deletecomment

Delete a comment

idempotent
getuser

Get a user

read-only idempotent

Capability Spec

google-blogger-capability.yaml Raw ↑
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