Skip to main content
Glama

modify_architecture

Modify an existing cloud architecture by providing a natural-language instruction. Evolve your ArchSpec to add, remove, or reconfigure components. Returns an updated specification without mutating the input.

Instructions

Modify an existing architecture with a natural-language instruction.

When to use: You already have an ArchSpec and want to evolve it (add a cache, swap a service, change a region). Returns the updated ArchSpec. For from-scratch design, use design_architecture. For iterative multi-turn editing with conversation memory, use chat_create_session.

Behavior: Calls an LLM provider — incurs API costs. Pure function: returns a new spec without mutating the input. Does not deploy.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
spec_jsonYesExisting ArchSpec as a dict (typically the output of a prior `design_architecture`, `modify_architecture`, or `chat_send` call). Must contain 'name', 'provider', 'components', and 'connections' keys.
instructionYesPlain-English modification instruction. The LLM interprets it and produces a new ArchSpec with components added, removed, or reconfigured.
Behavior5/5

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

With no annotations provided, the description fully discloses behavioral traits: 'Calls an LLM provider — incurs API costs. Pure function: returns a new spec without mutating the input. Does not deploy.' This informs the agent of side effects and safety.

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?

The description is six sentences, well-organized with labeled sections ('When to use', 'Behavior'). Every sentence adds essential information; no redundancy or filler.

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

Completeness5/5

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

Given the tool has 2 parameters, no output schema, and no annotations, the description covers purpose, usage, behavior, and return value ('Returns the updated ArchSpec'). It is self-contained and sufficient for correct invocation.

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?

Input schema has 100% coverage with descriptions and examples for both parameters. The description adds value by stating that 'spec_json' is typically the output of prior tool calls and must contain specific keys, which aids agent understanding beyond the schema.

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?

The description clearly states the tool modifies an existing architecture with natural-language instruction. It specifies the resource (existing ArchSpec) and verb (modify). It also distinguishes from siblings: for from-scratch use 'design_architecture', for multi-turn editing use 'chat_create_session'.

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

Usage Guidelines5/5

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

Explicit when-to-use: 'You already have an ArchSpec and want to evolve it.' Explicit alternatives: 'For from-scratch design, use design_architecture. For iterative multi-turn editing..., use chat_create_session.' This leaves no ambiguity.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/xmpuspus/cloudwright'

If you have feedback or need assistance with the MCP directory API, please join our Discord server