# get_blog_article (/docs/mcp/tools/get-blog-article)

{/* Generated by scripts/sync-mcp-tools.mjs from happierleads-api. Do not edit: change src/routes/mcp/toolDocs.json there, or add content/mcp-notes/get_blog_article.mdx. */}

**Get blog article** · Read-only

Returns one blog article in full (Optimize add-on): its content blocks, FAQ, every version with its status, the public url and the visits it received. Use it before update_blog_article to see the current text. Get articleId from list_blog_articles. Returns \{ article, visits, url \}, or 404 'Article not found'.

| Connection | Account-owner URL or OAuth (not a team member URL) |
| --- | --- |

## Parameters [#parameters]

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `websiteId` | `string` | Yes | Website ID from list_websites. |
| `articleId` | `string` | Yes | Article _id from list_blog_articles. |

## Tool definition [#tool-definition]

What your assistant receives from `tools/list`:

```json
{
  "name": "get_blog_article",
  "title": "Get blog article",
  "annotations": {
    "title": "Get blog article",
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
  },
  "inputSchema": {
    "type": "object",
    "properties": {
      "websiteId": {
        "type": "string",
        "description": "Website ID from list_websites."
      },
      "articleId": {
        "type": "string",
        "description": "Article _id from list_blog_articles."
      }
    },
    "required": [
      "websiteId",
      "articleId"
    ]
  }
}
```
