Velane Cloud
Server Details
Integration Infrastructure Agents Actually Control
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Available Tools
14 toolscreate_workflowBInspect
Create a workflow. The workflow ID (UUID) is assigned automatically. For AI agent workflows, call get_agent_framework_docs first and use Mastra (bun) or LangGraph (python).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| language | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral disclosure burden. It does reveal a useful hidden behavior—the workflow ID is auto-assigned as a UUID—but omits other key traits of a state-changing create operation: persistence, authorization needs, draft status, and behavior on naming conflicts. This is thin for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences carry all the essential content: core purpose, auto-ID behavior, and framework-specific guidance. The main clause is front-loaded and no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation tool with no output schema, important context is missing: what the call returns, whether the created workflow is a draft or executable, and how it relates to update_draft and publish_workflow. The framework prerequisite is helpful, but an agent still has to guess at the workflow lifecycle and return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds real semantic value by mapping the language enum values to frameworks: bun means Mastra and python means LangGraph. It provides no guidance for the required 'name' parameter, making the compensation partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Create a workflow', naming a specific verb and resource, and is distinguishable from siblings like get_workflow and publish_workflow by its creation intent. It does not, however, explain whether the created workflow is a draft or immediately usable, which would further sharpen the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides explicit usage guidance: for AI agent workflows, call get_agent_framework_docs first, then choose Mastra (bun) or LangGraph (python). This tells the agent when to consult a sibling and how to select the language parameter. It does not state when create_workflow should not be used, such as when updating or publishing an existing workflow, but the primary routing advice is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_agent_framework_docsAInspect
Returns Mastra (Bun) and LangGraph (Python) patterns for AI agent workflows.
Call this BEFORE create_workflow / update_draft when building chatbots, tool-using agents, or multi-step LLM flows. Do not hand-roll custom agent loops — use the preinstalled frameworks.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the burden of behavior. It clearly states the tool returns documentation/patterns, implying a read-only information lookup. It does not explicitly state no side effects or describe output format, but for a zero-parameter docs tool this is a minor gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact, purposeful sentences: purpose first, then when to call it, then an anti-pattern warning. No wasted words and the key usage is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter docs lookup with no output schema, the description fully covers what it returns, when to invoke it, and what to avoid. Nothing an agent needs to select or call this tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there are no parameter semantics to clarify. This falls into the baseline-4 case where an empty input schema is sufficient and no further description is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: returns Mastra (Bun) and LangGraph (Python) patterns for AI agent workflows. It also names the sibling tools it feeds into, distinguishing it from other docs or workflow tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Call this BEFORE create_workflow / update_draft' and gives concrete use cases: chatbots, tool-using agents, multi-step LLM flows. It also provides a negative guideline against hand-rolling custom agent loops.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_integration_docsAInspect
Get API endpoints, base URL, and a working code example for a specific integration provider. Call this before writing workflow code that uses an integration.
| Name | Required | Description | Default |
|---|---|---|---|
| provider | Yes | Provider slug, e.g. github, salesforce, slack, hubspot, notion, linear, stripe, zendesk, airtable |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral disclosure burden. It clearly indicates the tool returns documentation content (endpoints, base URL, code example) and implies a read-only retrieval operation through 'Get' and 'Call this before...'. However, it does not disclose error behavior, prerequisites like existing connections, or whether any configuration is returned beyond the listed items.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, no filler. The first sentence states the purpose and output, and the second provides actionable usage guidance. All content earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema, the description covers the key contextual needs: what the tool returns and when to call it. It does not detail the exact response shape, but the listed items (endpoints, base URL, code example) give sufficient expectation. This is adequate for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'provider' parameter, which already includes a clear description and concrete examples. The description adds only that the provider is 'specific', but does not need to add more because the schema fully documents the parameter format and valid values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Get') and resource ('API endpoints, base URL, and a working code example for a specific integration provider'), making the tool's purpose immediately clear. It also distinguishes itself from sibling tools like get_agent_framework_docs by focusing on integration providers rather than agent frameworks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit guidance: 'Call this before writing workflow code that uses an integration.' This clearly establishes when to use the tool. It does not mention alternatives or when not to use it, but for a simple documentation-fetching tool the timing guidance is strong and practical.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_invocationAInspect
Get a single invocation by ID, including status, output, error, stderr, and duration. Use this to poll an async invocation (invoke_workflow with invoke_mode=async returns an invocation_id) until status is 'completed', 'failed', 'timeout', or 'oom_killed'.
| Name | Required | Description | Default |
|---|---|---|---|
| invocation_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of explaining behavior. It discloses the returned data, the polling relationship to async invocations, and the terminal statuses to watch for. It does not cover edge cases like missing IDs or non-terminal response behavior, but the core behavior is transparent for a simple getter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The first sentence states the core action and return fields, and the second gives a precise usage scenario with terminal status values. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only retrieval tool, the description is nearly complete. It enumerates return fields, explains the async polling use case, and lists statuses. It does not describe not-found behavior, but that is a minor gap for such a focused tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only defines invocation_id as a string with no description. The tool description compensates by explaining the ID comes from invoke_workflow when using invoke_mode=async, adding practical context beyond the schema. Format details are not provided, but the dependency is clear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches a single invocation by ID and lists the returned fields (status, output, error, stderr, duration). This distinguishes it from sibling tools like get_workflow or get_logs without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says to use this tool for polling an async invocation and identifies that invoke_workflow with invoke_mode=async returns the invocation_id. It does not explicitly mention when not to use it, but the single-invocation scope makes the intended context clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_logsAInspect
List past invocations for a workflow (status, output, error, stderr, duration, mode). Use get_invocation for the full record of a single run by ID. Note: streamed debug logs (console.log/print) are live-only and not stored here.
| Name | Required | Description | Default |
|---|---|---|---|
| env | No | ||
| limit | No | ||
| status | No | ||
| end_time | No | ||
| snippet_id | No | Deprecated alias for workflow_id. | |
| start_time | No | ||
| workflow_id | Yes | Workflow ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It provides useful context about the tool being a historical listing and adds a valuable caveat that streamed debug logs are live-only and not stored here. However, it does not mention pagination, ordering, limits, filtering behavior, or any side-effect warnings. It gives some behavioral detail beyond the raw schema but not comprehensive coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences and each earns its place: the first states the action and result fields, and the second provides routing to get_invocation and an important caveat about streamed debug logs. It is front-loaded and free of filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 parameters, no annotations, no output schema, and only 29% schema description coverage, the description is not complete enough for an agent to call the tool correctly in all cases. Key parameter semantics for env, limit, status, start_time, end_time, and snippet_id are missing, and the return structure is only partially inferred from the parenthetical field list.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 29%, so the description must compensate for the undocumented parameters. It clarifies that workflow is the scope and mentions returned fields like status, output, error, stderr, duration, and mode, but it does not explain env, limit, status filtering, start_time, end_time, or the deprecated snippet_id alias. The description adds little parameter-level meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear verb and resource: 'List past invocations for a workflow,' followed by the fields included in the result. It also distinguishes itself from the closely related sibling get_invocation by explicitly saying that get_invocation is for the full record of a single run by ID. This makes the tool's purpose unambiguous and separable from its siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context by stating that this tool lists past invocations and then explicitly points to get_invocation for retrieving the full record of a single run by ID. It does not discuss alternatives like get_metrics or list_workflows, but the most relevant sibling distinction is covered, and the intended use case is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_metricsBInspect
Get aggregate and time-series metrics for a workflow.
| Name | Required | Description | Default |
|---|---|---|---|
| window | No | ||
| snippet_id | No | Deprecated alias for workflow_id. | |
| workflow_id | Yes | Workflow ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, but it only states the tool's purpose. It does not mention default window behavior, whether the response contains both aggregate and time-series data, error behavior, or any read-only guarantees beyond the verb 'Get'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence with no filler. It front-loads the core action and resource, and every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, the description is too sparse to support fully correct invocation. Missing details include the default time window, whether snippet_id is still honored, what metric names are returned, and how aggregate and time-series outputs are structured.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents workflow_id and snippet_id with descriptions, so the description adds little at the parameter level. The window parameter has no schema description and the tool description does not explain how it affects aggregate versus time-series results, though its enum values are self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Get'), a clear resource ('metrics'), and the scope ('for a workflow'). It is distinct from sibling tools like get_workflow, get_logs, and get_invocation because it identifies aggregate and time-series metrics as the output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The wording implies use when workflow metrics are needed, but the description gives no explicit guidance on when to prefer this tool over siblings such as get_workflow or get_logs. It also does not clarify how the window parameter should be selected for aggregate versus time-series needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_workflowAInspect
Get a workflow by ID, including its version history (with code) and the active version per environment. Use this to read the current code before editing an existing workflow.
| Name | Required | Description | Default |
|---|---|---|---|
| snippet_id | No | Deprecated alias for workflow_id. | |
| workflow_id | Yes | Workflow ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It goes beyond a simple getter by explaining that the response includes version history (with code) and per-environment active version, and explicitly frames the operation as reading code. It does not mention errors or side effects, but 'read' and 'Get' make the read-only nature reasonably transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: the first defines the operation and result content, the second gives usage context. There is no filler or repetition of schema details, and the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-by-ID tool with no output schema and no annotations, the description covers what is returned, how to use it, and when it matters (before editing an existing workflow). It is not overly verbose, but it gives enough behavioral and contextual detail to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so workflow_id and snippet_id are already documented. The description doesn't add new parameter-level meaning beyond 'by ID'; it mostly restates that the lookup is by workflow ID. This is the expected baseline when the schema fully covers parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states a specific verb and resource: 'Get a workflow by ID,' and further specifies what is returned: version history with code and active version per environment. This clearly distinguishes it from siblings like list_workflows, invoke_workflow, and get_invocation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence gives explicit context for when to use the tool: 'Use this to read the current code before editing an existing workflow.' It does not name alternatives or explicitly say when not to use it, but the intended workflow step is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invoke_workflowCInspect
Invoke a workflow synchronously, asynchronously, or as a stream. tenant_slug is optional; when omitted the tenant is inferred from the API key.
| Name | Required | Description | Default |
|---|---|---|---|
| env | No | ||
| input | No | ||
| version | No | ||
| snippet_id | No | Deprecated alias for workflow_id. | |
| invoke_mode | No | ||
| tenant_slug | No | Tenant slug. Optional — inferred from the API key when omitted. | |
| workflow_id | No | Workflow ID (UUID). | |
| callback_url | No | ||
| snippet_slug | No | Deprecated alias for workflow_id. | |
| workflow_slug | No | Deprecated alias for workflow_id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It does disclose tenant inference, which is useful, but it does not explain whether invocation triggers side effects, whether async returns immediately, what stream output looks like, what callback_url does, or how failures manifest.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. Every phrase contributes: the core action, the three call modes, and the tenant_slug behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a 10-parameter tool with no required fields, no output schema, no annotations, and only 50% schema documentation. The description does not resolve how to identify the workflow, which params are needed for a successful invocation, what the response contains, or how async/stream behave.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%, and the description essentially repeats tenant_slug optionality already in the schema and lists invoke_mode enum values without adding meaning. It adds no guidance for env, input, version, callback_url, or the deprecated workflow id aliases.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Invoke a workflow', a specific verb and resource that clearly distinguishes the tool from siblings like create_workflow, get_workflow, and publish_workflow. It also names the three invocation modes, so an agent immediately knows what the tool does and how it can be run.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose sync, async, or stream invocation, nor when to use this tool instead of get_invocation, get_logs, or create_workflow. The description gives no working context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_connectionsAInspect
List OAuth integrations connected for this tenant.
IMPORTANT — how to use integrations in workflow code:
Bun/TypeScript: import { integration } from '@velane/integrations' const client = integration('github') // provider slug const user = await client.get('/user') // GET const issue = await client.post('/repos/org/repo/issues', // POST { title: 'Bug', body: 'Details' }) await client.patch('/repos/org/repo/issues/1', { state: 'closed' }) await client.delete('/repos/org/repo/labels/old')
Python: from velane.integrations import integration client = integration("salesforce") cases = client.get("/services/data/v60.0/sobjects/Case/describe") result = client.post("/services/data/v60.0/sobjects/Case", {"Subject": "Login issue", "Status": "New"})
Methods: .get(path) .post(path, body) .patch(path, body) .put(path, body) .delete(path) All methods return parsed JSON. Paths are the provider's native API paths. @velane/integrations is always available — no install, no credentials needed in code. Call get_integration_docs(provider) to look up endpoints for any provider.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results to return (default 50). | |
| offset | No | Number of results to skip for pagination. | |
| provider | No | Filter by provider/alias substring, e.g. 'github'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full behavioral burden. The word 'List' implies a read-only operation and tenant scoping is stated, but the description does not disclose the return shape, pagination behavior, or authentication expectations. The extensive code examples describe the integration client's behavior, not this tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose sentence is front-loaded, but the description is dominated by a lengthy TypeScript and Python tutorial on using integrations in workflow code. This content is not necessary for selecting or invoking list_connections, making the description significantly over-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides tenant scope, a pointer to get_integration_docs, and useful context about using integrations in code afterward. However, with no output schema, it omits the shape of the returned connection list, and the available space is spent on code examples rather than details about the tool's own behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all three parameters with descriptions, so the baseline is 3. The code examples clarify that provider values are provider slugs, but the schema already includes 'github' as an example; no significant additional parameter semantics are added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence states a specific verb and resource: 'List OAuth integrations connected for this tenant.' It also directs the agent to get_integration_docs for endpoint lookup, which clearly distinguishes this tool from that sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when this tool is relevant: list connections, then use them in workflow code via integration(). It explicitly names get_integration_docs as the alternative for endpoint lookups. It lacks explicit when-not-to-use language, but the role of the tool is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_secretsAInspect
List secret metadata for the authenticated tenant.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It indicates a read-only list operation and specifies that it returns metadata rather than secret values, which is useful. However, it does not mention pagination, error behavior, or whether the response is a flat list or nested structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the action and the target resource. It has no wasted words and is appropriately sized for a zero-parameter read-only tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no parameters and no output schema, the description is largely sufficient: an agent knows what the tool lists and the implicit auth scope. It could be more explicit about the exact shape of the returned metadata, but that is a minor gap given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema coverage is 100%, so there is nothing the description needs to clarify about inputs. The mention of 'authenticated tenant' correctly signals that the scope comes from the auth context, not from parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and resource ('secret metadata') and adds a clear scope ('for the authenticated tenant'). This cleanly distinguishes it from siblings like set_secret, list_connections, and list_workflows.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states what the tool does but gives no guidance on when to choose it over alternatives such as set_secret or list_connections. There are no explicit conditions, exclusions, or references to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_workflowsAInspect
List workflows available to the authenticated tenant.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. 'List' implies a non-mutating read, and 'available to the authenticated tenant' clarifies scope, but the description does not mention what the output contains, whether pagination exists, or any limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single concise sentence with no filler. It front-loads the actlist" and immediately gives the scoping qualifier. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, list-only tool, the description is nearly complete: an agent can invoke it without additional guidance. The only gap is the lack of a return shape, but that would be nice-to-have rather than necessary for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is nothing for the description to explain. The phrase 'available to the authenticated tenant' adds meaning by clarifying implicit scoping, which is beyond the empty schema and matches the baseline for 0 params.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('List'), resource ('workflows'), and scope ('available to the authenticated tenant'). It clearly distinguishes this enumeration tool from siblings like get_workflow (single workflow), create_workflow, and invoke_workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the enumeration use case: an agent calls this when it needs the set of workflows for the current tenant. It does not explicitly name alternatives, but the context is clear enough that it is not likely to be confused with get_workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
publish_workflowBInspect
Publish a workflow version to an environment.
| Name | Required | Description | Default |
|---|---|---|---|
| env | Yes | ||
| snippet_id | No | Deprecated alias for workflow_id. | |
| workflow_id | Yes | Workflow ID. | |
| version_number | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. 'Publish' implies a mutation, but the description does not disclose whether the operation overwrites an existing deployment, whether it is reversible, whether approvals or permissions are needed, or what happens to the source version after publication.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no filler or repetition. It says what the tool does in a direct and front-loaded manner.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has four parameters, no annotations, and no output schema, yet the description offers only minimal information. A complete definition would clarify the meaning of version_number, the practical difference between environments, the deprecation of snippet_id, and the likely outcome or return value of publishing. The current description leaves these important operational details unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50%, and the description does not compensate. It conveys that a version number is published to an environment but adds no meaning beyond the field names and existing schema descriptions. The semantics of version_number and env are left entirely to the schema's enum and type declarations, and the deprecated snippet_id alias is only clarified in the schema, not in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (publish), the resource (a workflow version), and the destination (an environment). This distinguishes it from sibling tools like create_workflow and invoke_workflow, which address creation and execution rather than deployment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as update_draft or invoke_workflow. The tool's role as a deployment step is implied by the name and description, but there is no explicit context about prerequisites, sequencing, or conditions under which a sibling tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_secretCInspect
Create a secret.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| value | Yes | ||
| snippet_id | No | Deprecated alias for workflow_id. | |
| workflow_id | No | Optional workflow ID scope. | |
| environments | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits on its own. 'Create a secret' only implies a write operation; it does not mention overwrite behavior, idempotency, scoping effects, environment restrictions, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is certainly concise and front-loaded, but it is so minimal that the structure contributes no helpful information. It is shorter than appropriate for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given five parameters, two required, no output schema, and no annotations, the description is severely incomplete. An agent cannot determine how to construct a valid secret, what workflow_id/environments mean, or what happens on duplicate names.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40%, yet the description adds no meaning for the required name and value parameters, nor for environments or the deprecated snippet_id. It does not compensate for the schema's gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Create a secret' provides a verb and resource, and the creation action distinguishes it from sibling list_secrets. However, it is little more than a paraphrase of the tool name 'set_secret' and adds no scope or detail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives, no exclusions, and no mention of whether this overlaps with create_workflow or update_draft. The description leaves usage entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_draftBInspect
Create a new workflow version from source code.
Built-in imports (no install needed): Integrations — Bun: import { integration } from '@velane/integrations' Python: from velane.integrations import integration AI agents — Bun: Mastra — import { Agent } from '@mastra/core/agent' Python: LangGraph — from langgraph.graph import StateGraph
For chat/tool-using/LLM agent workflows you MUST use Mastra or LangGraph. Call get_agent_framework_docs before writing agent code. Do not hand-roll custom agent loops.
Call list_connections / get_integration_docs for OAuth provider APIs. For agent workflows set higher limits via timeout_ms, max_memory_mb (e.g. 512), max_cpu_percent.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | ||
| snippet_id | No | Deprecated alias for workflow_id. | |
| timeout_ms | No | ||
| workflow_id | Yes | Workflow ID. | |
| input_schema | No | ||
| max_memory_mb | No | ||
| output_schema | No | ||
| max_cpu_percent | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It discloses the core side effect (creating a workflow version), notes that imports are built-in, and warns against hand-rolling agent loops. Still, it does not say whether an existing draft is overwritten or appended, what the response contains, or what happens on invalid source code, which are important details for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, then organized into clear sections for imports, agent-framework requirements, OAuth guidance, and resource limits. It is longer than a one-liner but every block serves a distinct purpose; the only minor issue is that some guidance could be folded into parameter descriptions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a fairly complex code-generation tool with 8 parameters, no output schema, and no annotations, yet the description is silent about return values, how the new version relates to existing drafts, and the purpose of input_schema/output_schema. The coding guidance is useful, but an agent still lacks key information needed to confidently invoke and verify the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 25%, so the description must compensate. It does add meaning for code ('source code'), timeout_ms, max_memory_mb, and max_cpu_percent ('set higher limits' for agent workflows). However, input_schema and output_schema receive no explanation, and defaults/units for the resource limits are missing, so the compensation is only partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening line, 'Create a new workflow version from source code,' is a specific verb+resource statement: it tells the agent this tool turns source code into a workflow version. However, it does not distinguish update_draft from the sibling create_workflow or publish_workflow, so there is no explicit differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives strong usage context: it mandates Mastra or LangGraph for chat/tool-using/LLM agent workflows, tells the agent to call get_agent_framework_docs before writing agent code, and points to list_connections/get_integration_docs for OAuth APIs. But it never says when to prefer update_draft over create_workflow or publish_workflow, so the tool-selection guidance is incomplete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user or an account that owns the GitHub organization, then choose Claim with GitHub.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables detection and analysis of pre-public product launches through web search, content extraction, AI-powered scoring, and automated alerting. Provides comprehensive tools for surfacing stealth startup signals before they trend publicly.MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT- AlicenseNot gradedqualityCmaintenanceEnables AI chat clients to perform market research and competitive intelligence by gathering company overviews, competitor lists, product portfolios, pricing snapshots, and recent news via live Tavily search.MIT
- AlicenseAqualityAmaintenanceDetects hiring intent signals by scanning job boards for specific companies. Returns structured role data for outbound sales targeting.13061MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Every tool has a clearly distinct purpose: workflow lifecycle, invocation, logging, metrics, KV store, secrets, connections, and documentation. Even similar tools like get_logs vs get_invocation are well-differentiated by descriptions.
Most tools follow a consistent verb_noun pattern (create_workflow, get_workflow, list_workflows). The KV tools (kv_get, kv_set, kv_list, kv_delete) are internally consistent but deviate from the dominant verb_noun style by using a noun_verb prefix.
With 18 tools, the count is slightly above the typical 3-15 range, but the broad platform scope (workflow management, invocation, logging, metrics, KV, secrets, connections, docs) justifies each tool's existence. No tool feels redundant.
Workflows have create, read, update (via update_draft), list, and publish, but lack a delete operation. Secrets support create and list but no delete/update, and connections only have list. These lifecycle gaps create potential dead ends for agents.