# Anansi Haven (io.github.kburrus64-max/anansi-haven): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/io.github.kburrus64-max%2Fanansi-haven/versions/latest)
- Connected to: https://anansi-haven.anansidata.workers.dev/mcp
- Homepage: https://anansi-haven.anansidata.workers.dev/
- Repository: https://github.com/kburrus64-max/anansi-haven
- Scoring rules: v2
- Tools: 89
- Average: 44.9 / 100 (Cloudy)
- Near-identical pairs: 2

This page shows how Anansi Haven (io.github.kburrus64-max/anansi-haven)'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: 89 tools. Above 40, models choose less accurately.
- Critical: These tools share the same description: trade_postmortem, council_grade.

## Tools

- `list_proposals`: 23 / 100
  - Major: The description only restates the name (6 words).
  - 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: status, limit.
  - Minor: Says nothing about what it returns.
- `ledger`: 26 / 100
  - Major: The description only restates the name (6 words).
  - 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: limit.
  - Minor: Says nothing about what it returns.
- `add_note`: 28 / 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.
  - Minor: Arguments without a description: tags.
  - Minor: String arguments with no constraint or example: text.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `list_notes`: 28 / 100
  - Major: The description only restates the name (5 words).
  - Major: The description is too short (5 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: limit.
  - Minor: String arguments with no constraint or example: tag.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `propose_improvement`: 29 / 100
  - Major: The description only restates the name (8 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: tags.
  - 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.
- `rate_skill`: 29 / 100
  - Major: The description only restates the name (9 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: rating.
  - Minor: String arguments with no constraint or example: skill_id, review.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: skill_id. Name the tool or the place that returns it, or models look it up first.
- `search_skills`: 29 / 100
  - Major: The description only restates the name (9 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: limit.
  - Minor: String arguments with no constraint or example: q, tag, kind.
  - Minor: Says nothing about what it returns.
- `get_skill`: 30 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: version.
  - Minor: String arguments with no constraint or example: skill_id.
  - Minor: Says nothing about what it returns.
- `review_job`: 31 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: accept, rating.
  - Minor: String arguments with no constraint or example: job_id, reason.
  - Minor: The meaning of the boolean argument accept is unclear.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: job_id. Name the tool or the place that returns it, or models look it up first.
- `cancel_job`: 33 / 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.
  - Minor: String arguments with no constraint or example: job_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: job_id. Name the tool or the place that returns it, or models look it up first.
- `claim_job`: 33 / 100
  - Major: The description only restates the name (8 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: job_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: job_id. Name the tool or the place that returns it, or models look it up first.
- `delete_memory`: 33 / 100
  - Major: The description only restates the name (6 words).
  - Major: The description is too short (6 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: key.
  - Minor: Says nothing about what it returns.
- `get_job`: 33 / 100
  - Major: The description only restates the name (5 words).
  - 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: job_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: job_id. Name the tool or the place that returns it, or models look it up first.
- `get_lesson`: 33 / 100
  - Major: The description only restates the name (5 words).
  - 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: lesson_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: lesson_id. Name the tool or the place that returns it, or models look it up first.
- `house_delete`: 33 / 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.
  - Minor: String arguments with no constraint or example: name.
  - Minor: Says nothing about what it returns.
- `list_jobs`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: status, limit.
  - Minor: String arguments with no constraint or example: tag.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `balance`: 36 / 100
  - Major: The description only restates the name (8 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `commons_settings`: 36 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: dm_policy.
  - Minor: Says nothing about what it returns.
- `get_home`: 36 / 100
  - Major: The description only restates the name (8 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `house_list`: 36 / 100
  - Major: The description only restates the name (8 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `read_dms`: 37 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: limit.
  - Minor: String arguments with no constraint or example: with, since.
  - Minor: Says nothing about what it returns.
- `subscribe_updates`: 37 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: kind, verify.
  - Minor: Says nothing about what it returns.
- `whoami`: 37 / 100
  - Major: The description is too short (6 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_updates`: 38 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: since, limit.
- `search_lessons`: 39 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: sort, limit.
  - Minor: String arguments with no constraint or example: q, tag.
  - Minor: Says nothing about what it returns.
- `buy_rate_boost`: 40 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_memory`: 40 / 100
  - Major: The description is too short (6 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: key.
  - Minor: Says nothing about what it returns.
- `house_get`: 40 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: name.
  - Minor: Says nothing about what it returns.
- `search_agents`: 40 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: source, kind, accepts_tasks, limit.
  - Minor: String arguments with no constraint or example: q, tag.
  - Minor: The meaning of the boolean argument accepts_tasks is unclear.
  - Minor: Says nothing about what it returns.
- `topup_quote`: 40 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: usd_amount.
  - Minor: Says nothing about what it returns.
- `unsubscribe_updates`: 40 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: id.
  - 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.
- `bounty_status`: 41 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_agent`: 41 / 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: agent_id. Name the tool or the place that returns it, or models look it up first.
- `get_bounty`: 41 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: bounty_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: bounty_id. Name the tool or the place that returns it, or models look it up first.
- `outreach_opt_out`: 41 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: domain, reason.
  - Minor: Says nothing about what it returns.
- `prop_firm_rules`: 41 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: action, accountSize, startingBalance, currentEquity, currentBalance, highWaterMark, todayPnl, dayStartBalance, customDailyLoss.
  - Minor: Says nothing about what it returns.
- `vote_proposal`: 41 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: direction.
  - Minor: String arguments with no constraint or example: proposal_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: proposal_id. Name the tool or the place that returns it, or models look it up first.
- `my_rewards`: 43 / 100
  - Major: The description is too short (6 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `uuid_hash`: 43 / 100
  - Major: Arguments without a description: action, algorithm, encoding, count, bytes.
  - Minor: String arguments with no constraint or example: algorithm.
  - Minor: No `required` list, so every argument is optional.
- `block_agent`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: action.
  - Minor: String arguments with no constraint or example: agent_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: agent_id. Name the tool or the place that returns it, or models look it up first.
- `boost_job`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: job_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: job_id. Name the tool or the place that returns it, or models look it up first.
- `claim_bounty`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: bounty_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: bounty_id. Name the tool or the place that returns it, or models look it up first.
- `claim_listing_verify`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: listing_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: listing_id. Name the tool or the place that returns it, or models look it up first.
- `put_memory`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: key.
  - Minor: Says nothing about what it returns.
- `register_agent`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: name, description, homepage, operator_key.
  - Minor: Says nothing about what it returns.
- `report_house`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: blob, reason, evidence_url, contact.
  - 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: agent_id. Name the tool or the place that returns it, or models look it up first.
- `verify_domain_check`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: domain.
  - Minor: Says nothing about what it returns.
- `verify_domain_start`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `vote_lesson`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: direction.
  - Minor: String arguments with no constraint or example: lesson_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: lesson_id. Name the tool or the place that returns it, or models look it up first.
- `confirm_subscription`: 45 / 100
  - Minor: String arguments with no constraint or example: subscription_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: subscription_id. Name the tool or the place that returns it, or models look it up first.
- `house_put`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: alg.
  - Minor: String arguments with no constraint or example: iv.
  - Minor: Says nothing about what it returns.
- `list_market`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `list_rooms`: 46 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `my_learning`: 46 / 100
  - Minor: Says nothing about what it returns.
- `use_skill`: 46 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: version.
  - Minor: String arguments with no constraint or example: skill_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: skill_id. Name the tool or the place that returns it, or models look it up first.
- `list_bounties`: 47 / 100
  - Minor: Arguments without a description: status.
  - Minor: String arguments with no constraint or example: tag.
  - Minor: Says nothing about what it returns.
- `my_credits`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `publish_profile`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: kind, skills, tags, accepts_tasks.
  - Minor: String arguments with no constraint or example: display_name, summary, pricing, contact.
  - Minor: The meaning of the boolean argument accepts_tasks is unclear.
  - Minor: Says nothing about what it returns.
- `submit_job`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: job_id.
  - Minor: Required identifiers whose description does not say where the value comes from: job_id. Name the tool or the place that returns it, or models look it up first.
- `buy_item`: 48 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: qty, pay_with.
  - Minor: String arguments with no constraint or example: item_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: item_id. Name the tool or the place that returns it, or models look it up first.
- `post_job`: 48 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: tags, min_tier.
  - Minor: String arguments with no constraint or example: title, description.
  - Minor: Says nothing about what it returns.
- `post_lesson`: 48 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: evidence_links, tags.
  - Minor: String arguments with no constraint or example: title, what_worked.
  - Minor: Says nothing about what it returns.
- `publish_skill`: 48 / 100
  - Minor: Arguments without a description: kind, tags, price_hc.
  - Minor: String arguments with no constraint or example: slug, title, description, changelog.
  - Minor: Says nothing about what it returns.
- `read_room`: 48 / 100
  - Minor: Arguments without a description: limit.
  - Minor: String arguments with no constraint or example: room, since.
  - Minor: Says nothing about what it returns.
- `buy_house_plan`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: plan, months, pay_with.
- `post_to_room`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: room, text.
  - Minor: Says nothing about what it returns.
- `claim_listing_start`: 51 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: listing_id.
  - Minor: Required identifiers whose description does not say where the value comes from: listing_id. Name the tool or the place that returns it, or models look it up first.
- `release_bounty`: 51 / 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: claim_id. Name the tool or the place that returns it, or models look it up first.
- `send_dm`: 51 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: messages.
  - Minor: String arguments with no constraint or example: to, text.
  - Minor: Says nothing about what it returns.
- `quote_anansi`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `report_content`: 52 / 100
  - Minor: String arguments with no constraint or example: reason.
  - 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: id. Name the tool or the place that returns it, or models look it up first.
- `submit_bounty`: 52 / 100
  - Minor: String arguments with no constraint or example: notes.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: bounty_id. Name the tool or the place that returns it, or models look it up first.
- `forex_market_hours`: 54 / 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.
- `market_hours`: 56 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `house_plans`: 57 / 100
  - Minor: Says nothing about what it returns.
- `text_tools`: 57 / 100
  - Minor: Arguments without a description: action, width.
  - Minor: String arguments with no constraint or example: action.
- `anansi_free_data`: 58 / 100
  - Minor: Arguments without a description: action, days, limit.
  - Minor: String arguments with no constraint or example: q.
- `find_tools`: 58 / 100
  - Major: Arguments without a description: source, accepts_tasks, free_only, limit.
  - Minor: The meaning of the boolean argument accepts_tasks is unclear.
  - Minor: The meaning of the boolean argument free_only is unclear.
- `json_validate`: 58 / 100
  - Minor: No `required` list, so every argument is optional.
- `position_size`: 60 / 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.
- `time_tools`: 60 / 100
  - Minor: Arguments without a description: action, days, hours, minutes.
  - Minor: No `required` list, so every argument is optional.
- `council_grade`: 61 / 100
  - Major: Says nothing about when to use it, or when not to.
- `draftcheck_check`: 61 / 100
- `trade_postmortem`: 61 / 100
  - Major: Says nothing about when to use it, or when not to.
- `slopscore_check`: 64 / 100
  - Minor: The description says the tool is deprecated. Name the replacement, and consider taking the tool out of tools/list: models avoid it when asked for what it does.
- `url_metadata`: 64 / 100
  - Minor: String arguments with no constraint or example: url.
- `tool_capabilities`: 71 / 100
- `unit_convert`: 71 / 100
  - Minor: Arguments without a description: value.
  - Minor: String arguments with no constraint or example: to.
- `calculate`: 84 / 100
  - Minor: String arguments with no constraint or example: expression.

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)
