Skip to main content
Glama

Publish function

eurobase_publish_function
DestructiveIdempotent

Publishes HTTP Function code in a permitted project and starts its deployment. With name (lowercase letters, digits and hyphens) it creates a new Function; with functionId it replaces the code of an existing Function. The source is Deno TypeScript: entryPath names the file that serves requests and relative imports must be included in sourceFiles (at most 32 files and 128 KiB). authMode signed (the default for a new Function) accepts only signed requests; public serves anyone; when omitted for an existing Function its current mode is kept. The new version replaces the active one after a successful rollout; the previous version keeps serving if it fails. Returns once the deployment is accepted, before it is live. Function source code is never returned. The same idempotencyKey with the same input returns the same Function and deployment and completes the steps an interrupted call did not finish; with different input it is refused.

Input Schema

NameRequiredDescriptionDefault
nameNo
authModeNo
entryPathYes
projectIdYes
functionIdNo
sourceFilesYes
triggerTypeNo
idempotencyKeyYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already flag destructiveHint=true and idempotentHint=true, and the description adds substantive context beyond them: the call returns before the deployment is live, a failed rollout leaves the previous version serving, source code is never returned, and reusing an idempotencyKey with different input is refused. These are exactly the behavioral traits an agent needs before invoking a destructive, asynchronous mutation.

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?

Front-loaded with the core action and mode split, then layered with source, auth, rollout, and idempotency details in a logical order. It is dense and long-ish, but nearly every clause carries unique operational information; only the triggerType omission and mild density keep it below top marks.

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 output schema, the description usefully explains the return timing ('Returns once the deployment is accepted, before it is live') and that Function source code is never returned. What the response actually contains (function and deployment identifiers) is only implied, and triggerType is never mentioned, so a small gap remains for an 8-parameter mutation 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?

Schema description coverage is 0%, so the description carries the load and does so well: it explains the semantics of name vs functionId, the meaning of entryPath, the 32-file/128 KiB sourceFiles limit, and the authMode enum with its default. It leaves projectId's 'permitted project' constraint and the single-value triggerType enum unaddressed, which keeps it from a 5.

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 and resource ('Publishes HTTP Function code ... starts its deployment') and immediately distinguishes the two modes: creates when given `name`, replaces code when given `functionId`. This differentiates it from siblings like eurobase_redeploy, eurobase_rollback_function, and eurobase_deploy without requiring the schema to be opened.

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 clear selection logic between the create path (name) and replace path (functionId), plus default behavior for authMode on new vs existing Functions. It does not explicitly route the agent to alternatives such as eurobase_redeploy or eurobase_rollback_function when those might be the better choice, so it falls short of full when/when-not guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.