Skip to main content
Glama

独行录 / opcmenu

主办方:给这场活动建直播场次(幂等)

ensure_activity_live
Idempotent

【需要登录】【何时用】主办方说「这场我要开直播」。已经有场次就返回那一场,不会建第二场。 【组合链】本工具 → get_organizer_live 看状态 → 去 /pro 网页取推流地址填 OBS → start_live_session 兜底开播。 【口径/坑】① 真新建那一次会顺带把线上参会打开(created=true 时 onlineEnabledNowOn=true),等于同时开了免费参会轨;已有场次时(created=false)什么都不动,主办方之前关掉的 onlineEnabled 不会被打开,要开得走 update_organizer_ticketing。② liveId=null 不等于失败也不要重试:只有自营活动和组织活动能建场,平台直播未配置时会静默跳过。③ 宣发链接 /live/{slug} 和建没建场无关,恒可给。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
activityRefYes活动 slug 或 id(get_activity / get_signup_activity 两者都给)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.7/5.0
Behavior5/5

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

Discloses key behavioral traits beyond annotations: creating always flips on online participation (created=true → onlineEnabledNowOn=true), existing sessions cause no changes, liveId=null is not a failure and must not be retried, and only self-run/organization activities can create sessions. This is exactly the kind of side-effect and edge-case context that annotations do not carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but efficiently structured with labeled sections (when to use, chain, pitfalls), and all sentences carry actionable information. Front-loading the login requirement and use case helps an agent quickly decide whether to invoke it.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description explains return semantics (created flag, liveId null), side effects on onlineEnabled, prerequisites (login, activity type constraints), and relevant link behavior. An agent has enough context to call correctly and avoid retry mistakes.

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

Parameters3/5

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

Schema description coverage is 100% for activityRef, so baseline 3 applies. The description does not add parameter-format detail beyond the schema, but it does not need to because the schema already explains slug or id and references get_activity/get_signup_activity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states a specific action: create an activity live session idempotently, returning existing session when one already exists. This distinguishes it from siblings like start_live_session, which actually starts a broadcast, and get_organizer_live, which only reads state. Title also reinforces the organizer and idempotency.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use it ('主办方说这场我要开直播'), and gives a combination chain routing to get_organizer_live, the /pro page for stream credentials, and start_live_session as fallback. It also directs when the session already exists and when update_organizer_ticketing should be used instead, providing clear exclusions.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources