Skip to main content
Glama

独行录 / opcmenu

发起一场可报名的活动

create_organizer_activity

【需要登录】【何时用】用户说「帮我发一场分享会 / 建一个报名」时调它。这是站内建活动的唯一正确入口:活动本体 + 报名配置一次写入,建完立刻进报名 feed、报名页立刻可用(先过后审,不留灰度闸)。

【组合链】建完拿 slug → signupPageUrl 直接发给用户去转发 → get_organizer_activity(slug) 读现值 → update_organizer_signup_config(slug) 改题目/联系方式 → 报名进来后 list_signup_submissions(slug) 看名单 → bulk_review_signup_submissions 批量处置 → issue_signup_export_link 导出。活动本体(标题/时间/地点/截止/名额)改动走 update_activity。

【口径/坑】① 别逐字段构造几十题的表单:不传 extraQuestions 就落系统基线四项(姓名/手机号/微信号/一句话项目介绍,全是跨活动复用的稳定 key,报名者一键带出);额外题只要一行一个中文题面丢进 extraQuestions,key/type 由服务端生成。真要做复杂表单让用户去 opcmenu.com/pro。② 额外题一律生成为选填——把新题设成必填会把已经在填的人挡在门外。③ type 不含 COMPETITION(那是外部赛事导入专属,站内报不了名)。④ 线下活动(OFFLINE_GATHERING)必须填 location。⑤ 活动卡上的主办方名:不传 organizerName 就取你在 App/网页填过的「主办方资料」里的机构名(那个子树要短信验证码,agent 端刻意不做写入口)——两处都空,卡片上主办方那行就不出。联合主办/承办单位直接把完整署名传 organizerName。⑥ 资格不足会返回 error=organizer_profile_required / profile_incomplete / no_published_product,exits 里写了各自怎么补。⑦ 超时重试安全:同 clientRequestId、或同标题 5 分钟内重复调用,返回既有那场而不是再建一场(返回 deduped=true)。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cityNo城市,报名 feed 卡片按它显示地域
slugNo报名页 URL 标识,小写字母/数字/连字符;不填按标题自动生成
typeYes活动类型:BETA_RECRUIT(内测招募) | ONLINE_GATHERING(线上聚会) | OFFLINE_GATHERING(线下聚会) | OTHER(其他)。刻意不含 COMPETITION(那是导入的外部赛事专属,站内报不了名)
endAtNo结束时间 ISO 8601,可选(只给日期不给结束时间的线下场等于没说时段)
titleYes活动标题
meetUrlNo线上会议链接,可选
startAtYes开始时间 ISO 8601,如 2026-09-01T19:00:00+08:00
capacityNo人数上限,可选
coverUrlNo封面图 URL,可选
locationNo地点(OFFLINE_GATHERING 必填)
productIdNo关联产品 id(须是你已发布的产品),可选
signupUrlNo外部报名表单地址(金数据/问卷星/飞书等),可选
posterUrlsNo活动长图(公众号推文长图那种),最多 9 张
signupKindNo报名类目(决定它在报名 feed 里进哪个 chip),缺省 EVENT。取值:HACKATHON(黑客松) | COMPETITION(创业赛事) | INCUBATOR(孵化营) | FUNDING(融资申请) | COMMUNITY(社区入驻) | EVENT(活动报名) | OTHER(其他)
articleUrlsNo活动图文/推文链接,可选
contactNoteNo报名成功页的一句话说明,可选
descriptionYes活动详情(必填):讲清做什么、给谁、有什么收获
contactQrUrlNo报名成功页展示的答疑/组队群二维码图 URL,可选
hostedEnabledNo站内直接收报名。缺省:没给 signupUrl 就 true(站内收),给了 signupUrl 就 false(正式报名在对方表单)
organizerNameNo主办方署名(报名页「主办方」那一行)。不填=用他「主办方资料」里的机构名。联合主办/承办单位写全,如「A 中心 · B 社区」
extraQuestionsNo在基线四项之外要加问的题,一行一个中文题面(如「你想在这场解决什么问题」)。key/type 由服务端生成,一律选填。只对站内收报名(hostedEnabled)有效
clientRequestIdNo重复提交保护:超时重试时**原样重传同一个值**,命中就返回既有那场而不是再建一场
registrationDeadlineNo报名截止 ISO 8601,可选;不填=长期有效。截止是硬闸,到点即封口

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only say the tool writes (readOnlyHint=false) and is not idempotent, but the description adds far more: login requirement, post-create feed visibility semantics (先过后审, no gray release), error codes with remediation routes (organizer_profile_required / profile_incomplete / no_published_product), dedup semantics (same clientRequestId or title within 5 min returns the existing activity with deduped=true), and the deliberate absence of an agent-side organizer-name write path (SMS-gated subtree). 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.

Conciseness5/5

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

Long but fully earned for a 23-parameter creation entry point: it is organized into labeled sections (需要登录/何时用/组合链/口径·坑) with numbered pitfalls and bold key terms, and the decision-relevant content (when to call, chain position) is front-loaded. No filler sentences; even the COMPETITION reminder that echoes the schema functions as a trap warning rather than duplication.

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

Completeness4/5

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

For a write tool with no output schema, the description nearly suffices: it covers prerequisites, error handling, dedup, auth, and the post-create workflow. The return contract is only implied via the chain (slug → signupPageUrl, deduped=true) rather than spelled out, and the 'exits 里写了各自怎么补' reference presumes external documentation not present here. Minor gaps against an otherwise comprehensive definition.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. The description still adds genuine meaning: the baseline four-question set that lands when extraQuestions is omitted (and the warning not to hand-build dozens of fields), the 'all extra questions are optional' rule, the organizerName fallback chain with its SMS-verification constraint, and the 5-minute dedup window for clientRequestId. This exceeds baseline by explaining cross-parameter behavior and rationale the schema does not.

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?

The description states a concrete trigger ('用户说「帮我发一场分享会 / 建一个报名」时调它') and names the exact resource scope (活动本体 + 报名配置一次写入). It declares itself the '唯一正确入口' for in-site activity creation, explicitly distinguishing it from updates (update_activity) and downstream read/management tools. An agent can pick this tool over the ~130 siblings without opening the schema.

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

Usage Guidelines5/5

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

Gives the exact user utterances that should trigger the call, plus an explicit exclusion: activity body changes go through update_activity. The 【组合链】 section lays out the entire lifecycle (create → get slug/signupPageUrl → read → reconfigure → review submissions → export), so it is unambiguous where this tool sits versus siblings like list_signup_feed, bulk_review_signup_submissions, or issue_signup_export_link.

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.

TDQS

A4.1/5.0
Disambiguation4/5

Each tool has a clearly documented purpose, often with explicit 'when to use' guidance and cross-references, making the vast majority easy to tell apart. A few clusters (get_my_brief, get_my_positioning, get_my_work, get_my_dispatch) and data-overlapping get_my_card vs get_my_profile require careful reading, but descriptions are detailed enough to prevent serious misselection.

Naming Consistency4/5

The overwhelming majority follow snake_case verb_noun conventions (create_product, update_need, list_my_signups). Minor deviations include noun-only feed names (personalized_feed, random_feed), inconsistency between 'prefs' and 'preferences' in notification tools, and a mix of update_* and set_* for mutations, but the pattern remains predictable overall.

Tool Count1/5

137 tools is an extreme mismatch for any MCP server, far exceeding the 50+ threshold for a score of 1. Even with a broad multi-domain platform, this volume makes tool selection and navigation impractical and heavily burdens the agent's context window.

Completeness5/5

The surface covers full lifecycles for needs, products, activities/signups, conversations, collaboration goals/tasks, dispatch, profile/onboarding, and supporting resources like companies, parks, policies, and ratings. Deliberate omissions (no user-post creation, no organizer profile editing via agent) are explicitly documented, so core workflows have no obvious dead ends.

Resources