Skip to main content
Glama

Create a project

growwer_create_project

Creates a project for a website that lacks one so Growwer can analyze it in the background and recommend media for buying links.

Instructions

Use this when the user wants to buy links for a website that has no project yet: creates the project, which Growwer then analyses in the background to recommend medias.

Input Schema

NameRequiredDescriptionDefault
nameNo
topicsYesExactly one topic id from GET /vocabulary.
countryNoA country code from GET /vocabulary; omit it or send null for worldwide.
rootUrlYes
languageYesA language code from GET /vocabulary.
requestIdYesRequired. A new UUID for each distinct write (8 to 128 letters, digits, ".", "_", ":" or "-"). Calling the tool again with the same requestId and arguments returns the first result without writing twice; send a new one for a new write.
websiteTypeYes
userKeywordsNoAt most 100 keywords, none with a line break.
promotedProductsYes5 to 10 products or services the campaign promotes.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

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, non-destructive, non-idempotent, closed-world, so safety is covered. The description adds genuinely useful behavior the annotations don't: the project is analysed asynchronously in the background to recommend medias. However it says nothing about the required requestId de-duplication contract (which sits only in the schema), cost/credit implications, or auth/permission needs, which matter for a write.

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 selection trigger and then the effect; no filler, no restatement of the title.

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 9-parameter, 6-required mutation with no output schema, the description leaves out too much: the need to resolve topic/language/country via growwer_get_vocabulary, the requestId rule, and what the agent should do after creation (poll get_project?). Only the background-analysis outcome is conveyed.

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 coverage is only 67%, and the description adds zero parameter meaning — no mention of topics/language/country needing vocabulary lookups, no mention of the mandatory requestId, rootUrl format, or the 5–10 promotedProducts constraint. Required-but-undescribed parameters like rootUrl, name and websiteType are left entirely to the schema.

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 sentence names a specific verb (creates) and resource (project) and adds the distinguishing precondition 'a website that has no project yet', which separates it from get_project/update_project and from create_order. Sibling tools are not named, which is the only thing keeping it from a 5.

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 an explicit trigger: use when the user wants to buy links and no project exists yet. That implicitly covers the when-not case (an existing project should route to create_order / get_project), but the alternative is never named, so the agent must infer it from the sibling list.

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

Deploy Server

Other Tools