Skip to main content
Glama
playcrowns

crowns-mcp

Official
by playcrowns

reject_join_request

Reject a kingdom's request to join your alliance by providing the alliance ID, kingdom ID, and an optional reason. Declines pending membership requests directly through the Crowns API.

Instructions

Reject a kingdom's request to join your alliance.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
api_keyYesYour Crowns API key
messageNoOptional reason shown to the rejected kingdom
kingdom_idYesUUID of the kingdom to reject
alliance_idYesUUID of the alliance
Behavior2/5

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

With zero annotations, the description carries the full burden of behavioral disclosure, and it falls short for a state-changing operation. It doesn't clarify whether the rejection is reversible, whether the kingdom is notified (beyond the optional message param), whether calling it twice errors out, or how it interacts with the alliance's membership cap. It at least correctly implies mutability (rejecting a pending request), so it's not misleading — just thin.

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?

A single, tight sentence that front-loads the core action with zero fluff. As far as it goes, it's perfectly efficient. The length is appropriate for the simplicity of the described operation.

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

Completeness2/5

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

For a 4-parameter mutation tool with no annotations and no output schema, this description is underpowered. There's no guidance on idempotency (what if already rejected?), no visibility into the response shape/return value, no caveat about the optional message max length, and no clarification on how this differs from decline_alliance_invite, which an agent could plausibly confuse it with.

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 coverage is 100%, so the schema already documents all four parameters, including the useful detail that 'message' is an optional reason shown to the rejected kingdom. The description adds no additional parameter context (e.g., it doesn't clarify whose UUID kingdom_id refers to, and it doesn't explain how the optional message is delivered). Baseline 3 is appropriate given full schema coverage.

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?

States a clear verb ('Reject') and resource ('a kingdom's request to join your alliance'). The action is unambiguous in isolation. However, it doesn't distinguish itself from the sibling 'decline_alliance_invite,' which could be confused for a similar operation, so it loses a point for no sibling differentiation.

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

Usage Guidelines2/5

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

The word 'request' implies a pending state, giving slight contextual grounding, but the description provides no explicit guidance on when to use this tool vs. alternatives like decline_alliance_invite or accept_join_request. There are no stated preconditions (e.g., request must be pending), no when-not-to-use caveats, and no directions for error cases.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/playcrowns/crowns-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server