# io.github.vinsenzo83/baton: tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/io.github.vinsenzo83%2Fbaton/versions/latest)
- Connected to: https://baton-mcp-production.up.railway.app/mcp
- Repository: https://github.com/vinsenzo83/baton
- Scoring rules: v2
- Tools: 45
- Average: 18.2 / 100 (Rain)
- Near-identical pairs: 2

This page shows how io.github.vinsenzo83/baton'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: 45 tools. Above 40, models choose less accurately.
- 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

- `baton_git_evidence`: 9 / 100
  - Major: The description only restates the name (2 words).
  - Major: The description is too short (2 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: api_key, task_id.
  - Minor: String arguments with no constraint or example: api_key, task_id.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `baton_agent_list`: 10 / 100
  - Major: The description is too short (2 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: specialty, limit.
  - Minor: String arguments with no constraint or example: specialty.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `baton_who`: 10 / 100
  - Major: The description is too short (3 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: member_id, room_id, api_key.
  - Minor: String arguments with no constraint or example: member_id, room_id, api_key.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `baton_pass`: 12 / 100
  - Major: The description only restates the name (7 words).
  - Major: The description is too short (7 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: snapshot.meta, snapshot.meta.title, snapshot.meta.author, snapshot.meta.source_model, snapshot.meta.project, snapshot.context, snapshot.context.goal, snapshot.context.current_state, snapshot.context.decisions, snapshot.context.decisions[].what, snapshot.context.decisions[].why, snapshot.context.constraints, snapshot.artifacts, snapshot.artifacts.files, snapshot.artifacts.links, snapshot.artifacts.commands, snapshot.next_steps, snapshot.warnings, ttl_hours, verify.static_checks, verify.static_checks[].dim, verify.static_checks[].passed, verify.static_checks[].evidence, verify.e2e_evidence, verify.e2e_evidence[].claim, verify.e2e_evidence[].observed, verify.e2e_evidence[].detail, verify.e2e_evidence[].method, verify.e2e_evidence[].evidence_refs, verify.environment, verify.artifacts, verify.verifier.
  - Minor: String arguments with no constraint or example: snapshot.meta.title, snapshot.meta.author, snapshot.meta.source_model, snapshot.meta.project, snapshot.context.goal, snapshot.context.current_state, snapshot.context.decisions[].what, snapshot.context.decisions[].why, verify.static_checks[].dim, verify.static_checks[].evidence, verify.e2e_evidence[].claim, verify.e2e_evidence[].detail, verify.verifier, parent_code, api_key, member_id.
  - Minor: The meaning of the boolean argument one_time is unclear.
  - Minor: The meaning of the boolean argument verify.static_checks[].passed is unclear.
  - Minor: The meaning of the boolean argument verify.e2e_evidence[].observed is unclear.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `baton_agent_record_result`: 13 / 100
  - Major: The description is too short (2 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: api_key, agent_id, receipt.
  - Minor: String arguments with no constraint or example: api_key, agent_id.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: agent_id. Name the tool or the place that returns it, or models look it up first.
- `baton_agent_register`: 13 / 100
  - Major: The description is too short (4 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: api_key, name, description, specialties.
  - Minor: String arguments with no constraint or example: api_key, name, description.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `baton_cost_record`: 13 / 100
  - Major: The description is too short (3 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: api_key, task_id, provider, model, input_tokens, output_tokens, amount_usd, source, idempotency_key.
  - Minor: String arguments with no constraint or example: api_key, task_id, provider, model, source, idempotency_key.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `baton_cost_summary`: 13 / 100
  - Major: The description is too short (4 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: api_key.
  - Minor: String arguments with no constraint or example: api_key.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `baton_diff`: 13 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: from_code, to_code.
  - Minor: String arguments with no constraint or example: from_code, to_code.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `baton_hub_list`: 13 / 100
  - Major: The description is too short (2 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: api_key.
  - Minor: String arguments with no constraint or example: api_key.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `baton_hub_observe`: 13 / 100
  - Major: The description is too short (5 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: api_key, server_id, receipt.
  - Minor: String arguments with no constraint or example: api_key, server_id.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: server_id. Name the tool or the place that returns it, or models look it up first.
- `baton_hub_register`: 13 / 100
  - Major: The description is too short (5 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: api_key, name, url, capabilities.
  - Minor: String arguments with no constraint or example: api_key, name, url.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `baton_leave`: 13 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: member_id.
  - Minor: String arguments with no constraint or example: member_id.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: member_id. Name the tool or the place that returns it, or models look it up first.
- `baton_memory_delete`: 13 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: api_key, memory_id.
  - Minor: String arguments with no constraint or example: api_key, memory_id.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: memory_id. Name the tool or the place that returns it, or models look it up first.
- `baton_memory_get`: 13 / 100
  - Major: The description is too short (2 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: api_key, memory_id.
  - Minor: String arguments with no constraint or example: api_key, memory_id.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: memory_id. Name the tool or the place that returns it, or models look it up first.
- `baton_memory_put`: 13 / 100
  - Major: The description is too short (2 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: api_key, title, body, tags, ttl_hours.
  - Minor: String arguments with no constraint or example: api_key, title.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `baton_memory_search`: 13 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: api_key, query, tags, limit.
  - Minor: String arguments with no constraint or example: api_key, query.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `baton_revoke`: 13 / 100
  - Major: The description is too short (1 word).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: code.
  - Minor: String arguments with no constraint or example: code.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `baton_task_create`: 13 / 100
  - Major: The description is too short (3 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: api_key, title, room_id, assignee, depends_on.
  - Minor: String arguments with no constraint or example: api_key, title, room_id, assignee.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `baton_task_graph`: 13 / 100
  - Major: The description is too short (3 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: api_key.
  - Minor: String arguments with no constraint or example: api_key.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `baton_task_link`: 14 / 100
  - Major: The description is too short (6 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: api_key, from_task_id, to_task_id, edge_type.
  - Minor: String arguments with no constraint or example: api_key, from_task_id, to_task_id.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: from_task_id, to_task_id. Name the tool or the place that returns it, or models look it up first.
- `baton_confirm_payment`: 15 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: invoice_id, token, chain, api_key, tx_hash.
  - Minor: String arguments with no constraint or example: invoice_id, api_key, tx_hash.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: invoice_id. Name the tool or the place that returns it, or models look it up first.
- `baton_task_update`: 15 / 100
  - Major: The description is too short (6 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: api_key, task_id, status.
  - Minor: String arguments with no constraint or example: api_key, task_id.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: task_id. Name the tool or the place that returns it, or models look it up first.
- `baton_git_record`: 16 / 100
  - Major: The description is too short (7 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: api_key, task_id, repository, commit_sha, branch, diff_sha256, test_command, test_exit_code, artifact_refs.
  - Minor: String arguments with no constraint or example: api_key, task_id, repository, commit_sha, branch, diff_sha256, test_command.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `baton_kick`: 18 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: room_id, target_member_id.
  - Minor: String arguments with no constraint or example: room_id, api_key, target_member_id.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: room_id, target_member_id. Name the tool or the place that returns it, or models look it up first.
- `baton_new_invite`: 18 / 100
  - Major: The description is too short (3 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: room_id, revoke_old.
  - Minor: String arguments with no constraint or example: room_id, api_key.
  - Minor: The meaning of the boolean argument revoke_old is unclear.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: room_id. Name the tool or the place that returns it, or models look it up first.
- `baton_receive`: 18 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: code.
  - Minor: String arguments with no constraint or example: code.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `baton_send`: 18 / 100
  - Major: The description is too short (2 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: member_id, text.
  - Minor: String arguments with no constraint or example: member_id, to, text.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: member_id. Name the tool or the place that returns it, or models look it up first.
- `spider_pull_corpus`: 18 / 100
  - Major: The description is too short (6 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: klass, limit.
  - Minor: String arguments with no constraint or example: tags, klass.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument verified is unclear.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `baton_close_room`: 21 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: room_id.
  - Minor: String arguments with no constraint or example: room_id, api_key.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: room_id. Name the tool or the place that returns it, or models look it up first.
- `spider_signals`: 22 / 100
  - Major: The description is too short (4 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: tier.
  - Minor: String arguments with no constraint or example: klass, tag.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `baton_approve`: 23 / 100
  - Major: The description is too short (1 word).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: room_id.
  - Minor: String arguments with no constraint or example: room_id, api_key, member_id.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: room_id, member_id. Name the tool or the place that returns it, or models look it up first.
- `baton_upgrade`: 23 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: plan.
  - Minor: String arguments with no constraint or example: api_key.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `spider_classify_tier`: 23 / 100
  - Major: The description is too short (4 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: severity.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `baton_account`: 25 / 100
  - Major: The description is too short (5 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: api_key.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `baton_create_room`: 25 / 100
  - Major: The description is too short (5 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: name, alias, api_key.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument require_approval is unclear.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `spider_checklist`: 25 / 100
  - Major: The description is too short (1 word).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: dimension.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `baton_inbox`: 26 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: member_id.
  - Minor: String arguments with no constraint or example: member_id.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: member_id. Name the tool or the place that returns it, or models look it up first.
- `baton_join`: 28 / 100
  - Major: The description is too short (4 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: code, alias, model.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `baton_signup`: 28 / 100
  - Major: The description is too short (4 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: api_key.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `spider_plan`: 28 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: target.
  - Minor: The meaning of the boolean argument thorough is unclear.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `spider_record_pattern`: 28 / 100
  - Major: The description is too short (1 word).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: klass, name, signal, fix, hit, tags.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `baton_consolidate`: 30 / 100
  - Major: The description is too short (3 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: room_id, api_key.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `baton_verify`: 31 / 100
  - Major: The description is too short (7 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: static_checks, static_checks[].dim, static_checks[].passed, static_checks[].evidence, e2e_evidence[].claim, e2e_evidence[].observed, e2e_evidence[].detail, e2e_evidence[].method, e2e_evidence[].evidence_refs.
  - Minor: String arguments with no constraint or example: target, verifier, capsule, static_checks[].dim, static_checks[].evidence, e2e_evidence[].claim, e2e_evidence[].detail, api_key.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: The meaning of the boolean argument static_checks[].passed is unclear.
  - Minor: The meaning of the boolean argument e2e_evidence[].observed is unclear.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `baton_verify_plan`: 33 / 100
  - Major: The description is too short (1 word).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: target.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.

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)
