JustBlogged

io.github.usamaejazPublished by GitHub account usamaejazv0.1.1Updated Nov 8, 2026

Create, edit, organize, publish, and configure JustBlogged blogs from MCP clients.

VerifiedStreamable HTTPWeb executableProductivity & WorkflowMedia & Design

Overview

AI-generated overview

A remote MCP server for JustBlogged that lets an assistant create, edit, publish and configure blogs, posts, pages, themes and redirects.

What you can do
List and manage blogs, including settings, metadata, custom domains and members with author roles, and create or delete blogs where permitted. Create, read, update and delete posts and static pages, including publishing status, authors, tags, images and collections. Browse and edit themes: list available themes, read and change theme settings, switch themes, and read, write or delete theme files. Manage taxonomy and navigation: create, list, rename and delete tags, list and create collections, and manage redirects. Upload images to a blog and use the returned path in posts, pages or blog settings.
When to use it
Useful when you want an assistant to draft, publish or reorganize content on a JustBlogged site, adjust SEO metadata, theme settings or custom domains, or maintain redirects and tags without using the web dashboard.
Requirements
A remote endpoint at justblogged.com over streamable HTTP; no local package or runtime. A JustBlogged account with account-level OAuth or a user-scoped API key. Some operations need owner or admin access, and editing theme files requires a Pro subscription. Custom domains need DNS records (CNAME/A or TXT).
Before you install
The server can write and delete: posts, pages, blogs, tags, redirects and theme files, and publishing makes content live. Deleting a blog cancels active subscriptions automatically. Theme file changes require a Pro subscription. Access is scoped by account or API key permissions, so grant the least privilege needed.

Installation

In SourceWeft

  1. Open JustBlogged in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.usamaejaz%2Fjustblogged/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "justblogged": {
      "type": "http",
      "url": "https://justblogged.com/mcp"
    }
  }
}

README

This repository has no README.

Tools

48

list_blogs

List blogs

List the authenticated user's accessible blogs so later tool calls can target the right blogId.

Takes no parameters.

get_blog

Get blog

Get a single blog by ID, including settings like subdomain, domain, logo, and metadata.

ParametersblogIdrequired

list_blog_members

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.

ParametersblogIdrequired

create_blog

Create blog

Create a new blog. Subdomain is auto-generated from the name. Requires account-level OAuth or a user-scoped API key.

Parameterslogonamerequireddescription

update_blog

Update blog

Update blog settings including name, subdomain, description, and logo. Requires owner or admin access.

ParameterslogonamerequiredblogIdrequiredsubdomainrequireddescription

delete_blog

Delete blog

Delete a blog by ID. Only the blog owner can delete. Active subscriptions are cancelled automatically.

ParametersblogIdrequired

get_blog_metadata

Get blog metadata

Get custom metadata for a blog (SEO fields, themeId, etc.). Does not include themeSettings values.

ParametersblogIdrequired

update_blog_metadata

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.

ParametersblogIdrequiredmetadatarequired

update_blog_domain

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.

ParametersblogIdrequireddomainrequireddomain_slug

list_available_themes

List available themes

List built-in themes available for a blog and show which theme is currently active.

ParametersblogIdrequired

get_theme_settings

Get theme settings

Get theme settings schema and current values for a blog's active theme.

ParametersblogIdrequired

update_theme_settings

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.

ParametersblogIdrequiredvaluesrequired

switch_theme

Switch theme

Switch a blog to a different built-in theme or to custom if theme files exist.

ParametersblogIdrequiredtheme_idrequired

list_theme_files

List theme files

List the theme file tree for a blog (layouts, templates, assets, etc.).

ParametersblogIdrequired

get_theme_file

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.

ParametersblogIdrequiredfile_pathrequired

update_theme_file

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.

ParametersblogIdrequiredcontentrequiredfile_pathrequired

delete_theme_file

Delete theme file

Delete a custom theme file from a blog. Requires a Pro subscription. Cannot delete built-in-only files.

ParametersblogIdrequiredfile_pathrequired

upload_image

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.

ParametersdatarequiredblogIdrequiredfilenamerequiredmimeTyperequireduploadType

list_posts

List posts

List blog posts with pagination, filtering, and sorting by status, collection, tag, author, or date.

ParameterspagelimitordertagIdblogIdrequiredstatususerIdorderBycollectionId

get_post

Get post

Get a single blog post by ID.

ParametersblogIdrequiredpostIdrequired

create_post

Create post

Create a new blog post with title, HTML content, author, collection, tags, metadata, slug, image, and publishing options. status=published makes the post live. collection_id is optional; omit it to use the empty-slug default Posts collection. If that default does not exist, provide collection_id (call list_collections or create_collection).

ParametersslugtagsimagetitlerequiredblogIdrequiredstatuscontentrequiredauthorIdmetadatapublished_atcollection_id

update_post

Update post

Update any editable field on an existing blog post, including its author.

ParametersslugtagsimagetitleblogIdrequiredpostIdrequiredstatuscontentauthorIdmetadatapublished_atcollection_id

delete_post

Delete post

Delete a blog post by ID.

ParametersblogIdrequiredpostIdrequired

list_pages

List pages

List static pages with pagination, filtering, and sorting.

ParameterspagelimitorderblogIdrequiredstatusorderBy

get_page

Get page

Get a single static page by ID.

ParametersblogIdrequiredpageIdrequired

create_page

Create page

Create a new static page with title, HTML body, metadata, slug, image, and status. status=published makes the page live.

ParametersbodyrequiredslugimagetitlerequiredblogIdrequiredstatusmetadata

update_page

Update page

Update any editable field on an existing static page.

ParametersbodyslugimagetitleblogIdrequiredpageIdrequiredstatusmetadata

delete_page

Delete page

Delete a static page by ID.

ParametersblogIdrequiredpageIdrequired

list_redirects

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.

ParameterspagetypelimitblogIdrequiredsearchstatus

get_redirect

Get redirect

Get a single redirect by ID. Requires owner or admin access through account-level OAuth or a user-scoped API key.

ParametersblogIdrequiredredirectIdrequired

create_redirect

Create redirect

Create a redirect for a blog. Requires owner or admin access through account-level OAuth or a user-scoped API key.

ParametersactiveblogIdrequireddestinationrequiredsource_pathrequiredstatus_code

update_redirect

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.

ParametersactiveblogIdrequiredredirectIdrequireddestinationsource_pathstatus_code

delete_redirect

Delete redirect

Delete a redirect by ID. Requires owner or admin access through account-level OAuth or a user-scoped API key.

ParametersblogIdrequiredredirectIdrequired

create_tag

Create tag

Create a new blog tag by name. Requires permission to manage taxonomy.

ParametersnamerequiredblogIdrequired

list_tags

List tags

List blog tags with optional case-insensitive search filtering.

ParametersblogIdrequiredsearch

update_tag

Update tag

Rename a blog tag.

ParametersnamerequiredtagIdrequiredblogIdrequired

delete_tag

Delete tag

Delete a blog tag by ID.

ParameterstagIdrequiredblogIdrequired

list_collections

List collections

List all collections for a blog.

ParametersblogIdrequired

get_collection

Get collection

Get a single collection by ID, including its post count.

ParametersblogIdrequiredcollectionIdrequired

create_collection

Create collection

Create a new collection with name, slug, and optional description.

ParametersnamerequiredslugrequiredblogIdrequireddescription

update_collection

Update collection

Update an existing collection's name, slug, or description.

ParametersnameslugblogIdrequireddescriptioncollectionIdrequired

delete_collection

Delete collection

Delete a collection by ID and optionally reassign its posts to another collection.

ParametersblogIdrequiredreassign_tocollectionIdrequired

list_content_revisions

List content revisions

List the saved revision history for a post or page. Returns revision metadata without full snapshots.

ParametersblogIdrequiredcontentIdrequiredcontentTyperequired

get_content_revision

Get content revision

Get one saved post or page revision, including its complete content snapshot.

ParametersblogIdrequiredcontentIdrequiredrevisionIdrequiredcontentTyperequired

list_content_reviews

List content reviews

List content review requests for a blog, filtered by status.

ParametersblogIdrequiredstatus

get_latest_content_review

Get latest content review

Get the latest review associated with the newest saved revision of a post or page.

ParametersblogIdrequiredcontentIdrequiredcontentTyperequired

submit_content_review

Submit content review

Submit the latest saved revision of a draft post or page for review.

ParametersblogIdrequiredcommentcontentIdrequiredcontentTyperequired

decide_content_review

Decide content review

Approve a pending content review or request changes. Approving a staged update to published content applies that revision.

ParametersblogIdrequiredcommentdecisionrequiredreviewIdrequired

Version history

2
  1. v0.1.1LatestOct 10, 2026
  2. v0.1.0Sep 16, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.