Skip to main content
Glama

Provision App

provision_app

Set up Harny for an app with no account: memory, connected accounts, actions and the action record behind one key; makes a new app and its key, as POST /v1/auth/provision does. The answer carries the app key once, and the assistant is told to put it in the owner's secret store and nowhere else. Needs no key.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "app_name": "<app_name>"
    },
    "name": "provision_app"
  }
}

Input Schema

NameRequiredDescriptionDefault
app_nameYesA name for the new app, such as the product's name.
customersNoWho the app's customers are, in one or two sentences. Stored with the app's objective; the owner can change it.
objectiveNoWhat the app does, in one or two sentences, in the business's words. Stored as the app's objective; the owner can change it.
model_presetNoOptional. The model preset chosen for this app: cost_first, quality_first or regulated. It is stored with the app now, so Harny's own processing of what the app loads follows it from the first fact. The owner can change it after the claim.
contact_emailNoOptional. A contact address for platform messages. Leave it out when you do not have one: the app's owner gives their sign-in address when they claim the app.
assistant_nameNoOptional. Your own name: the product you run as, the way you would say who you are. The app's owner sees it on their Home as who set the app up. Leave it out if you do not know it; Harny never fills it in for you.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing that the app key is returned only once and must be placed in the owner's secret store and nowhere else, plus the no-authentication requirement. These are security-critical behavioral facts an agent could not derive from readOnlyHint=false, idempotentHint=false and destructiveHint=false alone.

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?

Three sentences, front-loaded with the core action, with no filler. The first sentence is dense but every clause carries distinct information (what is provisioned, what is created, the endpoint reference); the key-handling instruction follows logically.

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?

Covers the two things an agent most needs for a provisioning mutation with no output schema: that no auth is required and that the returned key must be stored securely. A minor gap is that it does not explicitly warn that repeated calls create additional apps (consistent with idempotentHint=false).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter (app_name, customers, objective, model_preset, contact_email, assistant_name) is already documented in the schema, including defaults and enum values. The description adds no further meaning about individual parameters, so the baseline of 3 applies.

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?

Names a specific verb and resource ('Set up Harny for an app with no account', 'makes a new app and its key') and enumerates what gets provisioned: memory, connected accounts, actions and the action record. It even anchors the behavior to the underlying endpoint `POST /v1/auth/provision`, so an agent knows exactly what operation this maps to.

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?

The phrase 'with no account' plus 'Needs no key' clearly delimits the scenario: use this when bootstrapping an app that does not yet exist or have credentials. There are no sibling tools to disambiguate against, but no explicit when-not-to-use guidance (e.g. don't call repeatedly) is given.

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.