# Linkame (io.github.ohdonpiano/linkame): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/io.github.ohdonpiano%2Flinkame/versions/latest)
- Connected to: https://linkame.events/mcp
- Homepage: https://github.com/ohdonpiano/linkame/blob/main/doc/MCP_PUBLICATION.md
- Repository: https://github.com/ohdonpiano/linkame
- Scoring rules: v2
- Tools: 25
- Average: 30.7 / 100 (Rain)
- Near-identical pairs: 3

This page shows how Linkame (io.github.ohdonpiano/linkame)'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: The server has no instructions. Say there, once, what the server is for and when to use it: Claude Code and Gemini CLI read the instructions before the tool descriptions.

## Tools

- `events.get_matching_results`: 24 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: eventId.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `organizer.support_tickets.list_all`: 24 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: eventId, status, limit, offset, pageToken.
  - 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.
- `contacts.get`: 27 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: contactId.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: contactId. Name the tool or the place that returns it, or models look it up first.
- `events.get`: 27 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: eventId.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: eventId. Name the tool or the place that returns it, or models look it up first.
- `organizer.events.get_dashboard`: 27 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: eventId.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: eventId. Name the tool or the place that returns it, or models look it up first.
- `organizer.events.get_matching_status`: 27 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: eventId.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: eventId. Name the tool or the place that returns it, or models look it up first.
- `organizer.events.get_registrations`: 27 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: eventId, limit, offset, pageToken.
  - 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: eventId. Name the tool or the place that returns it, or models look it up first.
- `organizer.events.get_sessions`: 27 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: eventId.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: eventId. Name the tool or the place that returns it, or models look it up first.
- `organizer.events.get_support_ticket`: 27 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: eventId, ticketId.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: eventId, ticketId. Name the tool or the place that returns it, or models look it up first.
- `organizer.events.get_ticketing_summary`: 27 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: eventId.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: eventId. Name the tool or the place that returns it, or models look it up first.
- `events.get_matching_status`: 28 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: eventId.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `organizer.events.list_managed`: 28 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: limit, offset, pageToken.
  - 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.
- `organizer.events.reply_support_ticket`: 30 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: eventId, ticketId, text, confirm, idempotencyKey.
  - 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: eventId, ticketId. Name the tool or the place that returns it, or models look it up first.
- `events.get_my_ticket`: 31 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: ticketId, includeQrCode.
  - Minor: The meaning of the boolean argument includeQrCode is unclear.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: ticketId. Name the tool or the place that returns it, or models look it up first.
- `events.list`: 31 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: limit, offset, pageToken.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `events.list_my_registrations`: 31 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: limit, offset, pageToken.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `events.list_my_tickets`: 31 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: limit, offset, pageToken.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `organizer.events.get_support_tickets`: 31 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: eventId, status, limit, offset, pageToken.
  - 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: eventId. Name the tool or the place that returns it, or models look it up first.
- `contacts.add_note`: 34 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: contactId, text, confirm, idempotencyKey.
  - 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: contactId. Name the tool or the place that returns it, or models look it up first.
- `contacts.get_timeline`: 34 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: contactId, limit, offset, pageToken.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: contactId. Name the tool or the place that returns it, or models look it up first.
- `contacts.search`: 34 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: query, limit, offset, pageToken.
  - Minor: Says nothing about what it returns.
- `organizer.events.update_support_ticket_status`: 34 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: eventId, ticketId, status, confirm, idempotencyKey.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: The name is long (45 characters).
  - Minor: Required identifiers whose description does not say where the value comes from: eventId, ticketId. Name the tool or the place that returns it, or models look it up first.
- `account.get_current_user`: 42 / 100
  - Major: The description is too short (7 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `contacts.list_groups`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `profile.get_me`: 42 / 100
  - Major: The description is too short (7 words).
  - Major: Says nothing about when to use it, or when not to.
  - 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)
