# Syntropi O++ (ai.syntropi/o-plus-plus): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/ai.syntropi%2Fo-plus-plus/versions/latest)
- Connected to: https://agent.syntropi.ai/mcp
- Homepage: https://agent.syntropi.ai/
- Scoring rules: v2
- Tools: 67
- Average: 58.6 / 100 (Cloudy)
- Near-identical pairs: 0

This page shows how Syntropi O++ (ai.syntropi/o-plus-plus)'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: 67 tools. Above 40, models choose less accurately.

## Tools

- `dm_mark_seen`: 39 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: conversation_id, observed_peer_count.
  - Minor: Required identifiers whose description does not say where the value comes from: conversation_id. Name the tool or the place that returns it, or models look it up first.
- `space_accept_invitation`: 39 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: invite_token, invitation_id.
  - Minor: No `required` list, so every argument is optional.
- `space_approve_invitation`: 39 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: space_id, invitation_id, approve.
  - Minor: The meaning of the boolean argument approve is unclear.
  - Minor: Required identifiers whose description does not say where the value comes from: space_id, invitation_id. Name the tool or the place that returns it, or models look it up first.
- `space_file_list`: 39 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: space_id, cursor, limit.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Required identifiers whose description does not say where the value comes from: space_id. Name the tool or the place that returns it, or models look it up first.
- `space_get`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: space_id.
  - Minor: Required identifiers whose description does not say where the value comes from: space_id. Name the tool or the place that returns it, or models look it up first.
- `space_get_request`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: request_id.
  - 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.
- `space_preview_invitation`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: invite_token.
- `space_remove_member`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: space_id, human_owner_id.
  - Minor: Required identifiers whose description does not say where the value comes from: space_id, human_owner_id. Name the tool or the place that returns it, or models look it up first.
- `space_resolve_contact_link`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: contact_token.
- `task_list`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: status, limit.
  - Minor: No `required` list, so every argument is optional.
- `conversation_get`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: cursor, limit, conversation_id.
  - Minor: Required identifiers whose description does not say where the value comes from: conversation_id. Name the tool or the place that returns it, or models look it up first.
- `task_cancel`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: task_id.
  - 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.
- `agent_grant_list`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: limit.
  - Minor: No `required` list, so every argument is optional.
- `agent_grant_set`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: per_task_max_credits, monthly_commitment_max_credits.
  - Minor: String arguments with no constraint or example: per_task_max_credits, monthly_commitment_max_credits.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Required identifiers whose description does not say where the value comes from: registration_id. Name the tool or the place that returns it, or models look it up first.
- `dm_list`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: limit.
  - Minor: No `required` list, so every argument is optional.
- `conversation_list`: 48 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: cursor, limit.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
- `account_get_wallet`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: view.
  - Minor: No `required` list, so every argument is optional.
- `dm_read`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: conversation_id, limit.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Required identifiers whose description does not say where the value comes from: conversation_id. Name the tool or the place that returns it, or models look it up first.
- `space_leave`: 50 / 100
  - Major: Arguments without a description: space_id.
  - Minor: Required identifiers whose description does not say where the value comes from: space_id. Name the tool or the place that returns it, or models look it up first.
- `space_list_invitations`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: space_id, limit.
  - Minor: No `required` list, so every argument is optional.
- `agent_delete`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: setup_id.
  - Minor: Required identifiers whose description does not say where the value comes from: setup_id. Name the tool or the place that returns it, or models look it up first.
- `space_list_members`: 52 / 100
  - Major: Arguments without a description: space_id, limit.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Required identifiers whose description does not say where the value comes from: space_id. Name the tool or the place that returns it, or models look it up first.
- `agent_set_follow`: 53 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: setup_id, expected_revision, following, target.
  - Minor: The meaning of the boolean argument following is unclear.
  - Minor: Required identifiers whose description does not say where the value comes from: setup_id, space_id. Name the tool or the place that returns it, or models look it up first.
- `space_file_copy`: 53 / 100
  - Major: Arguments without a description: source_space_id, destination_space_id, file_id, version.
  - Minor: Required identifiers whose description does not say where the value comes from: source_space_id, destination_space_id, file_id. Name the tool or the place that returns it, or models look it up first.
- `space_list`: 53 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: limit.
  - Minor: No `required` list, so every argument is optional.
- `account_get_usage`: 54 / 100
  - Major: Arguments without a description: spaces_limit, spaces_cursor, space_id, users_limit, users_cursor, history_limit, before_period, breakdown, rows_limit, rows_cursor.
  - Minor: String arguments with no constraint or example: before_period.
  - Minor: No `required` list, so every argument is optional.
- `knowledge_delete`: 54 / 100
  - Major: Arguments without a description: knowledge_id, expected_version_id, space_id.
  - Minor: Required identifiers whose description does not say where the value comes from: knowledge_id, expected_version_id. Name the tool or the place that returns it, or models look it up first.
- `space_list_actors`: 54 / 100
  - Minor: Arguments without a description: limit.
  - Minor: No `required` list, so every argument is optional.
- `skill_list`: 55 / 100
  - Minor: Arguments without a description: limit.
  - Minor: No `required` list, so every argument is optional.
- `space_file_create`: 55 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: space_id, filename, sha256, data_base64.
  - Minor: String arguments with no constraint or example: filename, sha256.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Required identifiers whose description does not say where the value comes from: space_id. Name the tool or the place that returns it, or models look it up first.
- `space_list_channels`: 56 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: limit.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Required identifiers whose description does not say where the value comes from: space_id. Name the tool or the place that returns it, or models look it up first.
- `space_create_contact_link`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
- `space_list_mentions`: 57 / 100
  - Minor: Arguments without a description: limit.
  - Minor: No `required` list, so every argument is optional.
- `space_set_follow`: 58 / 100
  - Major: Arguments without a description: target, following.
  - Minor: The meaning of the boolean argument following is unclear.
  - Minor: Required identifiers whose description does not say where the value comes from: space_id. Name the tool or the place that returns it, or models look it up first.
- `skill_update`: 59 / 100
  - Minor: Arguments without a description: name, description, source_refs, knowledge_id, expected_version_id.
- `space_file_delete`: 59 / 100
  - Major: Arguments without a description: space_id, file_id, version.
  - Minor: Required identifiers whose description does not say where the value comes from: space_id, file_id. Name the tool or the place that returns it, or models look it up first.
- `agent_grant_revoke`: 60 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Required identifiers whose description does not say where the value comes from: registration_id. Name the tool or the place that returns it, or models look it up first.
- `knowledge_create`: 60 / 100
  - Major: Arguments without a description: title, kind, text, sources, sources[].source_id, sources[].source_type, sources[].uri, sources[].content_sha256, sources[].note, provenance, provenance.kind, provenance.premise_knowledge_ids, provenance.premise_versions, provenance.premise_versions[].knowledge_id, provenance.premise_versions[].version_id, space_id.
- `knowledge_get_proposal`: 60 / 100
  - Major: Arguments without a description: receipt.
- `knowledge_update`: 60 / 100
  - Major: Arguments without a description: title, kind, text, sources, sources[].source_id, sources[].source_type, sources[].uri, sources[].content_sha256, sources[].note, provenance, provenance.kind, provenance.premise_knowledge_ids, provenance.premise_versions, provenance.premise_versions[].knowledge_id, provenance.premise_versions[].version_id, knowledge_id, expected_version_id, space_id.
  - Minor: Required identifiers whose description does not say where the value comes from: knowledge_id, expected_version_id. Name the tool or the place that returns it, or models look it up first.
- `agent_configure`: 62 / 100
  - Major: Arguments without a description: name, agent, configuration, configuration.request, configuration.read_space_ids, configuration.write_space_ids, configuration.curator, configuration.public_research_queries, configuration.cross_space_disclosure, configuration.cross_space_disclosure[].source_space_id, configuration.cross_space_disclosure[].destination_space_id, configuration.discussion, configuration.discussion.private_post_space_ids, configuration.discussion.public_read_space_ids, configuration.discussion.public_post_space_ids, configuration.discussion.public_disclosure, configuration.discussion.public_disclosure[].source_space_id, configuration.discussion.public_disclosure[].destination_space_id, configuration.timeout_seconds, action, setup_id, expected_revision, per_task_max_credits, total_commitment_max_credits, accepted_rate_card, expires_at.
- `knowledge_list`: 62 / 100
  - Major: Arguments without a description: limit, cursor, path_prefix, premise_knowledge_id, inference_status, include_text.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument include_text is unclear.
- `space_invite_member`: 62 / 100
  - Major: Arguments without a description: space_id, contact_token.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Required identifiers whose description does not say where the value comes from: space_id. Name the tool or the place that returns it, or models look it up first.
- `space_register_actor`: 62 / 100
  - Minor: No `required` list, so every argument is optional.
- `dm_send`: 63 / 100
  - Minor: Arguments without a description: recipient_actor_id.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Required identifiers whose description does not say where the value comes from: recipient_actor_id. Name the tool or the place that returns it, or models look it up first.
- `knowledge_search`: 65 / 100
  - Minor: Arguments without a description: query, limit.
- `task_get`: 66 / 100
  - Minor: Arguments without a description: task_id.
  - 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.
- `product_get_started`: 67 / 100
  - Major: Says nothing about when to use it, or when not to.
- `space_file_get`: 68 / 100
  - Major: Arguments without a description: space_id, file_id, version, offset.
  - Minor: Required identifiers whose description does not say where the value comes from: space_id, file_id. Name the tool or the place that returns it, or models look it up first.
- `space_list_follows`: 68 / 100
  - Minor: Arguments without a description: limit.
  - Minor: No `required` list, so every argument is optional.
- `knowledge_propose`: 69 / 100
  - Major: Arguments without a description: contribution_kind, domain, proposed_maturity, proposed_status, title, summary, body, tags, evidence, evidence[].label, evidence[].artifact_sha256, evidence[].note, publication_rights.basis, publication_rights.community_serving_grant_confirmed, reproduction, reproduction.language, reproduction.method, reproduction.code, reproduction.expected_outputs_sha256, feedback_source, inference, inference.label, inference.confidence, inference.limitations.
  - Minor: String arguments with no constraint or example: reproduction.language, inference.label.
  - Minor: The meaning of the boolean argument publication_rights.community_serving_grant_confirmed is unclear.
- `skill_create`: 69 / 100
  - Minor: Arguments without a description: name, description, source_refs.
- `space_ensure_personal`: 69 / 100
  - Major: Says nothing about when to use it, or when not to.
- `product_get_policy`: 70 / 100
  - Major: Says nothing about when to use it, or when not to.
- `space_mark_thread_seen`: 71 / 100
  - Minor: Arguments without a description: thread_id, observed_reply_count.
  - Minor: The description mentions none of its 3 or more arguments.
- `space_search`: 71 / 100
  - Minor: Arguments without a description: limit, query_variants, cursor.
  - Minor: No `required` list, so every argument is optional.
- `knowledge_get`: 72 / 100
  - Minor: No `required` list, so every argument is optional.
- `skill_get`: 72 / 100
  - Minor: No `required` list, so every argument is optional.
- `agent_list`: 73 / 100
- `task_list_events`: 73 / 100
  - Minor: Arguments without a description: task_id, limit.
  - 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.
- `space_get_actor`: 76 / 100
  - Minor: No `required` list, so every argument is optional.
- `space_launch_agent`: 76 / 100
  - Major: Arguments without a description: request, write_space_ids, curator, public_research_queries, cross_space_disclosure, cross_space_disclosure[].source_space_id, cross_space_disclosure[].destination_space_id, discussion, discussion.private_post_space_ids, discussion.public_read_space_ids, discussion.public_post_space_ids, discussion.public_disclosure, discussion.public_disclosure[].source_space_id, discussion.public_disclosure[].destination_space_id, timeout_seconds, accepted_rate_card.
  - Minor: Required identifiers whose description does not say where the value comes from: read_space_ids. Name the tool or the place that returns it, or models look it up first.
- `space_post`: 78 / 100
  - Minor: Required identifiers whose description does not say where the value comes from: space_id, channel_id. Name the tool or the place that returns it, or models look it up first.
- `space_read_thread`: 79 / 100
  - Minor: Arguments without a description: thread_id, limit.
- `space_request_channel`: 84 / 100
  - Minor: Arguments without a description: title, purpose.
  - Minor: Required identifiers whose description does not say where the value comes from: space_id. Name the tool or the place that returns it, or models look it up first.
- `space_create`: 85 / 100
- `space_list_threads`: 85 / 100
  - Minor: Arguments without a description: limit.

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)
