# Emboss (io.github.edwinorange/emboss): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/io.github.edwinorange%2Femboss/versions/latest)
- Connected to: https://api.getemboss.ai/mcp
- Homepage: https://getemboss.ai/docs/mcp-tools
- Repository: https://github.com/GetEmboss-ai/emboss-claude-plugin
- Scoring rules: v2
- Tools: 28
- Average: 48.0 / 100 (Cloudy)
- Near-identical pairs: 2

This page shows how Emboss (io.github.edwinorange/emboss)'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: 28 tools. Above 25, models start to tell tools apart less well.

## Tools

- `add_attachment`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: proposal_id, file_url, file_base64, requirement.
  - Minor: String arguments with no constraint or example: proposal_id.
  - 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.
- `get_fax`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: job_id.
  - 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.
- `get_proposal`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: proposal_id.
  - Minor: String arguments with no constraint or example: proposal_id.
  - 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.
- `list_forms`: 37 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: state, limit, cursor.
  - Minor: No `required` list, so every argument is optional.
- `delete_form`: 38 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: form_id, dry_run.
  - Minor: String arguments with no constraint or example: form_id.
  - Minor: The meaning of the boolean argument dry_run is unclear.
  - Minor: Required identifiers whose description does not say where the value comes from: form_id. Name the tool or the place that returns it, or models look it up first.
- `inspect_pdf`: 38 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: artifact_id.
  - Minor: String arguments with no constraint or example: artifact_id.
  - Minor: Required identifiers whose description does not say where the value comes from: artifact_id. Name the tool or the place that returns it, or models look it up first.
- `suggest_mapping`: 38 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: form_id, csv_text, csv_url, dry_run.
  - Minor: String arguments with no constraint or example: form_id.
  - Minor: The meaning of the boolean argument dry_run is unclear.
  - Minor: Required identifiers whose description does not say where the value comes from: form_id. Name the tool or the place that returns it, or models look it up first.
- `get_batch`: 40 / 100
  - Major: Arguments without a description: batch_id, limit, cursor.
  - Minor: String arguments with no constraint or example: batch_id.
  - Minor: Required identifiers whose description does not say where the value comes from: batch_id. Name the tool or the place that returns it, or models look it up first.
- `fill_batch`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: form_id, csv_text, csv_url, mapping, retention, dry_run.
  - Minor: String arguments with no constraint or example: form_id.
  - Minor: The meaning of the boolean argument dry_run is unclear.
  - Minor: Required identifiers whose description does not say where the value comes from: form_id. Name the tool or the place that returns it, or models look it up first.
- `flatten_pdf`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: artifact_id.
  - Minor: String arguments with no constraint or example: artifact_id.
- `reorder_pages`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: artifact_id, order.
  - Minor: String arguments with no constraint or example: artifact_id.
  - Minor: Required identifiers whose description does not say where the value comes from: artifact_id. Name the tool or the place that returns it, or models look it up first.
- `rotate_pages`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: artifact_id, rotations.
  - Minor: String arguments with no constraint or example: artifact_id.
  - Minor: Required identifiers whose description does not say where the value comes from: artifact_id. Name the tool or the place that returns it, or models look it up first.
- `get_form`: 47 / 100
  - Major: Arguments without a description: form_id.
  - Minor: String arguments with no constraint or example: form_id.
  - Minor: Required identifiers whose description does not say where the value comes from: form_id. Name the tool or the place that returns it, or models look it up first.
- `verify_form`: 48 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: form_id, pdf_url, pdf_base64, dry_run.
  - Minor: String arguments with no constraint or example: form_id.
  - Minor: The meaning of the boolean argument dry_run is unclear.
  - Minor: Required identifiers whose description does not say where the value comes from: form_id. Name the tool or the place that returns it, or models look it up first.
- `delete_pages`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: artifact_id, pages.
  - Minor: String arguments with no constraint or example: artifact_id, pages.
  - Minor: Required identifiers whose description does not say where the value comes from: artifact_id. Name the tool or the place that returns it, or models look it up first.
- `extract_pages`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: artifact_id, pages.
  - Minor: String arguments with no constraint or example: artifact_id, pages.
  - Minor: Required identifiers whose description does not say where the value comes from: artifact_id. Name the tool or the place that returns it, or models look it up first.
- `get_job`: 50 / 100
  - Major: Arguments without a description: job_id.
  - 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.
- `merge_pdf`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: sources.
- `commit_proposal`: 53 / 100
  - Major: Arguments without a description: proposal_id, values, confirm, policy, package, dry_run.
  - Minor: String arguments with no constraint or example: proposal_id.
  - Minor: The meaning of the boolean argument package is unclear.
  - Minor: The meaning of the boolean argument dry_run is unclear.
  - 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.
- `send_fax`: 53 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: to, pdf_url, pdf_base64, job_id, form_id, artifact_id, sources, dry_run.
  - Minor: String arguments with no constraint or example: to.
  - Minor: The meaning of the boolean argument dry_run is unclear.
- `compose_pdf`: 55 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: sources.
- `fill_form`: 55 / 100
  - Major: Arguments without a description: form_id, values, flatten, retention, dry_run.
  - Minor: String arguments with no constraint or example: form_id.
  - Minor: The meaning of the boolean argument flatten is unclear.
  - Minor: The meaning of the boolean argument dry_run is unclear.
- `create_form`: 57 / 100
  - Major: Arguments without a description: pdf_url, pdf_base64, library, title, retention, dry_run.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument dry_run is unclear.
- `get_usage`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
- `find_form`: 58 / 100
  - Major: Arguments without a description: query, limit, cursor.
  - Minor: String arguments with no constraint or example: query.
- `read_form`: 60 / 100
  - Major: Arguments without a description: pdf_url, pdf_base64, form_id, dry_run.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument dry_run is unclear.
- `fill_form_from_context`: 62 / 100
  - Major: Arguments without a description: form_id, pdf_url, pdf_base64, library, context_text, context_urls, policy, retention, dry_run.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument dry_run is unclear.
- `prepare_form`: 62 / 100
  - Major: Arguments without a description: form_id, pdf_url, pdf_base64, library, context_text, context_urls, policy, retention, dry_run.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument dry_run is unclear.

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)
