Skip to main content
Glama

Server Details

Deploy a built website from your coding agent and share one client review link.

Ownership verified
Status
Healthy
Uptime
90.8% over 21 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.6/5.0

Scored across 8 tools

Disambiguation4/5

Most tools target clearly distinct resource+action pairs (create_project, start_deploy, finalize_deploy, list_projects, etc.). However, get_account already returns the in-app billing URL, making get_billing_url a near-duplicate that could cause misselection.

Naming Consistency5/5

All 8 tools use a consistent snake_case verb_noun pattern: create_, get_, list_, set_, start_, finalize_. No mixed casing or inconsistent verb styles are present.

Tool Count5/5

8 tools is well within the ideal 3–15 range for a preview-deployment service. Each tool maps to a meaningful operation in the project, deploy, account, or password workflow.

Completeness3/5

Core create/read/deploy/password/account operations are present, but the project lifecycle lacks update and delete operations. There is also no deployment status, list, or cancel tool, leaving notable lifecycle gaps.

Available Tools

8 tools
create_projectCreate projectB
Idempotent
Inspect

Create an active project under the workspace project quota. Requires an idempotency key.

NameRequiredDescriptionDefault
nameYes
slugNo
idempotencyKeyYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly=false, idempotent=true, destructive=false and openWorld=false, so the safety profile is covered. The description adds useful context that the created project is 'active' and that idempotency is enforced via a required key, but says nothing about quota-exceeded behavior or failure semantics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the core action and followed by the binding prerequisite. Nothing is padded or redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-parameter mutation with no output schema, the description covers the action, the quota scope, and the idempotency requirement, but leaves gaps on parameter semantics and on what the call returns or does when quota is exhausted.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry the burden, yet it only names idempotencyKey — a fact the schema already conveys via the required list. It gives no meaning for name or slug, nor does it explain that slug is optional or how it is derived.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Create an active project') and adds a scoping constraint (under the workspace project quota). It is clearly distinct in kind from read-only siblings like get_project and list_projects, though it does not name any sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description surfaces two prerequisites (quota scope, idempotency key) that imply when the tool is appropriate, but it offers no explicit when-to-use versus alternatives guidance or exclusion conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

finalize_deployPublish deployC
DestructiveIdempotent
Inspect

Verify, safely extract, publish, and activate a completed ZIP deployment.

NameRequiredDescriptionDefault
sha256Yes
projectIdYes
versionIdYes

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=false, so the safety profile is covered structurally. The description adds sequence context (verification and extraction happen before publish/activate), but gives no detail on what 'activate' destroys or overwrites, what happens if verification fails, or whether the prior active version is replaced.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler, listing the operations in order. It is compact, though arguably under-specified rather than efficiently concise for a destructive 3-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a non-idempotent-looking-but-actually-idempotent destructive mutation with three required parameters, no output schema, and zero parameter documentation, one sentence is not enough. The agent lacks the prerequisites (existing ZIP, valid checksum) and the failure/override semantics it would need to call this safely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for all three required parameters, so the description carries the full burden and fails it. It never explains projectId, versionId, or that sha256 is the checksum used by the 'verify' step — a connection the agent must guess at.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb chain (verify, extract, publish, activate) applied to a clearly identified resource (a completed ZIP deployment), so the agent knows this is the terminal stage of a deployment. It does not, however, contrast itself with the sibling start_deploy, which is the tool an agent is most likely to confuse it with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use guidance, no prerequisites (e.g. that a ZIP must already have been uploaded), and no mention of start_deploy as the alternative for initiating a deployment. The word 'completed' faintly implies sequencing but leaves the agent to infer it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_accountGet accountA
Read-onlyIdempotent
Inspect

Read workspace identity, plan limits, live project count, and the in-app billing URL. Limits that are unlimited on the plan are reported as the string "unlimited".

NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description adds a genuinely useful output quirk not present in any structured field: unlimited plan limits are returned as the literal string "unlimited", which prevents a type-parsing mistake. It stops short of describing other return shapes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero waste, with the returned fields front-loaded and the edge-case caveat placed last where it belongs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no parameters, no output schema, and annotations carrying the safety profile, the description is nearly sufficient: it names the returned fields and flags the 'unlimited' sentinel value. Only the relationship to get_billing_url remains unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline is 4. There is nothing for the description to disambiguate, and it correctly avoids inventing parameter details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Read workspace identity, plan limits, live project count, and the in-app billing URL') and enumerates exactly what comes back, so the agent knows what the tool returns. It does not differentiate from the sibling get_billing_url, which also concerns billing URL retrieval — a missed opportunity given the overlap.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance and no alternatives named. The overlap with the sibling get_billing_url (the description mentions an 'in-app billing URL') is left unresolved, so the agent must infer which tool to call for billing information.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_billing_urlGet billing linkA
Read-onlyIdempotent
Inspect

Return the deterministic in-app billing URL for a human owner to review upgrades.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is fully covered by structured data. The description's added value is the audience framing ('human owner to review upgrades') and the 'deterministic' qualifier, which largely restates idempotentHint. It does not say what the returned string looks like or whether it is tied to the caller's session.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that front-loads the action and the returned artifact, then qualifies the audience. There is no filler, hedging, or redundant restatement of the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With zero parameters, no output schema, and rich annotations, the description needs only to say what comes back and who it is for — both of which it does. The remaining omission is any hint about the URL's lifetime or whether it requires an authenticated session, which is minor for a read-only, parameterless tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema is an empty object with zero parameters, so there is nothing for the description to disambiguate; the baseline for a parameterless tool applies. No parameter-related claims are made or needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource — returning the in-app billing URL — and scopes it as the deterministic link meant for a human owner reviewing upgrades. That is clearly distinct from every sibling (get_account, list_projects, start_deploy, etc.), none of which return a billing link. It stops short of an explicit contrast statement, but no sibling is close enough to need one.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'for a human owner to review upgrades' implies the usage context: hand this URL to a person rather than acting on billing programmatically. However, it states no when-not conditions, no prerequisites (e.g. whether the caller must already own the account), and names no alternative tool for billing-related actions. Usage is implied rather than specified.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_projectGet projectB
Read-onlyIdempotent
Inspect

Read one visible project and its last ten versions, with an optional version cursor.

NameRequiredDescriptionDefault
slugNo
projectIdNo
versionsCursorNo

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this a read-only, idempotent, non-destructive operation, so the description only needs to add context. It does add the non-obvious behaviors that it returns the last ten versions and accepts an optional version cursor, but it is silent on cursor semantics (does it page further back? what happens at the end?) and on what occurs when neither identifier is supplied.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler. The result scope (project plus last ten versions) and the cursor come first, which is the information an agent most needs before calling.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, no parameter descriptions, and three identifier/cursor parameters that are all optional, the description is not complete enough. It never resolves which identifier to pass or how the returned version list is truncated, both of which an agent needs to call this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across three parameters, so the description carries the full burden and largely fails it. It clarifies only that versionsCursor is optional; the slug vs projectId distinction and the fact that zero parameters are required (which identifier is needed for a lookup) are left entirely unaddressed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (read) and resource (one visible project plus its last ten versions), and the scope detail 'visible' plus the version-list side effect separates it from list_projects and get_account. An agent can distinguish this from its siblings without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use or when-not-to-use guidance and no alternative tool is named. The phrase 'visible project' hints at an access constraint but never states the condition that selects this tool over list_projects or get_account.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_projectsList projectsA
Read-onlyIdempotent
Inspect

List the projects visible to this key, including live preview URLs and active versions.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds useful content context (live preview URLs, active versions) but says nothing about pagination, result limits, or what 'visible to this key' means when the key is scoped narrowly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler; the resource and its scope come first and the returned content follows. Nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with full annotation coverage and no output schema, the description is nearly sufficient: it names the resource and the notable fields returned. The only gap is the absence of pagination or result-size behavior, which matters for a listing endpoint.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing for the description to clarify; the baseline for a parameterless tool is 4. No parameter information is missing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (List) and resource (projects) and adds a scoping qualifier ('visible to this key'). It does not explicitly contrast with the singular get_project sibling, so an agent must infer that this is the bulk/collection variant.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: the plural resource and the 'visible to this key' scope suggest enumeration, but there is no explicit when-to-use or when-not-to-use guidance and no named alternative (e.g. get_project for a single project).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_passwordSet preview passwordA
DestructiveIdempotent
Inspect

Set or clear a project preview password. Requires a user-level deploy key, never a workspace service key.

NameRequiredDescriptionDefault
passwordYes
projectIdYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=true and readOnlyHint=false, so the safety profile is covered. The description adds genuinely new behavioral context beyond those hints: the required credential type (user-level deploy key, not a workspace service key) and the fact that the operation can clear as well as set. It does not describe the effect on currently published previews, which would have been a further bonus.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, no filler, and the operation is stated before the credential constraint. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With only two parameters and no output schema, the description covers the operation, the clearing semantics and the auth requirement, which is most of what an agent needs to invoke it correctly. It omits the password length validation and any statement about what a successful call returns or changes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the burden for both parameters. 'Set or clear' implicitly maps to the nullable password parameter (null clears it), which is a real addition, but the length bounds (min 4, max 200) and the required projectId are left entirely to the schema. Partial compensation, not full.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb pair and resource: 'Set or clear a project preview password.' The 'or clear' phrasing usefully distinguishes the two modes of the operation. It does not name any sibling, but none of the listed siblings overlap with this resource, so differentiation is not really at stake.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a concrete eligibility constraint: it 'Requires a user-level deploy key, never a workspace service key.' That is a clear when-you-can-call-it condition with an explicit exclusion, which will save an agent from a failed invocation. It stops short of stating prerequisites like project ownership or when clearing vs setting is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

start_deployStart deployB
Idempotent
Inspect

Start a presigned ZIP deployment. Upload the returned archive to R2 with the exact headers, then finalize it.

NameRequiredDescriptionDefault
sha256Yes
messageNo
projectIdYes
sizeBytesYes
idempotencyKeyYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare non-read-only, idempotent, non-destructive behavior, so the safety profile is covered. The description usefully adds that the caller must upload the returned archive to R2 with exact headers, which is behavior beyond the annotations, but it says nothing about presign expiry, failure modes, or why idempotency matters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, front-loaded with the action and followed by the required follow-up steps. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with five undocumented parameters, no output schema, and no annotations about failure modes, the description should explain required inputs and the consequences of the upload step. It conveys the workflow but leaves parameter meaning and error behavior entirely unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 5 parameters, so the description carries the full burden and largely fails it. Only vague hints ('ZIP', 'archive') touch on sizeBytes/sha256; projectId, message, and idempotencyKey are never explained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Start a presigned ZIP deployment') and implicitly distinguishes itself from finalize_deploy by describing the two-phase flow. It is clear, though 'presigned' deployment terminology assumes the reader already knows the domain.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives the operative sequence: start, upload the returned archive to R2 with the exact headers, then finalize. That places the tool clearly in a workflow relative to finalize_deploy, but there are no explicit conditions or exclusions for when this tool should not be used.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

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

  1. 8 tool updates
    • First observedcreate_project
    • First observedfinalize_deploy
    • First observedget_account
    • First observedget_billing_url
    • First observedget_project
    • First observedlist_projects
    • First observedset_password
    • First observedstart_deploy

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Publish what your agent just built to a durable link, with immutable versions, a diff between any two, and comments on the page itself.
    468 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Publishes the app your coding agent built so your coworkers can use it: a private address behind email sign-in, its own database, scheduled jobs and email reminders, with tools to invite people, read logs, roll back and export data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources