# Urban Game Theory — Consensus Builder (xyz.urbangametheory/urban-game-theory): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/xyz.urbangametheory%2Furban-game-theory/versions/latest)
- Connected to: https://urbangametheory.xyz/mcp
- Homepage: https://urbangametheory.xyz/
- Repository: https://github.com/Poglavar/consensus-builder
- Scoring rules: v2
- Tools: 50
- Average: 56.0 / 100 (Cloudy)
- Near-identical pairs: 0

This page shows how Urban Game Theory — Consensus Builder (xyz.urbangametheory/urban-game-theory)'s tool descriptions scored, the issues found and the names of its tools and parameters. The descriptions are the server's own: read them where the copy came from.

Forecall asked the URL this server lists in the official MCP Registry for its tools/list once, on the date above, without calling any tool. The server may have changed since.

## Across the server

- Major: 50 tools. Above 40, models choose less accurately.

## Tools

- `ugt_activity`: 32 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: limit, actor, source, action.
  - Minor: String arguments with no constraint or example: actor, source, action.
  - Minor: No `required` list, so every argument is optional.
- `ugt_explain`: 44 / 100
  - Major: Arguments without a description: term.
- `ugt_help`: 46 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: topic.
  - Minor: No `required` list, so every argument is optional.
- `ugt_list_designs`: 47 / 100
  - Major: Arguments without a description: city, bbox, q, limit.
  - Minor: No `required` list, so every argument is optional.
- `ugt_markets`: 47 / 100
  - Major: Arguments without a description: city.
- `ugt_list_agreements`: 48 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: city, limit.
  - Minor: No `required` list, so every argument is optional.
- `ugt_approval_link`: 49 / 100
  - Major: Arguments without a description: action, target, params, params.amount, params.side, params.decision, params.city.
  - Minor: String arguments with no constraint or example: params.amount.
- `ugt_draft_track`: 49 / 100
  - Major: Arguments without a description: city, parcelSourceId, parcelIds, outline, title, description, author, authoredAt, points, gauge, speed, minimumRadiusM, lanes, lanes[].type, lanes[].width, lanes[].direction, lanes[].landscape, lanes[].gauge.
- `ugt_list_sources`: 49 / 100
  - Major: Arguments without a description: city, abstraction, sourceId, adapterId, bbox, offset, limit, includeConfiguration, includeContract.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument includeConfiguration is unclear.
  - Minor: The meaning of the boolean argument includeContract is unclear.
- `ugt_cast_community_vote`: 50 / 100
  - Major: Arguments without a description: agreementCid, code, choice, expectedVersion, requestId, confirm.
  - Minor: The meaning of the boolean argument confirm is unclear.
  - Minor: Required identifiers whose description does not say where the value comes from: requestId. Name the tool or the place that returns it, or models look it up first.
- `ugt_draft_parcel_layout`: 50 / 100
  - Major: Arguments without a description: city, parcelSourceId, parcelIds, outline, title, description, author, authoredAt, algorithm, count, plotLevel.
- `ugt_export_draft`: 50 / 100
  - Major: Arguments without a description: draftRef.
  - Minor: Required identifiers whose description does not say where the value comes from: draftRef. Name the tool or the place that returns it, or models look it up first.
- `ugt_inspect_shared_plan`: 50 / 100
  - Major: Arguments without a description: sessionId, capability.
- `ugt_inspect_verified_fact`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: marketAccount.
  - Minor: String arguments with no constraint or example: marketAccount.
- `ugt_parcel_context`: 50 / 100
  - Major: Arguments without a description: city, parcelSourceId, parcelId, point, buildingSourceId, planningSourceIds.
- `ugt_find_place`: 52 / 100
  - Major: Arguments without a description: query, street, houseNumber, streetA, streetB, city, parcelSourceId, bbox, limit.
  - Minor: No `required` list, so every argument is optional.
- `ugt_inspect_plan`: 52 / 100
  - Major: Arguments without a description: plan, filter, filter.kind, filter.goal, filter.role, filter.text, filter.withinBbox, filter.relativeTo, filter.relativeTo.ref, filter.relativeTo.direction, includeGeometry, offset, limit.
  - Minor: The meaning of the boolean argument includeGeometry is unclear.
- `ugt_draft_space`: 53 / 100
  - Major: Arguments without a description: city, parcelSourceId, parcelIds, outline, title, description, author, authoredAt, spaceKind, treeCount.
- `ugt_import_design`: 53 / 100
  - Major: Arguments without a description: city, parcelSourceId, format, data, url, title, description, author, authoredAt, toleranceM, floors, height, anchor, anchor.lng, anchor.lat.
- `ugt_oracle_events`: 53 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: limit.
- `ugt_get_design`: 54 / 100
  - Major: Arguments without a description: designCid.
- `ugt_draft_building`: 55 / 100
  - Major: Arguments without a description: city, parcelSourceId, parcelIds, outline, title, description, author, authoredAt, floors, height, floorHeightM, coverage, footprint, setbackM, depthM, lengthM, simplifyM, chamferM, gapWidthM, wingLengthM, offsetEastM, offsetNorthM, rotationDegrees, ruleKind, minHeightM, minDepthM, minFloors, minPlotAreaM2, minFootprintAreaM2, seed, permitted, planningSource.
  - Minor: The meaning of the boolean argument permitted is unclear.
- `ugt_edit_agreement`: 55 / 100
  - Major: Arguments without a description: plan, expectedCid, terms, terms.plan, terms.rule, terms.rule.electorate, terms.rule.binding, terms.rule.approvalConfig, terms.rule.lens, terms.rule.settlement, terms.rights, terms.allocations, terms.allocations[].output, terms.allocations[].to, terms.settlement, terms.settlement.rateCentsPerM2, terms.settlement.contributionBasisPoints, terms.valuation, terms.title, terms.author, terms.sponsor, terms.deadline, terms.consultation, terms.rulePreset.
  - Minor: The meaning of the boolean argument terms.rule.binding is unclear.
- `ugt_import_model`: 56 / 100
  - Major: Arguments without a description: parcelSourceId, kind, modelData, url, fileName, title, rotation, confirmAssetUpload.
  - Minor: The meaning of the boolean argument confirmAssetUpload is unclear.
- `ugt_capabilities`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
- `ugt_edit_shared_plan`: 57 / 100
  - Major: Arguments without a description: sessionId, capability, expectedVersion, expectedCid, operations, operations[].type, operations[].design, operations[].type, operations[].ref, operations[].type, operations[].ref, operations[].design, operations[].type, operations[].ref, operations[].edits, operations[].edits[].op, operations[].edits[].value, operations[].edits[].op, operations[].edits[].value, operations[].edits[].op, operations[].edits[].value, operations[].edits[].op, operations[].edits[].op, operations[].edits[].op, operations[].edits[].op, operations[].edits[].eastM, operations[].edits[].northM, operations[].edits[].scale, operations[].edits[].pivot, operations[].edits[].op, operations[].edits[].op, operations[].edits[].op, operations[].edits[].op, operations[].edits[].metres, operations[].type, operations[].ref, operations[].changes, operations[].changes[].type, operations[].changes[].value, operations[].changes[].type, operations[].changes[].value, operations[].changes[].type, operations[].changes[].metres, operations[].changes[].side, operations[].changes[].type, operations[].changes[].preset, operations[].changes[].lanes, operations[].changes[].lanes[].type, operations[].changes[].lanes[].width, operations[].changes[].lanes[].direction, operations[].changes[].lanes[].landscape, operations[].changes[].lanes[].gauge, operations[].changes[].type, operations[].changes[].metres, operations[].changes[].toward, operations[].changes[].type, operations[].changes[].kind, operations[].changes[].side, operations[].changes[].type, operations[].changes[].index, operations[].changes[].type, operations[].changes[].value, operations[].changes[].floorHeightM, operations[].changes[].type, operations[].changes[].value, operations[].changes[].floorHeightM, operations[].changes[].type, operations[].changes[].planningSource, operations[].changes[].type, operations[].changes[].type, operations[].changes[].value, operations[].changes[].type, operations[].changes[].degrees, operations[].changes[].type, operations[].changes[].eastM, operations[].changes[].northM, operations[].changes[].type, operations[].changes[].buildingIndex, operations[].changes[].type, operations[].changes[].count, operations[].changes[].spacingM, operations[].changes[].type, operations[].changes[].count, operations[].changes[].spacingM, title, view, view.mode, view.city, view.language, view.camera, view.settings, undoLastAgentChange.
  - Minor: String arguments with no constraint or example: operations[].type, operations[].type, operations[].type, operations[].type, operations[].edits[].op, operations[].edits[].op, operations[].edits[].op, operations[].edits[].op, operations[].edits[].op, operations[].edits[].op, operations[].edits[].op, operations[].edits[].op, operations[].edits[].op, operations[].edits[].op, operations[].edits[].op, operations[].type, operations[].changes[].type, operations[].changes[].type, operations[].changes[].type, operations[].changes[].type, operations[].changes[].type, operations[].changes[].type, operations[].changes[].type, operations[].changes[].type, operations[].changes[].type, operations[].changes[].type, operations[].changes[].type, operations[].changes[].type, operations[].changes[].type, operations[].changes[].type, operations[].changes[].type, operations[].changes[].type, operations[].changes[].type.
  - Minor: The meaning of the boolean argument undoLastAgentChange is unclear.
  - Minor: Required identifiers whose description does not say where the value comes from: sessionId. Name the tool or the place that returns it, or models look it up first.
- `ugt_inspect_agreement`: 57 / 100
  - Major: Arguments without a description: plan, filter, filter.kind, filter.goal, filter.role, filter.text, filter.withinBbox, filter.relativeTo, filter.relativeTo.ref, filter.relativeTo.direction, includeGeometry, offset, limit.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: The meaning of the boolean argument includeGeometry is unclear.
- `ugt_validate_plan`: 57 / 100
  - Major: Arguments without a description: plan.
- `ugt_draft_station`: 58 / 100
  - Major: Arguments without a description: city, parcelSourceId, title, description, author, point, corridors, platformHeightM.
- `ugt_inspect_design`: 58 / 100
  - Major: Arguments without a description: design, plan, paths.
- `ugt_publish_plan`: 58 / 100
  - Major: Arguments without a description: plan, sharedSession, sharedSession.sessionId, sharedSession.capability, expectedCid, expectedVersion, confirm.
  - Minor: The meaning of the boolean argument confirm is unclear.
- `ugt_submit_feedback`: 58 / 100
  - Major: Arguments without a description: kind, message, pageUrl, reportId, confirm.
  - Minor: The meaning of the boolean argument confirm is unclear.
- `ugt_render_preview`: 59 / 100
  - Major: Arguments without a description: design, plan, view.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
- `ugt_get_plan`: 60 / 100
  - Minor: Arguments without a description: plan.
- `ugt_list_attesters`: 60 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `ugt_support_status`: 60 / 100
  - Major: Says nothing about when to use it, or when not to.
- `ugt_draft_road`: 61 / 100
  - Major: Arguments without a description: city, parcelSourceId, parcelIds, outline, title, description, author, authoredAt, points, street, streetId, bbox, preset, lanes, lanes[].type, lanes[].width, lanes[].direction, lanes[].landscape, lanes[].gauge, width, part.
- `ugt_draft_agreement`: 62 / 100
  - Major: Arguments without a description: plan, rulePreset, rule, rule.electorate, rule.binding, rule.approvalConfig, rule.lens, rule.settlement, rights, lens, allocations, allocations[].output, allocations[].to, settlement, settlement.rateCentsPerM2, settlement.contributionBasisPoints, valuation, currency, deadline, sponsor, title, author, createdAt, consultation.
  - Minor: String arguments with no constraint or example: lens.
  - Minor: The meaning of the boolean argument rule.binding is unclear.
- `ugt_edit_plan`: 62 / 100
  - Major: Arguments without a description: plan, expectedCid, operations, operations[].type, operations[].design, operations[].type, operations[].ref, operations[].type, operations[].ref, operations[].design, operations[].type, operations[].ref, operations[].edits, operations[].edits[].op, operations[].edits[].value, operations[].edits[].op, operations[].edits[].value, operations[].edits[].op, operations[].edits[].value, operations[].edits[].op, operations[].edits[].op, operations[].edits[].op, operations[].edits[].op, operations[].edits[].eastM, operations[].edits[].northM, operations[].edits[].scale, operations[].edits[].pivot, operations[].edits[].op, operations[].edits[].op, operations[].edits[].op, operations[].edits[].op, operations[].edits[].metres, operations[].type, operations[].ref, operations[].changes, operations[].changes[].type, operations[].changes[].value, operations[].changes[].type, operations[].changes[].value, operations[].changes[].type, operations[].changes[].metres, operations[].changes[].side, operations[].changes[].type, operations[].changes[].preset, operations[].changes[].lanes, operations[].changes[].lanes[].type, operations[].changes[].lanes[].width, operations[].changes[].lanes[].direction, operations[].changes[].lanes[].landscape, operations[].changes[].lanes[].gauge, operations[].changes[].type, operations[].changes[].metres, operations[].changes[].toward, operations[].changes[].type, operations[].changes[].kind, operations[].changes[].side, operations[].changes[].type, operations[].changes[].index, operations[].changes[].type, operations[].changes[].value, operations[].changes[].floorHeightM, operations[].changes[].type, operations[].changes[].value, operations[].changes[].floorHeightM, operations[].changes[].type, operations[].changes[].planningSource, operations[].changes[].type, operations[].changes[].type, operations[].changes[].value, operations[].changes[].type, operations[].changes[].degrees, operations[].changes[].type, operations[].changes[].eastM, operations[].changes[].northM, operations[].changes[].type, operations[].changes[].buildingIndex, operations[].changes[].type, operations[].changes[].count, operations[].changes[].spacingM, operations[].changes[].type, operations[].changes[].count, operations[].changes[].spacingM, title, view, view.mode, view.city, view.language, view.camera, view.settings.
  - Minor: String arguments with no constraint or example: operations[].type, operations[].type, operations[].type, operations[].type, operations[].edits[].op, operations[].edits[].op, operations[].edits[].op, operations[].edits[].op, operations[].edits[].op, operations[].edits[].op, operations[].edits[].op, operations[].edits[].op, operations[].edits[].op, operations[].edits[].op, operations[].edits[].op, operations[].type, operations[].changes[].type, operations[].changes[].type, operations[].changes[].type, operations[].changes[].type, operations[].changes[].type, operations[].changes[].type, operations[].changes[].type, operations[].changes[].type, operations[].changes[].type, operations[].changes[].type, operations[].changes[].type, operations[].changes[].type, operations[].changes[].type, operations[].changes[].type, operations[].changes[].type, operations[].changes[].type, operations[].changes[].type.
- `ugt_map_view`: 62 / 100
  - Major: Arguments without a description: view, center, direction, distance, unit, zoom, zoomDelta, parcelIdsVisible.
  - Minor: The meaning of the boolean argument parcelIdsVisible is unclear.
- `ugt_get_agreement`: 63 / 100
- `ugt_select_parcels`: 63 / 100
  - Major: Arguments without a description: city, parcelSourceId, selection, selection.focusParcelId, selection.parcelIds, selection.active, action, parcelId, parcelNumber, point, direction, landmark, landmark.osmId, landmark.point, relation, maxDistanceM, visibleParcels, visibleParcels[].parcelId, visibleParcels[].label, visibleParcels[].point, visibleParcelsTruncated, bbox, radiusM, distance, unit.
  - Minor: The meaning of the boolean argument selection.active is unclear.
  - Minor: The meaning of the boolean argument visibleParcelsTruncated is unclear.
  - Minor: Required identifiers whose description does not say where the value comes from: parcelSourceId. Name the tool or the place that returns it, or models look it up first.
- `ugt_voting_status`: 63 / 100
  - Major: Arguments without a description: agreementCid, code.
- `ugt_draft_urban_rule`: 64 / 100
  - Major: Arguments without a description: city, parcelSourceId, parcelIds, outline, title, description, author, authoredAt, rule.floors, rule.height, rule.floorHeightM, rule.minHeightM, rule.minDepthM, rule.setbackM, rule.depthM, rule.lengthM, rule.minPlotAreaM2, rule.minFootprintAreaM2, rule.minFloors, rule.frontSetbackM, rule.rearSetbackM, rule.setbackHeightRatio, rule.maxHeightM, rule.minFrontageM, rule.coverage, rule.minNaturalGround, rule.maxFloorAreaRatio, rule.maxFootprintAreaM2, rule.use, rule.roof, rule.balconyDepthM, rule.seed, rule.simplifyM, rule.chamferM, rule.gapPositions, rule.gapWidthM, rule.wingPositions, rule.wingLengthM, rule.rotationDegrees, rule.offsetEastM, rule.offsetNorthM.
- `ugt_modify_design`: 64 / 100
  - Major: Arguments without a description: design, changes, changes[].type, changes[].value, changes[].type, changes[].value, changes[].type, changes[].metres, changes[].side, changes[].type, changes[].preset, changes[].lanes, changes[].lanes[].type, changes[].lanes[].width, changes[].lanes[].direction, changes[].lanes[].landscape, changes[].lanes[].gauge, changes[].type, changes[].metres, changes[].toward, changes[].type, changes[].kind, changes[].side, changes[].type, changes[].index, changes[].type, changes[].value, changes[].floorHeightM, changes[].type, changes[].value, changes[].floorHeightM, changes[].type, changes[].planningSource, changes[].type, changes[].type, changes[].value, changes[].type, changes[].degrees, changes[].type, changes[].eastM, changes[].northM, changes[].type, changes[].buildingIndex, changes[].type, changes[].count, changes[].spacingM, changes[].type, changes[].count, changes[].spacingM, parcelSourceId.
  - Minor: String arguments with no constraint or example: changes[].type, changes[].type, changes[].type, changes[].type, changes[].type, changes[].type, changes[].type, changes[].type, changes[].type, changes[].type, changes[].type, changes[].type, changes[].type, changes[].type, changes[].type, changes[].type, changes[].type.
- `ugt_propose_agreement`: 64 / 100
  - Minor: Arguments without a description: agreement, designs[].content.schema.
  - Minor: String arguments with no constraint or example: designs[].content.schema.
- `ugt_draft_plan`: 65 / 100
  - Major: Arguments without a description: designs, title, view, view.mode, view.city, view.language, view.camera, view.settings.
- `ugt_publish_design`: 68 / 100
  - Minor: Arguments without a description: design.
- `ugt_compare`: 69 / 100
  - Major: Arguments without a description: targets, plan, parcelSourceId.
  - Minor: The description mentions none of its 3 or more arguments.
- `ugt_edit_design`: 75 / 100
  - Major: Arguments without a description: design, expectedCid, edits, edits[].op, edits[].value, edits[].op, edits[].value, edits[].op, edits[].value, edits[].op, edits[].op, edits[].op, edits[].op, edits[].eastM, edits[].northM, edits[].scale, edits[].pivot, edits[].op, edits[].op, edits[].op, edits[].op, edits[].metres, parcelSourceId.
  - Minor: String arguments with no constraint or example: edits[].op, edits[].op, edits[].op, edits[].op, edits[].op, edits[].op, edits[].op, edits[].op, edits[].op, edits[].op, edits[].op.

Is your server listed here and you would rather it were not? Email support@forecall.dev, and we will take it off within 7 days.

[All scored servers](https://forecall.dev/en/servers)
