Skip to main content
Glama

Server Details

Publish the website you built with AI to a live public URL, straight from chat, with no setup.

The last two health checks of this connector failed. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.

If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.

Status
Unhealthy
Uptime
83.5% over 65 days
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP
URL
Repository
just-done/just-publish-mcp
GitHub Stars
1
Server Listing
Just Publish MCP Server

TDQS

A4.4/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a distinct purpose: deploy creates/replaces a whole site, get_site_files reads the current state, and update_site_file performs a targeted merge. The descriptions explicitly contrast them (e.g. 'deploy REPLACES the whole site ... to change just one file, use update_site_file'), leaving no ambiguity.

Naming Consistency4/5

get_site_files and update_site_file follow a clear verb_noun pattern, but deploy is a bare verb with no noun, a minor deviation. Still readable and predictable overall.

Tool Count4/5

Three tools cleanly map to the create/read/update lifecycle of publishing a site, and each earns its place. Slightly thin for the domain, since site deletion is only implicit through deploy.

Completeness4/5

The surface covers create (deploy), read (get_site_files), and update (update_site_file), with thoughtful version/conflict handling. Minor gaps remain: no explicit delete-site tool and no way to delete individual files except by redeploying the whole site.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • Changeddeploy4 fields changed
      • changedInput schema / properties / email / description
        Previous value: -"Email to associate with the site. Captured unverified at first deploy; verification only required later for custom domains and recovery."New value: +"Email address for the site. A link is sent to it to confirm the address; it is also used for recovery and service messages."
      • changedOutput schema / properties / edit_token / description
        Previous value: -"Returned ONLY on first create. Save it — it's the only way to update this site."New value: +"Returned ONLY on first create. Save it - it's the only way to update this site."
      • changedOutput schema / properties / email_verified / description
        Previous value: -"Whether the site's owner email is verified right now. New sites are always false."New value: +"Whether the site's owner email is verified right now. False on a new site unless this address has been verified before."
      • changedOutput schema / properties / site_id / description
        Previous value: -"The site's slug / id — pass back to update it later."New value: +"The site's slug / id - pass back to update it later."
    • Changedget_site_files3 fields changed
      • changedOutput schema / properties / files / items / properties / encoding / description
        Previous value: -"Always 'utf-8' — only text files are inlined."New value: +"Always 'utf-8' - only text files are inlined."
      • changedOutput schema / properties / truncated / description
        Previous value: -"true if some requested file contents were omitted for size — request specific paths to read them."New value: +"true if some requested file contents were omitted for size - request specific paths to read them."
      • changedOutput schema / properties / version / description
        Previous value: -"The site's current version — pass as expected_version to update_site_file to avoid clobbering."New value: +"The site's current version - pass as expected_version to update_site_file to avoid clobbering."
  2. 3 tool updates
    • Changeddeploy1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "created": {
        +      "description": "true if this call created a new site; false if it updated an existing one.",
        +      "type": "boolean"
        +    },
        +    "dashboard_url": {
        +      "description": "Deep link to this site in the owner's dashboard.",
        +      "type": "string"
        +    },
        +    "edit_token": {
        +      "description": "Returned ONLY on first create. Save it — it's the only way to update this site.",
        +      "type": "string"
        +    },
        +    "email_masked": {
        +      "description": "The owner email, masked for display (e.g. 'a***@example.com').",
        +      "type": "string"
        +    },
        +    "email_verified": {
        +      "description": "Whether the site's owner email is verified right now. New sites are always false.",
        +      "type": "boolean"
        +    },
        +    "files_uploaded": {
        +      "description": "Number of files written in this deploy.",
        +      "type": "integer"
        +    },
        +    "site_id": {
        +      "description": "The site's slug / id — pass back to update it later.",
        +      "type": "string"
        +    },
        +    "total_bytes": {
        +      "description": "Total size of the site in bytes after this deploy.",
        +      "type": "integer"
        +    },
        +    "url": {
        +      "description": "The live URL of the published site.",
        +      "type": "string"
        +    },
        +    "verify_required": {
        +      "description": "true when the owner still needs to verify their email (keys on !email_verified).",
        +      "type": "boolean"
        +    }
        +  },
        +  "required": [
        +    "url",
        +    "site_id",
        +    "created",
        +    "email_verified",
        +    "files_uploaded",
        +    "total_bytes",
        +    "email_masked",
        +    "verify_required",
        +    "dashboard_url"
        +  ],
        +  "type": "object"
        +}
    • Changedget_site_files1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "files": {
        +      "description": "Inlined contents of the requested text files (default: all text files, capped for size).",
        +      "items": {
        +        "properties": {
        +          "content": {
        +            "description": "Full text content of the file.",
        +            "type": "string"
        +          },
        +          "encoding": {
        +            "description": "Always 'utf-8' — only text files are inlined.",
        +            "enum": [
        +              "utf-8"
        +            ],
        +            "type": "string"
        +          },
        +          "path": {
        +            "description": "Path of this file under the site root.",
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "path",
        +          "content",
        +          "encoding"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "manifest": {
        +      "description": "Every file on the site (always complete, regardless of which contents were inlined).",
        +      "items": {
        +        "properties": {
        +          "content_type": {
        +            "description": "Stored content-type, e.g. 'text/html'.",
        +            "type": "string"
        +          },
        +          "is_text": {
        +            "description": "Whether the file is a text type eligible to have its content inlined.",
        +            "type": "boolean"
        +          },
        +          "path": {
        +            "description": "Path under the site root, e.g. 'index.html'.",
        +            "type": "string"
        +          },
        +          "sha256": {
        +            "description": "Hex sha256 of the file bytes; null if not recorded for this file.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "size_bytes": {
        +            "description": "File size in bytes.",
        +            "type": "integer"
        +          }
        +        },
        +        "required": [
        +          "path",
        +          "size_bytes",
        +          "content_type",
        +          "sha256",
        +          "is_text"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "site_id": {
        +      "description": "The site's slug / id.",
        +      "type": "string"
        +    },
        +    "truncated": {
        +      "description": "true if some requested file contents were omitted for size — request specific paths to read them.",
        +      "type": "boolean"
        +    },
        +    "url": {
        +      "description": "The live URL of the site.",
        +      "type": "string"
        +    },
        +    "version": {
        +      "description": "The site's current version — pass as expected_version to update_site_file to avoid clobbering.",
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "site_id",
        +    "version",
        +    "url",
        +    "manifest",
        +    "files",
        +    "truncated"
        +  ],
        +  "type": "object"
        +}
    • Changedupdate_site_file1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "files_total": {
        +      "description": "Total number of files on the site after the merge.",
        +      "type": "integer"
        +    },
        +    "files_written": {
        +      "description": "Paths of the files written in this update. All other files were left untouched.",
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "site_id": {
        +      "description": "The site's slug / id.",
        +      "type": "string"
        +    },
        +    "url": {
        +      "description": "The live URL of the site.",
        +      "type": "string"
        +    },
        +    "version": {
        +      "description": "The site's new version after the merge.",
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "site_id",
        +    "url",
        +    "version",
        +    "files_written",
        +    "files_total"
        +  ],
        +  "type": "object"
        +}
  3. 2 tool updates
    • Addedget_site_files
    • Addedupdate_site_file
  4. 1 tool update
    • First observeddeploy

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.