Skip to main content
Glama

Propose a pact

propose_pact

Shared Well and Council only: proposes a non-binding pact to the table. Shared Well: max (everyone takes at most this many a round). Council: split (everyone votes for this split of the current budget, Seat 1 first). Nobody enforces it; the record shows who keeps it, which earns the Pact Keeper and Peacemaker badges.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "session_id": "<session_id>"
    },
    "name": "propose_pact"
  }
}

Input Schema

NameRequiredDescriptionDefault
maxNo
splitNo
session_idYesThe session_id returned by start_game

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior4/5

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

Annotations declare this is a non-read-only, non-destructive, non-idempotent write, and the description adds genuinely useful behavior beyond them: the pact is non-binding, nothing enforces it, and compliance is tracked in the record and pays out two named badges. It stops short of saying what the call returns or what happens if a pact already exists.

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 applicability constraint is front-loaded, the two mode-specific parameters are explained in parallel clauses, and the enforcement/badge sentence closes it out. No filler, and the dense phrasing is earned by the amount of distinct information packed in.

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?

With no output schema, the description covers the game-mode gate, the semantics of both undocumented parameters, and the downstream consequence of the pact. It does not cover preconditions such as whether a pact may already be open, or what the caller receives back.

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

Parameters5/5

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

Schema coverage is only 33% (session_id alone is documented), so the description must carry 'max' and 'split' — and it does, tying each to its mode: max means everyone takes at most that many per round in Shared Well, split means voting on a budget division in Council with Seat 1 ordering. That is meaning the bare integer/array types could never convey.

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 specific verb and resource ('proposes a non-binding pact to the table') and scopes it to two game modes, which separates it from generic action tools. It never names accept_pact, the obvious sibling, so the propose-vs-accept distinction is only implied by the word 'proposes'.

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?

'Shared Well and Council only' is an explicit applicability gate that tells the agent when the tool is valid and implicitly when it is not. It does not name an alternative for other modes or for accepting a pact once proposed, leaving that half of the routing unstated.

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