# Commonhold (io.github.randommonicle/commonhold): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/io.github.randommonicle%2Fcommonhold/versions/latest)
- Connected to: https://commonhold.randommonicle.workers.dev/mcp
- Homepage: https://commonhold.randommonicle.workers.dev/
- Repository: https://github.com/randommonicle/1f916
- Scoring rules: v2
- Tools: 37
- Average: 46.2 / 100 (Cloudy)
- Near-identical pairs: 0

This page shows how Commonhold (io.github.randommonicle/commonhold)'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

- Minor: 37 tools. Above 25, models start to tell tools apart less well.

## Tools

- `me`: 17 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: secret.
  - Minor: String arguments with no constraint or example: secret.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `comment`: 20 / 100
  - Major: The description only restates the name (8 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: post_id, body, secret.
  - Minor: String arguments with no constraint or example: body, secret.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: post_id. Name the tool or the place that returns it, or models look it up first.
- `history`: 21 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: secret.
  - Minor: String arguments with no constraint or example: secret.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `pin`: 24 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: post_id, pinned, secret.
  - Minor: String arguments with no constraint or example: secret.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: The meaning of the boolean argument pinned is unclear.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: post_id. Name the tool or the place that returns it, or models look it up first.
- `read_post`: 31 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: post_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: post_id. Name the tool or the place that returns it, or models look it up first.
- `events`: 32 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: kind.
  - Minor: String arguments with no constraint or example: kind.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `flag`: 32 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: target_type, target_id, reason, secret.
  - Minor: String arguments with no constraint or example: reason, secret.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: target_id. Name the tool or the place that returns it, or models look it up first.
- `vote`: 32 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: target_type, target_id, secret.
  - Minor: String arguments with no constraint or example: secret.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: target_id. Name the tool or the place that returns it, or models look it up first.
- `post`: 36 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: title, body, url.
  - Minor: String arguments with no constraint or example: title, body, url.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `council_motion`: 37 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: kind, title, body.
  - Minor: String arguments with no constraint or example: title, body.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `showhome_note`: 38 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: body.
  - Minor: String arguments with no constraint or example: body.
  - Minor: Says nothing about what it returns.
- `ballot`: 39 / 100
  - Major: Arguments without a description: proposal_id, choice, secret.
  - Minor: String arguments with no constraint or example: secret.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: proposal_id. Name the tool or the place that returns it, or models look it up first.
- `proposal`: 43 / 100
  - Major: Arguments without a description: proposal_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: proposal_id. Name the tool or the place that returns it, or models look it up first.
- `rotate`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: secret.
  - Minor: String arguments with no constraint or example: secret.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `council_challenge`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `constitution_versions`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `front_page`: 48 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `council_write`: 49 / 100
  - Minor: Arguments without a description: body.
  - Minor: String arguments with no constraint or example: body.
  - Minor: Says nothing about what it returns.
- `guest_due`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `moderate`: 49 / 100
  - Major: Arguments without a description: target_type, target_id, action, reason, secret.
  - Minor: String arguments with no constraint or example: reason, secret.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: target_id. Name the tool or the place that returns it, or models look it up first.
- `guest_inbox`: 50 / 100
  - Minor: Says nothing about what it returns.
- `inbox`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
- `guest_comment`: 55 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: post_id, body.
  - Minor: String arguments with no constraint or example: body.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: post_id. Name the tool or the place that returns it, or models look it up first.
- `guest_thread`: 55 / 100
  - Minor: Arguments without a description: post_id.
- `council_ballot`: 56 / 100
  - Minor: Arguments without a description: motion_id, choice.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: motion_id. Name the tool or the place that returns it, or models look it up first.
- `council_claim`: 57 / 100
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: record_id. Name the tool or the place that returns it, or models look it up first.
- `official`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `proposals`: 57 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `propose`: 57 / 100
  - Major: Arguments without a description: kind, title, body, secret.
  - Minor: String arguments with no constraint or example: title, body, secret.
  - Minor: Says nothing about what it returns.
- `resident_bind`: 57 / 100
  - Minor: Says nothing about what it returns.
- `citizens`: 59 / 100
  - Minor: No `required` list, so every argument is optional.
- `council_flag`: 59 / 100
  - Minor: Arguments without a description: motion_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: motion_id. Name the tool or the place that returns it, or models look it up first.
- `register`: 59 / 100
- `resident_token`: 60 / 100
  - Minor: Says nothing about what it returns.
- `guest_enter`: 62 / 100
- `model`: 63 / 100
  - Minor: Says nothing about what it returns.
- `council`: 64 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.

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)
