Skip to main content
Glama

BDK Native

Create project

bdk_create_project

Create a project after approval of the reference label and published app URL. project_name is a reference label, not the home-screen app name; that starts as the website hostname until configured. Duplicates by reference label or site host return candidates: ask the customer to choose create_new or use_existing with project_code; never reuse automatically. For an owner preview, pass from_preview_id to read editable prefill, then submit its observed_website_link. A same_site_project conflict requires explicit link_existing:true with project_code or false to create separately. Offer preview before checkout.

Input Schema

NameRequiredDescriptionDefault
project_codeNoExplicitly selected existing candidate project.
project_nameNoApproved reference label, at most 120 characters; not the app’s home-screen name.
website_linkNoFull published app URL on a site the customer owns; not an editor or builder-share link.
link_existingNoExplicit same-site choice after same_site_project: true links selected project_code, false creates separately.
from_preview_idNoOwner preview. Alone reads editable prefill; submit with name, URL and observed_website_link to create or return transactionally.
duplicate_choiceNoCustomer choice after reviewing duplicate candidates; never infer consent.
observed_website_linkNoExact URL read from project_prefill; preserves the portal concurrency guard.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only flag it as a non-idempotent, open-world write; the description adds real behavioral context beyond that — duplicate detection returns candidates instead of creating, same-site conflicts block creation without explicit consent, from_preview_id alone is a read-only prefill while submitting with observed_website_link creates transactionally, and the observed URL preserves a concurrency guard. That is meaningful disclosure of gating and side effects rather than restating hints.

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 core action and its precondition are front-loaded, and every sentence carries a distinct rule or fallback branch. The compressed, token-dense phrasing ("same_site_project conflict requires explicit link_existing:true") is efficient but reduces first-read clarity slightly.

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 seven-parameter, no-required-parameter mutation with no output schema, the description covers the ambiguous branches (duplicates, same-site conflicts, preview prefill) and the checkout follow-up. It does not describe what a successful creation returns (e.g. resulting project_code) or any auth prerequisite, which are the remaining gaps.

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%, so 3 is the baseline, but the description genuinely adds cross-parameter workflow meaning: from_preview_id reads prefill and then must be paired with observed_website_link to create, and link_existing is only meaningful in response to a same_site_project conflict. The duplicate_choice and project_code pairing is also explained as a consent-driven interaction rather than as isolated fields.

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 ("Create a project") plus the precondition (after approval of reference label and published app URL), and disambiguates project_name from the home-screen app name. It never names a sibling tool, so routing versus bdk_projects or bdk_setup_preview is left to inference.

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?

Gives explicit conditional paths: duplicates return candidates and the agent must ask the customer to choose create_new vs use_existing, a same_site_project conflict requires explicit link_existing true/false, and preview should be offered before checkout. It also names the alternative action (use_existing with project_code) and forbids the tempting shortcut ("never reuse automatically").

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