Skip to main content
Glama

update_tech_stack

Record and update a project's technology stack across categories like backend, frontend, database, infrastructure, testing, and devops, maintaining a central registry for consistency.

Instructions

CRITICAL: Record the technology stack used in this project.

MANDATORY: Call this whenever you add or change a major technology in the project. This creates a central registry of all technologies used.

This tool provides flexible project lookup. You can specify any combination of identifiers, and it will resolve to the matching project.

Priority: project_id > workspace_path > project_name

WHEN TO USE:

  • Setting up a new project - record ALL technologies you plan to use

  • Adding a new dependency or framework

  • Changing versions of existing technologies

  • Adding infrastructure tools (Docker, Kubernetes, etc.)

  • Setting up databases, message queues, or external services

  • Adding testing frameworks, build tools, or CI/CD pipelines

CATEGORIES TO TRACK:

  • "backend": Python/Node/Java frameworks, runtime environments

  • "frontend": React/Vue/Angular, CSS frameworks, build tools

  • "database": PostgreSQL, MongoDB, Redis, Elasticsearch

  • "infrastructure": Docker, Kubernetes, AWS services, monitoring

  • "testing": Jest, Pytest, Cypress, etc.

  • "devops": CI/CD tools, deployment platforms

BEST PRACTICE: Always link to a decision via decision_ref when the tech choice was based on a documented decision.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
versionNoVersion string (optional but recommended) - e.g., "18.2.0", "14.5"
categoryYesTechnology category (required) - "backend", "frontend", "database", "infrastructure", "testing", "devops"
rationaleNoBrief explanation of why this technology was chosen (optional)
project_idNoProject ID from create_project() (optional if project_name or workspace_path provided)
technologyYesTechnology name (required) - e.g., "React", "PostgreSQL", "Docker"
decision_refNoDecision ID if this choice was documented via save_decision() (optional)
project_nameNoProject name to look up (alternative to project_id)
workspace_pathNoWorkspace directory path (alternative to project_id)
Behavior4/5

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

With no annotations, the description carries the transparency burden. It reveals side effects ("creates a central registry"), lookup flexibility, and identifier priority (project_id > workspace_path > project_name). However, it doesn't disclose behavior like overwrite semantics, error handling, or reversibility, so it falls short of a 5.

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?

The description is long but well-structured with headings (WHEN TO USE, CATEGORIES, BEST PRACTICE) and bullets. Each section earns its place; the repeated "CRITICAL" and "MANDATORY" emphasis is slightly redundant but not excessive.

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 tool with 8 params and no output schema, the description covers use cases, categories, lookup behavior, and best practices. It lacks explicit return value details or failure scenarios, but given no output schema, it is reasonably complete.

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 coverage is 100%, providing descriptions for all 8 parameters. The description adds value by explaining the priority order for project lookup, listing category examples, and recommending decision_ref usage—enhancing the schema's static definitions.

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's purpose: "CRITICAL: Record the technology stack used in this project" and "This creates a central registry of all technologies used." It uses a specific verb (record/update) and resource (tech stack), and the mandate distinguishes it from read-only siblings like get_tech_stack.

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?

The description provides an explicit "WHEN TO USE" list covering setup, new dependencies, version changes, infrastructure, databases, testing, and CI/CD. It also gives category examples and best practices, offering clear guidance on when to invoke this tool versus alternatives.

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/siddiquesahabaj/CoordMCP'

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