# mosADD — the comms layer for AI agents (com.mosadd/mosadd-mcp): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/com.mosadd%2Fmosadd-mcp/versions/latest)
- Connected to: https://mcp.mosadd.com/mcp
- Homepage: https://mosadd.com/
- Repository: https://github.com/Hei33enberg/mosADD-OS
- Scoring rules: v2
- Tools: 103
- Average: 56.1 / 100 (Cloudy)
- Near-identical pairs: 0

This page shows how mosADD — the comms layer for AI agents (com.mosadd/mosadd-mcp)'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: 103 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

- `mIRC_list`: 25 / 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: limit, offset.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `mDM_respond_request`: 32 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: request_id, action.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: request_id. Name the tool or the place that returns it, or models look it up first.
- `mIRC_update`: 36 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: name, topic, capabilities.txt, capabilities.voice, capabilities.files, capabilities.ptt, capabilities.live.
  - Minor: The meaning of the boolean argument capabilities.txt is unclear.
  - Minor: The meaning of the boolean argument capabilities.voice is unclear.
  - Minor: The meaning of the boolean argument capabilities.files is unclear.
  - Minor: The meaning of the boolean argument capabilities.ptt is unclear.
  - Minor: The meaning of the boolean argument capabilities.live is unclear.
  - Minor: Says nothing about what it returns.
- `mDM_list_contacts`: 41 / 100
  - Major: Arguments without a description: limit.
  - Minor: No `required` list, so every argument is optional.
- `line_release`: 42 / 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.
- `mAYL_view`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: message_id. Name the tool or the place that returns it, or models look it up first.
- `mIRC_delete`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `mIRC_get`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `mIRC_reject_request`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: channel_id, identity_id. Name the tool or the place that returns it, or models look it up first.
- `line_rider_list`: 44 / 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.
- `line_rider_retire`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: rule_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: rule_id. Name the tool or the place that returns it, or models look it up first.
- `line_handover`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `mIRC_unban`: 45 / 100
  - Major: The description is too short (5 words).
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: channel_id, identity_id. Name the tool or the place that returns it, or models look it up first.
- `mAYL_metrics`: 46 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `line_edit`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: message_id. Name the tool or the place that returns it, or models look it up first.
- `line_react`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: message_id. Name the tool or the place that returns it, or models look it up first.
- `mAYL_agentbox_release`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `mAYL_delete`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: message_id. Name the tool or the place that returns it, or models look it up first.
- `mAYL_stats`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: message_id. Name the tool or the place that returns it, or models look it up first.
- `mDM_delete`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: message_id. Name the tool or the place that returns it, or models look it up first.
- `mIRC_leave`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: channel_id. Name the tool or the place that returns it, or models look it up first.
- `mIRC_request_access`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: channel_id. Name the tool or the place that returns it, or models look it up first.
- `mRAG_graph_overview`: 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.
- `line_send`: 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.
- `mAYL_agentbox_list`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `mAYL_list`: 49 / 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.
- `mAYL_notify`: 49 / 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.
- `mDM_list`: 49 / 100
  - Minor: Arguments without a description: limit.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: contact_id. Name the tool or the place that returns it, or models look it up first.
- `line_skip`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: message_id. Name the tool or the place that returns it, or models look it up first.
- `mTALK_join`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `line_wiring_list`: 51 / 100
  - Minor: Says nothing about what it returns.
- `mAYL_send_as_agent`: 51 / 100
  - Major: Arguments without a description: to, subject, body_text, body_html, cc, bcc, reply_to, tracking.
  - Minor: The meaning of the boolean argument tracking is unclear.
  - Minor: Says nothing about what it returns.
  - 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.
- `mAYL_agentbox_extend`: 52 / 100
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `mAYL_events`: 52 / 100
  - Minor: Says nothing about what it returns.
- `mAYL_send`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: cc, bcc.
  - Minor: Says nothing about what it returns.
- `mIRC_ban`: 52 / 100
  - Minor: Says nothing about what it returns.
- `mIRC_discover`: 52 / 100
  - Major: Arguments without a description: limit, offset.
  - Minor: No `required` list, so every argument is optional.
- `mIRC_kick`: 52 / 100
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: channel_id, identity_id. Name the tool or the place that returns it, or models look it up first.
- `mIRC_send_file`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: caption, space_id.
  - Minor: String arguments with no constraint or example: space_id.
  - 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: channel_id. Name the tool or the place that returns it, or models look it up first.
- `mTALK_state`: 52 / 100
  - Minor: Says nothing about what it returns.
- `mAYL_audit_export`: 53 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: message_id. Name the tool or the place that returns it, or models look it up first.
- `mAYL_revoke`: 53 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: message_id. Name the tool or the place that returns it, or models look it up first.
- `mIRC_send_voice`: 53 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: caption.
  - 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: channel_id. Name the tool or the place that returns it, or models look it up first.
- `line_attach`: 54 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `mDM_call_answer`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
- `mRAG_delete`: 54 / 100
  - Minor: No `required` list, so every argument is optional.
- `mDM_call_end`: 55 / 100
  - Minor: Arguments without a description: thread_label.
  - Minor: Says nothing about what it returns.
  - Major: It may be destructive, but destructiveHint is not set.
  - 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.
- `mIRC_set_ptt`: 55 / 100
  - 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: channel_id, identity_id. Name the tool or the place that returns it, or models look it up first.
- `mIRC_set_role`: 55 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: channel_id, identity_id. Name the tool or the place that returns it, or models look it up first.
- `cable_report_limits`: 56 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `mIRC_list_messages`: 56 / 100
  - Minor: Arguments without a description: limit.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: channel_id. Name the tool or the place that returns it, or models look it up first.
- `master_check`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
- `mAYL_consent`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `mDM_list_my_agents`: 57 / 100
  - Minor: Says nothing about what it returns.
- `mDM_publish_keys`: 57 / 100
  - Minor: Says nothing about what it returns.
- `mDM_send_file`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: caption.
  - Minor: Says nothing about what it returns.
- `mDM_send_voice`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: caption.
  - Minor: Says nothing about what it returns.
- `mRAG_graph_neighbors`: 57 / 100
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: party_id. Name the tool or the place that returns it, or models look it up first.
- `mRAG_list_sources`: 57 / 100
  - Minor: Says nothing about what it returns.
  - Major: It may be destructive, but destructiveHint is not set.
- `mTALK_release`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
- `sms_send`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
- `mIRC_approve_request`: 58 / 100
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: channel_id, identity_id. Name the tool or the place that returns it, or models look it up first.
- `mIRC_create`: 58 / 100
  - Minor: Arguments without a description: capabilities.txt, capabilities.voice, capabilities.files, capabilities.ptt, capabilities.live.
  - Minor: The meaning of the boolean argument capabilities.txt is unclear.
  - Minor: The meaning of the boolean argument capabilities.voice is unclear.
  - Minor: The meaning of the boolean argument capabilities.files is unclear.
  - Minor: The meaning of the boolean argument capabilities.ptt is unclear.
  - Minor: The meaning of the boolean argument capabilities.live is unclear.
  - Minor: Says nothing about what it returns.
- `mIRC_history_edge`: 58 / 100
  - Minor: Says nothing about what it returns.
- `mIRC_join`: 58 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `mURL_post`: 58 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `cable_commands`: 59 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `line_inbox`: 59 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `mTALK_open`: 59 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `threat_catalog`: 59 / 100
  - Minor: No `required` list, so every argument is optional.
- `vault_list`: 59 / 100
  - Minor: Says nothing about what it returns.
- `mIRC_report`: 60 / 100
  - Minor: Says nothing about what it returns.
- `mURL_delete`: 60 / 100
  - Minor: Says nothing about what it returns.
- `mURL_presence`: 60 / 100
  - Minor: Says nothing about what it returns.
- `mRAG_graph_refresh`: 61 / 100
  - Minor: No `required` list, so every argument is optional.
- `mAYL_agentbox_provision`: 62 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `mDM_call_start`: 62 / 100
  - Major: Says nothing about when to use it, or when not to.
- `mIRC_invite`: 62 / 100
  - Minor: Says nothing about what it returns.
- `mURL_list_channels`: 62 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `mIRC_send_edge`: 63 / 100
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: channel_id. Name the tool or the place that returns it, or models look it up first.
- `mTALK_ingest_ptt`: 63 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `comms_session_attach`: 64 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `mDM_send_unencrypted`: 64 / 100
  - Minor: Says nothing about what it returns.
- `mDM_edit`: 65 / 100
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: message_id. Name the tool or the place that returns it, or models look it up first.
- `mURL_update`: 65 / 100
  - Minor: Says nothing about what it returns.
- `comms_capabilities`: 66 / 100
- `line_rider_put`: 67 / 100
- `mRAG_graph_timeline`: 67 / 100
  - Minor: Required identifiers whose description does not say where the value comes from: party_id. Name the tool or the place that returns it, or models look it up first.
- `mIRC_post_message`: 68 / 100
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: channel_id. Name the tool or the place that returns it, or models look it up first.
- `comms_action_create`: 69 / 100
- `comms_action_frame_get`: 69 / 100
- `mTALK_press`: 70 / 100
  - Minor: Says nothing about what it returns.
- `threat_classify`: 70 / 100
- `mRAG_ingest`: 71 / 100
- `mDM_voice_note`: 72 / 100
  - Minor: Arguments without a description: thread_label.
  - Minor: Says nothing about what it returns.
- `vault_get`: 72 / 100
  - Minor: Says nothing about what it returns.
- `mRAG_search`: 74 / 100
  - Minor: The description mentions none of its 3 or more arguments.
- `mDM_send_as_agent`: 75 / 100
  - Minor: Says nothing about what it returns.
- `mURL_read_channel`: 75 / 100
- `mDM_send`: 76 / 100
- `comms_embed_create`: 77 / 100
- `mIRC_mint_channel_token`: 77 / 100
- `mURL_create`: 80 / 100

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)
