Skip to main content
Glama

Yuppsy

agent_publish

Publish an agent, making all the changes live on the website. This will also clear the cache for the agent.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "data": "<data>"
    },
    "name": "agent_publish"
  }
}

Input Schema

NameRequiredDescriptionDefault
dataYesThe agent publish data.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / data / description
      Added value: +"The agent publish data."
  2. Changed11 schema fields changed
    • removedInput schema / properties / data / properties / about
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "description": "About information of the agent."
      -}
    • addedInput schema / properties / data / properties / agentId / anyOf
      Added value: +[
      +  {
      +    "type": "integer"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / data / properties / agentId / description
      Previous value: -"Id of the agent."New value: +"Id of the agent. If ExternalId is provided, this can be ignored."
    • removedInput schema / properties / data / properties / agentId / type
      Removed value: -"integer"
    • removedInput schema / properties / data / properties / email
      Removed value: -{
      -  "additionalProperties": {
      -    "type": "string"
      -  },
      -  "anyOf": [
      -    {
      -      "type": "object"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "description": "Name value of the email addresses. Name is the type of email address (e.g., \"work\", \"personal\"), and value is the email address itself (e.g., \"john.doe@example.com\")."
      -}
    • removedInput schema / properties / data / properties / fax
      Removed value: -{
      -  "additionalProperties": {
      -    "type": "string"
      -  },
      -  "anyOf": [
      -    {
      -      "type": "object"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "description": "Name value of the fax numbers. Name is the type of fax number (e.g., \"work\", \"personal\"), and value is the fax number itself (e.g., \"+1-555-555-5555\")."
      -}
    • removedInput schema / properties / data / properties / firstName
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "description": "First name of the agent."
      -}
    • removedInput schema / properties / data / properties / lastName
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "description": "Last name of the agent."
      -}
    • removedInput schema / properties / data / properties / phone
      Removed value: -{
      -  "additionalProperties": {
      -    "type": "string"
      -  },
      -  "anyOf": [
      -    {
      -      "type": "object"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "description": "Name value of the phone numbers. Name is the type of phone number (e.g., \"work\", \"personal\"), and value is the phone number itself (e.g., \"+1-555-555-5555\")."
      -}
    • removedInput schema / properties / data / properties / profileImageUrl
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "description": "Url of the agent profile image, this should be an external url."
      -}
    • removedInput schema / properties / data / properties / social
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "array"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "description": "List of social media links. Supported social media: Facebook, Twitter, Pinterest, Youtube, Vimeo, TikTok, Threads, Instagram. The value should be the url of the social media account.",
      -  "items": {
      -    "type": "string"
      -  }
      -}
  3. Changed11 schema fields changed
    • addedInput schema / properties / data / properties / about / description
      Added value: +"About information of the agent."
    • addedInput schema / properties / data / properties / agentId / description
      Added value: +"Id of the agent."
    • addedInput schema / properties / data / properties / email / description
      Added value: +"Name value of the email addresses. Name is the type of email address (e.g., \"work\", \"personal\"), and value is the email address itself (e.g., \"john.doe@example.com\")."
    • addedInput schema / properties / data / properties / externalId / description
      Added value: +"External Id of the agent, pass in your id to associate this agent with your system."
    • addedInput schema / properties / data / properties / fax / description
      Added value: +"Name value of the fax numbers. Name is the type of fax number (e.g., \"work\", \"personal\"), and value is the fax number itself (e.g., \"+1-555-555-5555\")."
    • addedInput schema / properties / data / properties / firstName / description
      Added value: +"First name of the agent."
    • addedInput schema / properties / data / properties / lastName / description
      Added value: +"Last name of the agent."
    • addedInput schema / properties / data / properties / phone / description
      Added value: +"Name value of the phone numbers. Name is the type of phone number (e.g., \"work\", \"personal\"), and value is the phone number itself (e.g., \"+1-555-555-5555\")."
    • addedInput schema / properties / data / properties / profileImageUrl / description
      Added value: +"Url of the agent profile image, this should be an external url."
    • addedInput schema / properties / data / properties / public / description
      Added value: +"Indicates whether the agent's profile is public."
    • addedInput schema / properties / data / properties / social / description
      Added value: +"List of social media links. Supported social media: Facebook, Twitter, Pinterest, Youtube, Vimeo, TikTok, Threads, Instagram. The value should be the url of the social media account."
  4. Changed3 schema fields changed
    • removedInput schema / properties / data / properties / social / additionalProperties
      Removed value: -{
      -  "type": "string"
      -}
    • changedInput schema / properties / data / properties / social / anyOf
      Previous value: -[
      -  {
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / data / properties / social / items
      Added value: +{
      +  "type": "string"
      +}
  5. First observed

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose two useful traits: the operation changes the live public website and it clears the agent cache. It omits reversibility, permission requirements, and error/precondition behavior for what is clearly a consequential mutation.

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 action and immediately followed by the two side effects. No filler, no restating of the name.

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 an irreversible publish mutation with no annotations and no output schema, the description covers the immediate effects but says nothing about preconditions, failure modes, or what publish leaves unchanged. Adequate but clearly short of complete given the stakes.

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 100%, including the nested agentId/externalId alternate-key documentation, so the baseline is 3. The description adds nothing about the 'data' payload beyond what the schema already says.

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 ('Publish an agent') plus the outcome ('making all the changes live on the website'), which is concrete. It does not distinguish itself from near-duplicate siblings such as website_agent_publish, website_agent_set_live, or agent_update, so an agent still cannot pick between them from the text alone.

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 mention of prerequisites such as the agent needing a website subscription first. Given siblings like website_agent_set_live and website_agent_publish, the absence of any routing guidance is a real gap.

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.

Resources