Skip to main content
Glama

airstrings_init

Idempotent

Bind a directory to an AirStrings project and create .airstrings/config.json, enabling other AirStrings tools. Run this first in repositories without an .airstrings workspace.

Instructions

Bind a directory to an AirStrings project; call this first in a repo with no .airstrings workspace, before any other airstrings_* tool. Writes .airstrings/config.json and stores the key in the workspace. Credentials: api_key, else AIRSTRINGS_ORG_API_KEY, AIRSTRINGS_API_KEY, else the stored login. With none it returns status "pending" and verification_uri_complete: show the user that URL, and once they approve call init again with the same arguments. With an org key it creates a project named after the folder (or name) unless project names an existing one. Returns the project, whether it was created, the active environment, all environments and sections. Use airstrings_login instead only to store an org login without binding a directory.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dirNoDirectory to initialize (absolute or relative). Defaults to the current working directory.
orgNoOrganization ID (org_…) to bind to when the login has several. Uses the stored login for that org, or starts one.
nameNoName for a project created with an org key. Defaults to the folder or repository name. Ignored when project is set.
api_keyNoProject key (as_proj_…), org key (as_org_…) or legacy environment key. Optional: overrides the env vars and stored login.
projectNoExisting project ID (proj_…) or name to bind instead of creating one. Needs an org key or org login.
base_urlNoAPI base URL. Defaults to https://api.airstrings.com; only set it for self-hosted or test servers.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv0.22.4
    • changedInput schema / properties / api_key / description
      Previous value: -"Project key (as_proj_…), org key (as_org_…) or legacy environment key. Optional."New value: +"Project key (as_proj_…), org key (as_org_…) or legacy environment key. Optional: overrides the env vars and stored login."
    • changedInput schema / properties / base_url / description
      Previous value: -"API base URL. Defaults to https://api.airstrings.com if omitted."New value: +"API base URL. Defaults to https://api.airstrings.com; only set it for self-hosted or test servers."
    • changedInput schema / properties / dir / description
      Previous value: -"Directory to initialize. Uses current working directory if omitted."New value: +"Directory to initialize (absolute or relative). Defaults to the current working directory."
    • changedInput schema / properties / name / description
      Previous value: -"Name for a project created with an org key. Defaults to the folder or repository name."New value: +"Name for a project created with an org key. Defaults to the folder or repository name. Ignored when project is set."
    • changedInput schema / properties / org / description
      Previous value: -"Organization ID to bind to. Uses the stored login for that org, or logs in. Optional."New value: +"Organization ID (org_…) to bind to when the login has several. Uses the stored login for that org, or starts one."
    • changedInput schema / properties / project / description
      Previous value: -"Existing project ID or name to bind instead of creating one (org key)."New value: +"Existing project ID (proj_…) or name to bind instead of creating one. Needs an org key or org login."
  2. First observedv0.1.0

TDQS

A4.8/5.0
Behavior5/5

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

Annotations establish the safety profile (readOnlyHint=false, idempotentHint=true, destructiveHint=false), and the description adds substance on top: it writes .airstrings/config.json, persists the key in the workspace, documents the full credential precedence chain (api_key > AIRSTRINGS_ORG_API_KEY > AIRSTRINGS_API_KEY > stored login), and describes the interactive pending/verification_uri_complete flow including the requirement to re-call with identical arguments. This is exactly the extra context the annotations cannot carry.

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?

Front-loaded with the action and the ordering constraint, then the credential chain, then the fallback flow, then the return summary. Dense but every clause carries information; it is a long paragraph rather than a tightly structured list, which costs it the top mark.

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?

No output schema exists, and the description compensates by summarizing the return payload (project, created flag, active environment, all environments and sections). Combined with the credentials, the re-invocation flow, and the sibling alternative, an agent has everything needed to call and interpret this tool.

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 the baseline is 3, but the description adds meaning the schema does not: the fallback order among credential sources, and the interaction rule that an org key creates a project named after the folder unless an existing project is named. It stops short of adding syntax or format detail for dir/base_url 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?

States a specific verb and resource ('Bind a directory to an AirStrings project') and immediately scopes it to the case it serves ('in a repo with no .airstrings workspace'). It also names the sibling it is not (airstrings_login), so an agent can distinguish it from every other airstrings_* tool without opening the schema.

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 an explicit ordering rule ('call this first ... before any other airstrings_* tool') and an explicit exclusion ('Use airstrings_login instead only to store an org login without binding a directory'). Both the when and the when-not are stated rather than inferred.

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