# fline (sh.fline/fline): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/sh.fline%2Ffline/versions/latest)
- Connected to: https://mcp.fline.sh/mcp
- Homepage: https://fline.sh/docs
- Repository: https://github.com/smartline-ai/fline-skills
- Scoring rules: v2
- Tools: 40
- Average: 36.4 / 100 (Rain)
- Near-identical pairs: 0

This page shows how fline (sh.fline/fline)'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: 40 tools. Above 25, models start to tell tools apart less well.
- Minor: The server's instructions are 3874 characters. Claude Code reads only the first 2,048 by default (Codex 0.154.0 reads them whole). Put what the server is for first.

## Tools

- `answer_questions`: 16 / 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: answers, answers[].key, answers[].value, idempotency_key, project_id.
  - Minor: String arguments with no constraint or example: answers[].key, idempotency_key, project_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: project_id. Name the tool or the place that returns it, or models look it up first.
- `submit_declaration`: 24 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: declaration, idempotency_key, project_id.
  - Minor: String arguments with no constraint or example: idempotency_key, project_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: project_id. Name the tool or the place that returns it, or models look it up first.
- `delete_domain`: 27 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: hostname, idempotency_key, project_id.
  - Minor: String arguments with no constraint or example: hostname, idempotency_key, project_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: project_id. Name the tool or the place that returns it, or models look it up first.
- `get_deploy_status`: 27 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: project_id.
  - Minor: Says nothing about what it returns.
- `list_external`: 27 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: project_id.
  - Minor: Says nothing about what it returns.
- `refresh_config`: 27 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: idempotency_key, project_id.
  - Minor: String arguments with no constraint or example: idempotency_key, project_id.
  - Minor: Says nothing about what it returns.
- `resume_service`: 27 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: idempotency_key, service_id.
  - Minor: String arguments with no constraint or example: idempotency_key, service_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: service_id. Name the tool or the place that returns it, or models look it up first.
- `complete_upload`: 30 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: blob_key, idempotency_key, project_id.
  - Minor: String arguments with no constraint or example: blob_key, idempotency_key, project_id.
  - Minor: Says nothing about what it returns.
- `delete_project`: 30 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: idempotency_key, project_id.
  - Minor: String arguments with no constraint or example: idempotency_key, project_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: project_id. Name the tool or the place that returns it, or models look it up first.
- `get_events`: 30 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: limit, project_id.
  - Minor: String arguments with no constraint or example: project_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: project_id. Name the tool or the place that returns it, or models look it up first.
- `get_images`: 30 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: limit, project_id.
  - Minor: String arguments with no constraint or example: project_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: project_id. Name the tool or the place that returns it, or models look it up first.
- `stop`: 30 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: idempotency_key, project_id.
  - Minor: String arguments with no constraint or example: idempotency_key, project_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: project_id. Name the tool or the place that returns it, or models look it up first.
- `attach_external`: 32 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: alias, idempotency_key, offering, project_id, variable.
  - Minor: String arguments with no constraint or example: alias, idempotency_key, offering, project_id, variable.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: project_id. Name the tool or the place that returns it, or models look it up first.
- `get_secrets_link`: 32 / 100
  - Major: Arguments without a description: idempotency_key, project_id.
  - Minor: String arguments with no constraint or example: idempotency_key, project_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: project_id. Name the tool or the place that returns it, or models look it up first.
- `get_upload_url`: 32 / 100
  - Major: Arguments without a description: idempotency_key, project_id.
  - Minor: String arguments with no constraint or example: idempotency_key, project_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: project_id. Name the tool or the place that returns it, or models look it up first.
- `list_domains`: 32 / 100
  - Major: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: project_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: project_id. Name the tool or the place that returns it, or models look it up first.
- `list_env_names`: 32 / 100
  - Major: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: project_id.
  - Minor: Says nothing about what it returns.
- `restart`: 32 / 100
  - Major: Arguments without a description: idempotency_key, project_id.
  - Minor: String arguments with no constraint or example: idempotency_key, project_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: project_id. Name the tool or the place that returns it, or models look it up first.
- `pause_service`: 33 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: idempotency_key, service_id.
  - Minor: String arguments with no constraint or example: idempotency_key, service_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: service_id. Name the tool or the place that returns it, or models look it up first.
- `declare_env_names`: 34 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: idempotency_key, names, project_id.
  - Minor: String arguments with no constraint or example: idempotency_key, project_id.
  - Minor: Required identifiers whose description does not say where the value comes from: project_id. Name the tool or the place that returns it, or models look it up first.
- `delete_service`: 35 / 100
  - Major: Arguments without a description: idempotency_key, service_id.
  - Minor: String arguments with no constraint or example: idempotency_key, service_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: service_id. Name the tool or the place that returns it, or models look it up first.
- `detach_external`: 35 / 100
  - Major: Arguments without a description: alias, idempotency_key, offering, project_id.
  - Minor: String arguments with no constraint or example: alias, idempotency_key, offering, project_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: project_id. Name the tool or the place that returns it, or models look it up first.
- `list_versions`: 35 / 100
  - Major: Arguments without a description: limit, project_id.
  - Minor: String arguments with no constraint or example: project_id.
  - Minor: Says nothing about what it returns.
- `get_config`: 37 / 100
  - Major: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: project_id.
  - Minor: Says nothing about what it returns.
- `get_project`: 37 / 100
  - Major: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: project_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: project_id. Name the tool or the place that returns it, or models look it up first.
- `delete_env_name`: 40 / 100
  - Major: Arguments without a description: idempotency_key, name, project_id.
  - Minor: String arguments with no constraint or example: idempotency_key, name, project_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: project_id. Name the tool or the place that returns it, or models look it up first.
- `deploy`: 40 / 100
  - Major: Arguments without a description: idempotency_key, project_id.
  - Minor: String arguments with no constraint or example: idempotency_key, project_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: project_id. Name the tool or the place that returns it, or models look it up first.
- `create_project`: 42 / 100
  - Major: Arguments without a description: idempotency_key, name.
  - Minor: String arguments with no constraint or example: idempotency_key, name.
- `get_service`: 42 / 100
  - Major: Arguments without a description: service_id.
  - Minor: String arguments with no constraint or example: service_id.
  - Minor: Says nothing about what it returns.
- `rollback`: 42 / 100
  - Major: Arguments without a description: idempotency_key, project_id, to.
  - Minor: String arguments with no constraint or example: idempotency_key, project_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: project_id. Name the tool or the place that returns it, or models look it up first.
- `check_config`: 43 / 100
  - Major: Arguments without a description: config, project_id.
  - Minor: String arguments with no constraint or example: project_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: project_id. Name the tool or the place that returns it, or models look it up first.
- `get_logs`: 44 / 100
  - Major: Arguments without a description: kind, lines, project_id, service.
  - Minor: String arguments with no constraint or example: kind, project_id, service.
  - Minor: Required identifiers whose description does not say where the value comes from: project_id. Name the tool or the place that returns it, or models look it up first.
- `attach_domain`: 45 / 100
  - Major: Arguments without a description: domain, idempotency_key, project_id.
  - Minor: String arguments with no constraint or example: domain, idempotency_key, project_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: project_id. Name the tool or the place that returns it, or models look it up first.
- `get_usage`: 45 / 100
  - Major: Arguments without a description: per_service, project_id, window.
  - Minor: String arguments with no constraint or example: project_id, window.
  - Minor: The meaning of the boolean argument per_service is unclear.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: project_id. Name the tool or the place that returns it, or models look it up first.
- `list_projects`: 46 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `list_services`: 46 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `check_domain`: 50 / 100
  - Major: Arguments without a description: hostname, idempotency_key, project_id.
  - Minor: String arguments with no constraint or example: hostname, idempotency_key, project_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: project_id. Name the tool or the place that returns it, or models look it up first.
- `create_service`: 55 / 100
  - Major: Arguments without a description: engine, idempotency_key, name, size_class, version.
  - Minor: String arguments with no constraint or example: engine, idempotency_key, name, size_class, version.
- `set_env`: 55 / 100
  - Major: Arguments without a description: idempotency_key, name, project_id, secret, value.
  - Minor: String arguments with no constraint or example: idempotency_key, name, project_id, value.
  - Minor: The meaning of the boolean argument secret is unclear.
  - Minor: Says nothing about what it returns.
- `get_project_detail`: 57 / 100
  - Major: Arguments without a description: project_id.
  - Minor: String arguments with no constraint or example: project_id.
  - Minor: Required identifiers whose description does not say where the value comes from: project_id. Name the tool or the place that returns it, or models look it up first.

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)
