
JustBlogged
Create, edit, organize, publish, and configure JustBlogged blogs from MCP clients.
What it can do
What data it sees
Do you need an account
No: the server works without sign-in
Create, edit, organize, publish, and configure JustBlogged blogs from MCP clients.
How to connect
How to connect JustBlogged to Claude
The server address to paste into Claude settings:
https://justblogged.com/mcp
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect JustBlogged to ChatGPT
The server address to paste into ChatGPT settings:
https://justblogged.com/mcp
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect JustBlogged to Cursor
The server address to paste into Cursor settings:
https://justblogged.com/mcp
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (45)
Raw names from tools/list. Only developers need these.
| list_blogs | List the authenticated user's accessible blogs so later tool calls can target the right blogId. |
| get_blog | Get a single blog by ID, including settings like subdomain, domain, logo, and metadata. |
| list_blog_members | List blog members who can be assigned as post authors. Use a member id as authorId in create_post or update_post. |
| create_blog | Create a new blog. Subdomain is auto-generated from the name. Requires account-level OAuth or a user-scoped API key. |
| update_blog | Update blog settings including name, subdomain, description, and logo. Requires owner or admin access. |
| delete_blog | Delete a blog by ID. Only the blog owner can delete. Active subscriptions are cancelled automatically. |
| get_blog_metadata | Get custom metadata for a blog (SEO fields, themeId, etc.). Does not include themeSettings values. |
| update_blog_metadata | Merge custom metadata into a blog. Pass only the keys you want to add or update. Theme changes use the dedicated theme tools. |
| update_blog_domain | Configure or remove a blog's custom domain. Use domain only for custom domains (requires CNAME/A DNS). Use domain + domain_slug for subdirectory hosting (requires TXT DNS verification). Pass an empty domain string to remove the domain. |
| list_available_themes | List built-in themes available for a blog and show which theme is currently active. |
| get_theme_settings | Get theme settings schema and current values for a blog's active theme. |
| update_theme_settings | Update one or more theme setting values for a blog. Unspecified values are preserved. Use get_theme_settings first to discover valid keys. |
| switch_theme | Switch a blog to a different built-in theme or to custom if theme files exist. |
| list_theme_files | List the theme file tree for a blog (layouts, templates, assets, etc.). |
| get_theme_file | Read a theme file by path (e.g. layouts/theme.liquid). Falls back to the active built-in theme when no custom copy exists. |
| update_theme_file | Create or update a theme file. Requires a Pro subscription. Copies the built-in theme first if no custom files exist yet. |
| delete_theme_file | Delete a custom theme file from a blog. Requires a Pro subscription. Cannot delete built-in-only files. |
| upload_image | Upload an image to a blog. Use the returned path as the image value when creating or updating a post, page, or blog. |
| list_posts | List blog posts with pagination, filtering, and sorting by status, collection, tag, author, or date. |
| get_post | Get a single blog post by ID. |
| create_post | Create a new blog post with title, HTML content, author, collection, tags, metadata, slug, image, and publishing options. |
| update_post | Update any editable field on an existing blog post, including its author. |
| delete_post | Delete a blog post by ID. |
| list_pages | List static pages with pagination, filtering, and sorting. |
| get_page | Get a single static page by ID. |
| create_page | Create a new static page with title, HTML body, metadata, slug, image, and status. |
| update_page | Update any editable field on an existing static page. |
| delete_page | Delete a static page by ID. |
| list_redirects | List redirects for a blog with search, status, type, and pagination filters. Requires owner or admin access through account-level OAuth or a user-scoped API key. |
| create_redirect | Create a redirect for a blog. Requires owner or admin access through account-level OAuth or a user-scoped API key. |
| update_redirect | Update a redirect source, destination, status code, or active state. Requires owner or admin access through account-level OAuth or a user-scoped API key. |
| delete_redirect | Delete a redirect by ID. Requires owner or admin access through account-level OAuth or a user-scoped API key. |
| list_tags | List blog tags with optional case-insensitive search filtering. |
| update_tag | Rename a blog tag. |
| delete_tag | Delete a blog tag by ID. |
| list_collections | List all collections for a blog. |
| create_collection | Create a new collection with name, slug, and optional description. |
| update_collection | Update an existing collection's name, slug, or description. |
| delete_collection | Delete a collection by ID and optionally reassign its posts to another collection. |
| list_content_revisions | List the saved revision history for a post or page. Returns revision metadata without full snapshots. |
| get_content_revision | Get one saved post or page revision, including its complete content snapshot. |
| list_content_reviews | List content review requests for a blog, filtered by status. |
| get_latest_content_review | Get the latest review associated with the newest saved revision of a post or page. |
| submit_content_review | Submit the latest saved revision of a draft post or page for review. |
| decide_content_review | Approve a pending content review or request changes. Approving a staged update to published content applies that revision. |