Skip to main content
Glama

独行录 / opcmenu

确认后发布组织提案活动

create_organization_proposal_activity

登录/对外发布;preview=true展示全文/时间/地点/闭门受众/受邀名单,确认后同activity/signup/excludeUserIds+previewHash、preview=false发布;预览变化须重确认。正式activity schema,线下须地点;signup仅平台托管。受邀人从当前可见提案重取,不得注入;云用户发布后另邀。默认不通知,仅notifyInvitees=true通知真人。同事务置提案CONVERTED并关联活动,禁通用草稿替代;已转换返回原活动,不重建。

Input Schema

NameRequiredDescriptionDefault
signupNo
previewNo默认 true 仅预览;用户确认后才传 false 执行
activityYes
proposalIdYeslist_organization_proposals 返回的提案 id
previewHashNo执行时必须传最新预览的 previewHash;参与人或内容有变化会要求重新确认
guestUserIdsNo
appActivationNo
excludeUserIdsNo
notifyInviteesNo
organizationIdYes组织或联盟空间的组织 id

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / guestUserIds
      Added value: +{
      +  "items": {
      +    "maxLength": 100,
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "maxItems": 30,
      +  "type": "array"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / activity / properties / ticketTypes
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "capacity": {
      +        "anyOf": [
      +          {
      +            "maximum": 100000,
      +            "minimum": 1,
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "id": {
      +        "pattern": "^[a-zA-Z0-9_-]{1,80}$",
      +        "type": "string"
      +      },
      +      "name": {
      +        "maxLength": 40,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "priceCents": {
      +        "maximum": 100000000,
      +        "minimum": 1,
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "id",
      +      "name",
      +      "priceCents"
      +    ],
      +    "type": "object"
      +  },
      +  "maxItems": 10,
      +  "type": "array"
      +}
  3. Changed1 schema field changed
    • addedInput schema / properties / activity / properties / locationVisibility
      Added value: +{
      +  "enum": [
      +    "PUBLIC",
      +    "REGISTERED"
      +  ],
      +  "type": "string"
      +}
  4. Changed1 schema field changed
    • addedInput schema / properties / activity / properties / venueId
      Added value: +{
      +  "anyOf": [
      +    {
      +      "anyOf": [
      +        {
      +          "not": {}
      +        },
      +        {
      +          "maxLength": 64,
      +          "minLength": 1,
      +          "type": "string"
      +        }
      +      ]
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
  5. Changed3 schema fields changed
    • addedInput schema / properties / activity / properties / allowAnnualPassUpgrade
      Added value: +{
      +  "const": false,
      +  "type": "boolean"
      +}
    • addedInput schema / properties / activity / properties / annualPassPriceCents
      Added value: +{
      +  "anyOf": [
      +    {
      +      "anyOf": [
      +        {
      +          "not": {}
      +        },
      +        {
      +          "maximum": 100000000,
      +          "minimum": 1,
      +          "type": "integer"
      +        }
      +      ]
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedInput schema / properties / activity / properties / priceCents
      Added value: +{
      +  "maximum": 100000000,
      +  "minimum": 0,
      +  "type": "integer"
      +}
  6. Changed1 schema field changed
    • addedInput schema / properties / activity / properties / memberMatchingEnabled
      Added value: +{
      +  "type": "boolean"
      +}
  7. Changed1 schema field changed
    • changedInput schema / properties / excludeUserIds / maxItems
      Previous value: -60New value: +100
  8. Added

TDQS

A4.2/5.0
Behavior5/5

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

Annotations only supply destructiveHint=false, so the description carries the burden and does so well: it discloses that the proposal is set to CONVERTED in the same transaction and linked to the activity, that invitees are re-fetched from the currently visible proposal and must not be injected, that cloud users are invited only after publishing, and that no notification is sent unless notifyInvitees=true. It also describes idempotent behavior (already-converted proposals return the original activity rather than rebuilding) and the preview-hash invalidation rule.

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

Conciseness4/5

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

The preview/confirm contract is front-loaded and every clause carries information, but the semicolon-chained style and dense noun stacking make it harder to parse than it needs to be. No sentence is wasted; readability is the only cost.

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 10-parameter mutation with nested activity/signup objects and no output schema, the description covers lifecycle, side effects, notification defaults, idempotency, and key constraints. It does not state what the response returns (e.g., the created activity and previewHash) or permission requirements beyond the login hint, which leaves a small but real gap.

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?

With only 40% schema description coverage, the description has to compensate and largely does: it explains preview and previewHash semantics, the exclusion list, notifyInvitees defaulting to no notification, guestUserIds for cloud users post-publish, and the constraint that signup is platform-hosted only and activity follows the formal schema. Gaps remain for appActivation, organizationId/proposalId sourcing, and the large nested activity object's optional fields.

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

Purpose4/5

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

The description names a specific action and resource: publishing an organization proposal activity via a preview/confirm flow, with an explicit note that a generic activity draft must not be substituted ('禁通用草稿替代'). It therefore separates itself from publish_activity_draft and create_organizer_activity, though those siblings are not named directly, forcing some inference.

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

Usage Guidelines4/5

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

It gives a clear workflow: call with preview=true to see the full text/time/location/closed audience/invitee list, then resend the same activity/signup/excludeUserIds plus previewHash with preview=false to publish, and re-confirm if the preview changed. It also states offline activities require a location and that already-converted proposals return the original activity. What is missing is explicit routing guidance naming which alternative tool to use when this one does not apply.

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