Siren
Server Details
Deterministic visual marketing engine. Your agent plans, renders, and posts on-brand campaigns.
- Status
- Healthy
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- Hexahedral-Inc/siren-mcp
- GitHub Stars
- 0
TDQS
Scored across 14 tools
Most tools target clearly distinct resources and actions, but a few pairs overlap in purpose: create_campaign vs render_asset both generate runs, and post_run vs schedule_post both publish runs. The descriptions provide enough guidance to choose correctly, so ambiguity is limited.
All tool names follow a consistent snake_case verb_noun pattern, such as get_account, list_runs, upload_product_screen, and schedule_post. The names are predictable and clearly signal the action and target resource.
With 14 tools, the set is well-scoped for the server's purpose: brand DNA management, product screen asset handling, run generation, and social posting. Each tool covers a meaningful operation without feeling redundant or bloated.
The tool surface covers the core lifecycle: clarify briefs, create/run campaigns, read/list runs, manage brand DNA and product screens, and post or schedule output. Minor gaps exist, such as no way to cancel or delete a run, but the main workflows are not blocked.
Available Tools
14 toolsclarify_briefARead-onlyIdempotentInspect
Ask Siren's clarifier whether a brief is specific enough to generate from. Returns ready=true/false plus follow-up questions. Use before create_campaign when the user's request is vague.
| Name | Required | Description | Default |
|---|---|---|---|
| brief | Yes | Plain-language request for the post, e.g. "announce the new export feature, use the dashboard screenshot". |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the tool's safe behavioral profile is clear. The description adds the return shape (ready flag plus questions) but does not add further behavioral context such as rate limits, auth, or external effects; that is acceptable given strong annotations.
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 short sentences cover the action, return value, and invocation context with no filler. The most important purpose and usage guidance are 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-only single-parameter tool, the description provides enough to call it correctly: purpose, input, return value, and when to use it. The output schema presumably details the return structure, and the only minor gap is guidance on how to use the follow-up questions after a false ready 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?
The schema only defines 'brief' as a required string with 0% description coverage. The tool description adds meaning by indicating the brief is the content evaluated for specificity, but it does not explain what a valid brief looks like, required content, or format expectations. Some compensation occurs, but not fully.
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 asks Siren's clarifier whether a brief is specific enough to generate from, which specifies both the action and the resource. It also names the return type (ready=true/false plus follow-up questions) and positions the tool as a precursor to create_campaign, making it distinct from sibling 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?
It explicitly says to use this tool before create_campaign when the user's request is vague, providing a clear trigger condition. It does not enumerate when not to use it or name alternative tools, but the condition implies that specific briefs do not need this pre-check.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_campaignAInspect
Create a Siren campaign from a plain-language brief — the full pipeline: plan, on-brand copy, deterministic render, verify. Returns the run; poll get_run until it finishes. Spends credits (image 10, video 25; voice or music-only is the same 25). Optional scheduled_at (ISO-8601) queues a sequential post (X → Instagram → TikTok, or platforms you pass) when the render succeeds — requires Allow posting. Fails with a 402 upgrade message if the plan or balance can't cover it.
| Name | Required | Description | Default |
|---|---|---|---|
| brief | Yes | Plain-language request for the post, e.g. "announce the new export feature, use the dashboard screenshot". | |
| channel | No | Target channel for the render: twitter, instagram, linkedin, tiktok, or youtube. Sets the aspect and copy length. | |
| timezone | No | IANA timezone name for scheduled_at, e.g. Africa/Lagos or America/New_York. | UTC |
| platforms | No | Where to post: any of x, instagram, tiktok, linkedin, youtube, or ["everything"] for every connected channel. | |
| asset_type | No | What to make: card (still image) or video. | card |
| scheduled_at | No | ISO-8601 time to post, e.g. 2026-09-12T09:00:00. Interpreted in the given timezone. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses significant behavioral details beyond the annotations: it returns a run to poll, consumes credits with specific costs, supports optional scheduling with sequencing, requires the 'Allow posting' permission, and fails with a 402 upgrade message when credits are insufficient. This goes well beyond the generic hints and gives the agent concrete expectations.
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 dense but every sentence earns its place: purpose, lifecycle, costs, scheduling, auth, and failure mode are all covered without fluff. The core action is front-loaded, and the supporting details appear in a logical order.
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 six parameters and no schema-level descriptions, this description is remarkably complete. It tells the agent what the tool does, how to track the result, what it costs, when scheduling happens, what permission is needed, and when it will fail. The presence of an output schema further reduces the need to describe return values.
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 meaning for brief, scheduled_at, and platforms, and touches on asset_type through credit costs. However, it does not explain channel or timezone parameters at all, leaving some parameters semantically uncovered.
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 identifies the tool's action ('Create a Siren campaign') and the resource ('from a plain-language brief'), while also distinguishing it from related tools by framing it as the full pipeline (plan, copy, render, verify). It is specific enough that an agent can separate it from siblings like render_asset or schedule_post.
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 usage context: it is for the full campaign creation pipeline and instructs the agent to poll get_run afterward. However, it does not explicitly state when to prefer an alternative tool (e.g., schedule_post for posting only, or render_asset for a single asset), so the when-not-to-use guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_product_screenADestructiveInspect
Remove a product screenshot from Brand DNA. Does not delete Brand Memory.
| Name | Required | Description | Default |
|---|---|---|---|
| screen_id | Yes | Id of the brand asset from list_product_screens. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as destructive, and the description adds a meaningful boundary: it deletes the product screenshot but not Brand Memory. This gives useful behavioral context beyond the structured annotations, though it does not discuss irreversibility or 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 two short sentences with no filler. The primary action is front-loaded, and the second sentence earns its place by clarifying the deletion scope.
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 destructive tool with an output schema and annotations, the description covers the essential behavior and scope well. Minor gap: it does not point to list_product_screens as a way to find the screen_id, but this is not a critical omission 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 input schema has one required string, screen_id, with 0% description coverage. The description does not explain what screen_id refers to or how to obtain it, though the parameter name is reasonably self-explanatory from context.
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-resource pair, 'Remove a product screenshot from Brand DNA,' and explicitly distinguishes this from deleting Brand Memory. This clearly identifies what the tool does and separates it from nearby concepts.
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 this tool is for removing screenshots while preserving Brand Memory, but it does not explicitly state when to use it over update_product_screen or upload_product_screen. The usage context is clear enough, but no direct alternatives or when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_accountARead-onlyIdempotentInspect
Get the connected Siren workspace: plan, key scopes, auto-post setting, and daily limit. Call this first to learn what the account can do before generating.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds value beyond annotations by specifying what the call reveals about account capabilities, which frames the agent's subsequent decisions. No contradiction with annotations.
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 tightly written sentences with zero waste: the first states precisely what is retrieved, the second states when and why to call it. Every word carries meaning, and the most important guidance ('call this first') is front-loaded in the second sentence.
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 an output schema (return values need no prose), zero parameters, and comprehensive annotations. The description supplies the remaining pieces — the resource being read, its contents, and the recommended invocation ordering — so an agent has everything it needs to select and call this 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?
With zero parameters, the schema fully documents the input side and the baseline of 4 applies. The description productively shifts focus to what the response exposes (plan, scopes, limits), which is the information an agent actually needs to plan its next calls.
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 ('Get') with a clearly defined resource ('the connected Siren workspace') and enumerates the exact data returned: plan, key scopes, auto-post setting, and daily limit. This cleanly distinguishes it from siblings like get_run, get_brand_dna, and list_runs, which target different resources.
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?
'Call this first to learn what the account can do before generating' is explicit, prescriptive sequencing guidance. It tells the agent exactly when to invoke the tool — as the initial discovery step ahead of the generation-family siblings (render_asset, post_run, schedule_post, create_campaign) — which is the full extent of the guidance needed for a unique 0-parameter discovery tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_brand_dnaARead-onlyIdempotentInspect
Get this workspace's Brand DNA: name, overview, tagline, offer, features, products, audience, palette, logos. Not Brand Memory.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description does not need to restate safety. It adds useful context by scoping the operation to 'this workspace' and listing the data payload. No contradiction with annotations exists.
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 efficient sentence: a clear lead, a colon-delimited list of contents, and a one-phrase exclusion. There is no filler, repetition, or unnecessary detail.
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, read-only getter with comprehensive annotations and an output schema, the description is complete. It identifies the resource, the workspace scope, the included fields, and the Brand Memory boundary, so an agent has everything needed to select and invoke it 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?
The tool has zero parameters, so the schema is fully covered and the description correctly adds no parameter documentation. The only relevant semantic context is the implicit workspace scoping, which the description provides with 'this workspace's.'
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 ('Get') with a clear resource ('this workspace's Brand DNA') and enumerates the exact contents: name, overview, tagline, offer, features, products, audience, palette, logos. The explicit 'Not Brand Memory' clause helps distinguish it from a related but different concept, and sibling names like update_brand_dna reinforce the get/update distinction.
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 clearly conveys when to use this tool: whenever the agent needs the current workspace's Brand DNA fields. It also rules out Brand Memory as a target. However, it does not explicitly name a sibling alternative to use for Brand Memory, so the guidance stops short of full alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_runARead-onlyIdempotentInspect
Get one run by id — full status, output text, asset URLs, impact and audience scores, and any error. Poll this after create_campaign or render_asset until status is terminal.
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes | The run id returned by create_campaign, render_asset, or list_runs. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds beyond that by revealing polling semantics and the response contents, including terminal-status tracking and error exposure. This is useful behavioral context without contradicting annotations.
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?
One dense sentence that front-loads the purpose, lists returned data, and closes with actionable polling guidance. Every phrase earns its place with no 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?
The tool is simple (one required param) and has an output schema, so the description need not detail return fields. It conveys the object, scope, usage trigger, and stopping condition, making it complete enough for correct invocation and polling.
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 only says 'by id' and does not explain run_id format, source, or constraints beyond the schema's type string. The parameter name is self-explanatory, but the description provides almost no additional semantic value.
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 uses specific verb 'Get' with resource 'one run by id' and enumerates what is returned: full status, output text, asset URLs, impact/audience scores, and any error. This clearly distinguishes it from list-oriented siblings like list_runs.
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 instructs when to call it: poll after create_campaign or render_asset until status is terminal. It gives clear contextual usage, though it does not explicitly state when not to use it or name alternative list tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_product_screensARead-onlyIdempotentInspect
List the brand assets in Brand DNA: product photos, app screenshots, packaging. Each row has name, kind, description, use_when, tags, scan_status (scanning / ready / failed), device, theme, url.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds useful context like the Brand DNA scope and scan_status lifecycle values, but it does not disclose pagination, sorting, or whether the full set of assets is returned in one call.
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 first clause is front-loaded with the purpose, and the second clause compactly lists the row fields. It is not bloated, though the field list may partially duplicate the output schema and could be trimmed without losing clarity.
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 no-parameter, read-only list tool with strong annotations and an output schema, the description is largely sufficient: it states what is listed and the shape of each row. It stops short of fully complete by not addressing pagination or how this tool relates to get_brand_dna.
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 covers 100% of them, so there is no parameter ambiguity to resolve. The description's field list describes output rows rather than inputs, and the baseline for zero-parameter tools is appropriately strong.
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 action ('List') and a specific resource ('brand assets in Brand DNA'), then further delimits the scope to product photos, app screenshots, and packaging. The row-field enumeration makes the purpose concrete and distinguishes it from mutation siblings like update_product_screen and delete_product_screen.
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 does not say when to prefer this over alternatives such as get_brand_dna, nor does it give exclusions or context. The imperative 'List...' implies the basic operation, but there is no explicit guidance about when this tool should be selected or avoided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_runsARead-onlyIdempotentInspect
List the workspace's recent generation runs (newest first): status, brief, channel, asset URLs, and audience scores.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many runs to return, 1 to 50. Newest first. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a safe, read-only, idempotent operation. The description adds useful behavioral context: it returns recent runs, in newest-first order, with specific fields like status, brief, channel, asset URLs, and audience scores. This supplements the annotations without contradicting them.
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, focused sentence that front-loads the action and scope, then lists the returned fields. Every phrase earns its place, with no redundant or filler content.
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 is simple, has strong annotations, and has an output schema, so the description does not need to explain return values in depth. It covers the main behavior, ordering, and scope. The only notable gap is the omitted semantics of the limit parameter, but the tool is otherwise adequately specified.
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?
With 0% schema description coverage and only one parameter, the description carries the burden of explaining the limit parameter. However, it does not mention limit at all, leaving the agent to infer its meaning from the name and default value. The schema provides minimal structural info, but the description adds nothing about how limit affects results.
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 ('the workspace's recent generation runs'), includes the ordering ('newest first'), and names the key fields returned. This clearly distinguishes it from siblings like get_run, which retrieves a single 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?
The description makes it clear this is for viewing recent runs as a collection, which is distinct from get_run for individual run details. It does not explicitly name alternatives or state when not to use it, but the context is clear enough for an agent to choose appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_runADestructiveInspect
Post a finished run's assets to the workspace's CONNECTED SOCIAL ACCOUNT. This is live, public distribution on the customer's channel — always confirm with the user before calling. Only works if the grant was authorised with posting allowed.
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes | The run id returned by create_campaign, render_asset, or list_runs. | |
| platform | No | Connected channel to post to: x, instagram, tiktok, linkedin, or youtube. | x |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations by disclosing that this is live, public, irreversible distribution on the customer's channel and that user confirmation is mandatory. It also adds the permission prerequisite, which is critical behavioral context an agent needs before invoking a destructive action.
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 short sentences deliver the action, the consequence, and the safety requirement without any wasted words. The most important behavioral warning ('always confirm with the user') is placed prominently.
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?
With an output schema present and annotations already covering read-only, idempotency, and destructiveness, the description adds the essential human-confirmation and permission context. The only notable gap is undocumented platform semantics, which keeps it from being fully complete.
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 carry the parameter meaning. It implies run_id refers to a finished run's identifier via 'a finished run's assets', but it says nothing about the platform parameter or its possible values beyond the schema default of 'x'.
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 ('Post') and a precise resource ('a finished run's assets to the workspace's CONNECTED SOCIAL ACCOUNT'). It clearly distinguishes this from scheduling by calling out 'live, public distribution on the customer's channel.'
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 gives clear usage context: this is for finished runs only, requires a grant authorized with posting allowed, and mandates user confirmation before calling. It does not explicitly name alternatives like schedule_post, but the live-distribution framing makes the intended situation clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
render_assetAInspect
Render pre-formed SirenSeed bodies directly (advanced): deterministic template render, no planner. Each item: {output_type, channel, seed_body, archetype?, family?, surface?, caption?, voice_id?}. Prefer create_campaign unless the user has concrete seed JSON. Returns run ids — poll get_run for status.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Human-readable name for the asset or run. | |
| items | Yes | Pre-formed SirenSeed bodies to render. Each item: {output_type, channel, seed_body, archetype?, family?, surface?, caption?, voice_id?}. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are all false, so the description carries the burden. It adds meaningful behavioral context: 'deterministic template render, no planner' and 'Returns run ids — poll get_run for status' reveal an asynchronous, run-based execution model. It doesn't contradict annotations, though it doesn't disclose potential side effects or costs.
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 dense and efficient: three sentences deliver purpose, usage guidance, item structure, and post-call behavior. Every sentence earns its place, and the most important scoping guidance 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 an advanced tool with zero schema descriptions, the description covers the key context: what inputs are expected, when to prefer an alternative, and what to do with the returned run ids. The only minor gap is the lack of detail on how to construct seed_body and the optional 'name' parameter, but the term 'pre-formed' reduces the agent's responsibility.
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%, but the description compensates by enumerating the expected per-item fields: output_type, channel, seed_body, archetype?, family?, surface?, caption?, voice_id?. This gives meaning beyond the generic 'additionalProperties: true' schema, though the optional 'name' parameter is not mentioned and individual field semantics are left to inference.
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 renders pre-formed SirenSeed bodies directly with a deterministic template render and no planner. It identifies the specific resource and operation, and differentiates from sibling tools like create_campaign by emphasizing the 'direct' advanced path.
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 explicitly instructs the agent to prefer create_campaign unless the user has concrete seed JSON, which is a precise when-to-use rule. It also directs the agent to poll get_run after receiving run ids, providing clear follow-up guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
schedule_postADestructiveInspect
Schedule a finished run to post at scheduled_at (ISO-8601). Shows in the customer's local timezone. platforms: x, instagram, tiktok, linkedin, youtube, or everything. Posts fire sequentially. Requires Allow posting. Prefer this over post_run when the user names a time. On create_campaign you can pass scheduled_at instead.
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes | The run id returned by create_campaign, render_asset, or list_runs. | |
| captions | No | Optional caption override per platform, e.g. {"x": "...", "linkedin": "..."}. | |
| timezone | No | IANA timezone name for scheduled_at, e.g. Africa/Lagos or America/New_York. | UTC |
| platforms | No | Where to post: any of x, instagram, tiktok, linkedin, youtube, or ["everything"] for every connected channel. | |
| scheduled_at | Yes | ISO-8601 time to post, e.g. 2026-09-12T09:00:00. Interpreted in the given timezone. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful behavior beyond the annotations: posts fire sequentially, times display in the customer's local timezone, and Allow posting permission is required. These are useful operational details that annotations do not convey, and there is no contradiction with the write/destructive flags.
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 compact and front-loaded: the primary purpose appears first, followed by behavior, permission, and routing guidance. Every sentence adds value without repeating schema or annotation information.
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 covers purpose, permission, platform values, timing semantics, and alternatives. An output schema exists, so return values need not be explained. Minor gaps remain around run_id and captions semantics, but sibling tools like get_run and the schema shapes mostly compensate.
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 clarifies scheduled_at as ISO-8601, lists acceptable platforms, and hints at timezone behavior, but it leaves run_id and captions with no semantic explanation, and the timezone parameter is only implied rather than explicitly described.
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 and resource: 'Schedule a finished run to post at scheduled_at (ISO-8601)'. It also explicitly distinguishes from siblings by saying 'Prefer this over post_run' and referencing create_campaign's alternative, so an agent can tell this tool apart without opening schemas.
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 gives explicit when-to-use guidance: 'Prefer this over post_run when the user names a time' and notes that create_campaign can accept scheduled_at instead. It also states a prerequisite, 'Requires Allow posting', which is actionable selection context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_brand_dnaAInspect
Patch Brand DNA. Send only keys to change. Nested bags (offer, product_map, icp) merge. Examples: {tagline, overview, offer: {product_name, one_liner, features, who_its_for, primary_cta}, product_map: {offerings, how_we_work}, icp: {who_buys, pains}}. Does not read or write Brand Memory.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | Yes | Brand DNA keys to change, e.g. {"tagline": "...", "offer": {"one_liner": "..."}}. Nested bags merge. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description reveals important behavioral details: nested objects merge rather than replace, and the tool 'does not read or write Brand Memory.' This adds meaningful side-effect context that the annotations alone do not convey, though it stops short of documenting error behavior or exact write semantics.
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 tightly written and front-loaded with the core behavior: 'Patch Brand DNA. Send only keys to change.' Every sentence adds value: the merge rule, the example keys, and the Brand Memory boundary. There is no filler or repetition.
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 a dynamic object field, the description provides sufficient structural examples and merge semantics to call the tool correctly. It also clarifies the key boundary with Brand Memory. The presence of an output schema means return-value documentation is not required, so no major information gap remains.
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 carries the burden of explaining the 'fields' parameter. It compensates well by listing concrete accept keys like tagline, overview, offer, product_map, and icp, plus their nested structure. It remains example-based rather than a complete schema, but it gives an agent enough to construct a valid payload.
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 action and resource: 'Patch Brand DNA.' It clearly distinguishes the tool from get_brand_dna by framing this as a write/update operation, and the emphasis on partial updates makes its function clear. It doesn't explicitly name sibling alternatives, but the intent is unambiguous.
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 useful invocation guidance: 'Send only keys to change' and explains that nested bags merge. However, it does not explicitly state when to use this tool over alternatives like get_brand_dna or clarify_brief, nor does it mention any exclusion conditions. Usage is implied rather than explicitly routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_product_screenAInspect
Edit an existing brand asset: name, description, kind, use_when, and the screenshot tags (screen_type, device, theme).
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | Free-text kind: product photo, dashboard screenshot, packaging, logo, team photo. | |
| name | No | Human-readable name for the asset or run. | |
| theme | No | UI theme in the screenshot: light, dark, or unknown. | |
| device | No | Device the screenshot was taken on: phone, tablet, desktop, or none. | |
| use_when | No | When Siren should reach for this asset, e.g. "any post about the analytics page". | |
| screen_id | Yes | Id of the brand asset from list_product_screens. | |
| description | No | What the picture shows and what it is for, in your words. When set, Siren files the asset without reading it. | |
| screen_type | No | Screen role: feature, hero, onboarding, settings, or marketing. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a non-read-only mutation (readOnlyHint=false). The description adds that it edits an existing brand asset and lists the mutable fields, but does not disclose whether it performs a partial update (only provided fields) or what happens if screen_id does not exist. No contradiction with annotations.
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 sentence, front-loaded with verb and resource, no filler. The list of fields is useful but makes the sentence long; acceptable for eight parameters.
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 an update tool with eight optional parameters and a required identifier, the description identifies the resource and editable fields but omits behavioral details like partial-update semantics or the requirement that screen_id reference an existing screen. Output schema exists, so return values need not be described.
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 carries the burden. It lists 7 of 8 parameters and groups screen_type, device, and theme as 'screenshot tags', which adds semantic context. However, it does not define ambiguous fields like kind or use_when, and screen_id is only implied by the required schema.
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 verb 'Edit' with resource 'existing brand asset' and enumerates the mutable fields. Clearly distinguishes from sibling tools like upload_product_screen, delete_product_screen, and update_brand_dna by targeting screen metadata. Unambiguous about what operation this tool performs.
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 usage for editing an existing brand asset but provides no explicit guidance on when to choose it over alternatives such as upload_product_screen or delete_product_screen. It does not state exclusions or conditions, e.g., 'use when the screen already exists.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_product_screenAInspect
Upload a brand asset (product photo, app screenshot, packaging) into Brand DNA and store it on R2. Pass image_url (https PNG/JPG/WebP) or image_base64.
Two ways to file it:
Send
description(and optionally kind, use_when, tags, name): Siren trusts your words and files the asset as-is. No read.Send only the file: Gemini reads the picture and writes name, kind, description, use_when, tags itself. scan_status goes scanning → ready in about 8 seconds; poll list_product_screens.
kind is free text ("product photo", "dashboard screenshot", "packaging"), there is no fixed list. A brief that names an asset ("advertise the pink handbag") pulls that file into the still. screen_type / device / theme only matter for device-framed screenshot masters.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | Free-text kind: product photo, dashboard screenshot, packaging, logo, team photo. | |
| name | No | Human-readable name for the asset or run. | |
| tags | No | Short lowercase tags for search, e.g. ["dashboard", "dark-mode"]. | |
| theme | No | UI theme in the screenshot: light, dark, or unknown. | unknown |
| device | No | Device the screenshot was taken on: phone, tablet, desktop, or none. | phone |
| use_when | No | When Siren should reach for this asset, e.g. "any post about the analytics page". | |
| image_url | No | Public https URL of a PNG, JPG, or WebP to store as a brand asset. | |
| description | No | What the picture shows and what it is for, in your words. When set, Siren files the asset without reading it. | |
| screen_type | No | Screen role: feature, hero, onboarding, settings, or marketing. | feature |
| image_base64 | No | The image bytes as base64, if you have no URL. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description discloses meaningful behavior: Gemini reads the image and writes metadata itself, scan_status transitions from scanning to ready in about 8 seconds, Siren trusts provided descriptions and does not read the file, and screen_type/device/theme only matter for device-framed screenshot masters. This goes well beyond the generic annotation hints.
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 well-structured with a clear opening, bulleted modes, and a concise clarification about kind and device-framing parameters. Despite covering 10 parameters, every sentence earns its place and the bullets make the two ingestion paths easy to parse.
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 the tool's complexity and the absence of schema descriptions, the description is remarkably complete: it covers input formats, both filing modes, auto-generated metadata, async scanning status, polling guidance, free-text kind semantics, and parameter scoping. Since an output schema exists, the description does not need to explain return values, and nothing critical is missing for invoking 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?
With 0% schema description coverage, the description carries the burden and mostly succeeds: it explains image_url vs image_base64 alternatives, optional metadata parameters, free-text kind with no fixed list, and the limited relevance of screen_type/device/theme. It leaves some parameters like name, tags, and use_when only implied rather than fully defined, but the semantics are reasonably inferable.
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 sentence states a specific action (upload a brand asset into Brand DNA and store it on R2) with concrete example content types. It clearly distinguishes this upload tool from sibling tools like update_product_screen, delete_product_screen, and list_product_screens by describing the core upload-and-file behavior.
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 to use each mode: send description to file as-is, or send only the file to let Gemini generate metadata. It also tells the agent to poll list_product_screens after auto-scanning, but it does not explicitly contrast this tool with update_product_screen or other alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
11 tool updates
- Changed
clarify_brief1 field changed- added
Input schema / properties / brief / descriptionAdded value: +"Plain-language request for the post, e.g. \"announce the new export feature, use the dashboard screenshot\"."
- Changed
create_campaign6 fields changed- added
Input schema / properties / asset_type / descriptionAdded value: +"What to make: card (still image) or video." - added
Input schema / properties / brief / descriptionAdded value: +"Plain-language request for the post, e.g. \"announce the new export feature, use the dashboard screenshot\"." - added
Input schema / properties / channel / descriptionAdded value: +"Target channel for the render: twitter, instagram, linkedin, tiktok, or youtube. Sets the aspect and copy length." - added
Input schema / properties / platforms / descriptionAdded value: +"Where to post: any of x, instagram, tiktok, linkedin, youtube, or [\"everything\"] for every connected channel." - added
Input schema / properties / scheduled_at / descriptionAdded value: +"ISO-8601 time to post, e.g. 2026-09-12T09:00:00. Interpreted in the given timezone." - added
Input schema / properties / timezone / descriptionAdded value: +"IANA timezone name for scheduled_at, e.g. Africa/Lagos or America/New_York."
- Changed
delete_product_screen1 field changed- added
Input schema / properties / screen_id / descriptionAdded value: +"Id of the brand asset from list_product_screens."
- Changed
get_run1 field changed- added
Input schema / properties / run_id / descriptionAdded value: +"The run id returned by create_campaign, render_asset, or list_runs."
- Changed
list_runs1 field changed- added
Input schema / properties / limit / descriptionAdded value: +"How many runs to return, 1 to 50. Newest first."
- Changed
post_run2 fields changed- added
Input schema / properties / platform / descriptionAdded value: +"Connected channel to post to: x, instagram, tiktok, linkedin, or youtube." - added
Input schema / properties / run_id / descriptionAdded value: +"The run id returned by create_campaign, render_asset, or list_runs."
- Changed
render_asset2 fields changed- added
Input schema / properties / items / descriptionAdded value: +"Pre-formed SirenSeed bodies to render. Each item: {output_type, channel, seed_body, archetype?, family?, surface?, caption?, voice_id?}." - added
Input schema / properties / name / descriptionAdded value: +"Human-readable name for the asset or run."
- Changed
schedule_post5 fields changed- added
Input schema / properties / captions / descriptionAdded value: +"Optional caption override per platform, e.g. {\"x\": \"...\", \"linkedin\": \"...\"}." - added
Input schema / properties / platforms / descriptionAdded value: +"Where to post: any of x, instagram, tiktok, linkedin, youtube, or [\"everything\"] for every connected channel." - added
Input schema / properties / run_id / descriptionAdded value: +"The run id returned by create_campaign, render_asset, or list_runs." - added
Input schema / properties / scheduled_at / descriptionAdded value: +"ISO-8601 time to post, e.g. 2026-09-12T09:00:00. Interpreted in the given timezone." - added
Input schema / properties / timezone / descriptionAdded value: +"IANA timezone name for scheduled_at, e.g. Africa/Lagos or America/New_York."
- Changed
update_brand_dna1 field changed- added
Input schema / properties / fields / descriptionAdded value: +"Brand DNA keys to change, e.g. {\"tagline\": \"...\", \"offer\": {\"one_liner\": \"...\"}}. Nested bags merge."
- Changed
update_product_screen8 fields changed- added
Input schema / properties / description / descriptionAdded value: +"What the picture shows and what it is for, in your words. When set, Siren files the asset without reading it." - added
Input schema / properties / device / descriptionAdded value: +"Device the screenshot was taken on: phone, tablet, desktop, or none." - added
Input schema / properties / kind / descriptionAdded value: +"Free-text kind: product photo, dashboard screenshot, packaging, logo, team photo." - added
Input schema / properties / name / descriptionAdded value: +"Human-readable name for the asset or run." - added
Input schema / properties / screen_id / descriptionAdded value: +"Id of the brand asset from list_product_screens." - added
Input schema / properties / screen_type / descriptionAdded value: +"Screen role: feature, hero, onboarding, settings, or marketing." - added
Input schema / properties / theme / descriptionAdded value: +"UI theme in the screenshot: light, dark, or unknown." - added
Input schema / properties / use_when / descriptionAdded value: +"When Siren should reach for this asset, e.g. \"any post about the analytics page\"."
- Changed
upload_product_screen10 fields changed- added
Input schema / properties / description / descriptionAdded value: +"What the picture shows and what it is for, in your words. When set, Siren files the asset without reading it." - added
Input schema / properties / device / descriptionAdded value: +"Device the screenshot was taken on: phone, tablet, desktop, or none." - added
Input schema / properties / image_base64 / descriptionAdded value: +"The image bytes as base64, if you have no URL." - added
Input schema / properties / image_url / descriptionAdded value: +"Public https URL of a PNG, JPG, or WebP to store as a brand asset." - added
Input schema / properties / kind / descriptionAdded value: +"Free-text kind: product photo, dashboard screenshot, packaging, logo, team photo." - added
Input schema / properties / name / descriptionAdded value: +"Human-readable name for the asset or run." - added
Input schema / properties / screen_type / descriptionAdded value: +"Screen role: feature, hero, onboarding, settings, or marketing." - added
Input schema / properties / tags / descriptionAdded value: +"Short lowercase tags for search, e.g. [\"dashboard\", \"dark-mode\"]." - added
Input schema / properties / theme / descriptionAdded value: +"UI theme in the screenshot: light, dark, or unknown." - added
Input schema / properties / use_when / descriptionAdded value: +"When Siren should reach for this asset, e.g. \"any post about the analytics page\"."
14 tool updates
- First observed
clarify_brief - First observed
create_campaign - First observed
delete_product_screen - First observed
get_account - First observed
get_brand_dna - First observed
get_run - First observed
list_product_screens - First observed
list_runs - First observed
post_run - First observed
render_asset - First observed
schedule_post - First observed
update_brand_dna - First observed
update_product_screen - First observed
upload_product_screen
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, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.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 Connectors
On-brand creative studio for AI agents: images, video, audio, and 3D.
On-brand ad creative generation: teach it your brand once, generate images and video forever.
Build and run visual creative-production workflows from your AI agent.
AI marketing platform your agent runs end to end: ads, analytics, content, and reports.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to generate on-brand visuals from ideas, URLs, documents, or PDFs in over 100 formats and 150+ languages, with consistent brand kits.10MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to create high-resolution marketing images from simple JSON configs without design skills or API keys. Provides presets, themes, and layouts to render deterministic PNGs locally.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to automate social media content generation, approval, and publishing, along with blog management, SEO/GEO audits, and ad operations through natural language.3AGPL 3.0
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to act as graphic designers by generating images and social-ready visuals, with brand DNA memory, genre-aware styles, 35+ platform presets, self-critique, and version control.MIT