# Toofi Dental Planning MCP (app.toofi/dental-planning): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/app.toofi%2Fdental-planning/versions/latest)
- Connected to: https://toofi.app/mcp
- Scoring rules: v2
- Tools: 32
- Average: 49.6 / 100 (Cloudy)
- Near-identical pairs: 7

This page shows how Toofi Dental Planning MCP (app.toofi/dental-planning)'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: 32 tools. Above 25, models start to tell tools apart less well.

## Tools

- `get_demo_patient`: 39 / 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: agent_id.
  - Minor: The description mentions none of its 3 or more arguments.
- `get_patient`: 39 / 100
  - Major: The description only restates the name (9 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: agent_id.
  - Minor: The description mentions none of its 3 or more arguments.
- `get_plan`: 39 / 100
  - Major: The description only restates the name (9 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: agent_id.
  - Minor: The description mentions none of its 3 or more arguments.
- `get_status`: 39 / 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: agent_id.
  - Minor: The description mentions none of its 3 or more arguments.
- `list_audit_receipts`: 39 / 100
  - Major: The description only restates the name (9 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: agent_id.
  - Minor: The description mentions none of its 3 or more arguments.
- `list_demo_plans`: 39 / 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: agent_id.
  - Minor: The description mentions none of its 3 or more arguments.
- `list_patients`: 39 / 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: agent_id.
  - Minor: The description mentions none of its 3 or more arguments.
- `list_plans`: 39 / 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: agent_id.
  - Minor: The description mentions none of its 3 or more arguments.
- `generate_treatment_plan_draft`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: patient, patient.patient_ref, patient.display_name, patient.age_band, clinical_findings, procedures, procedures[].procedure_id, procedures[].label, procedures[].tooth, procedures[].quantity, procedures[].notes.
  - Minor: String arguments with no constraint or example: agent_id, patient_ref, patient.patient_ref, patient.display_name, patient.age_band, procedures[].procedure_id, procedures[].label, procedures[].tooth, procedures[].notes.
  - Minor: The description mentions none of its 3 or more arguments.
- `get_dental_plan_operation_status`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: presentation, presentation.include_pdf, presentation.build_options, presentation.build_options.installment.
  - Minor: String arguments with no constraint or example: agent_id, session_token, toofi_agent_key, presentation.language.
  - Minor: The meaning of the boolean argument presentation.include_pdf is unclear.
- `import_price_csv`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: dry_run.
  - Minor: String arguments with no constraint or example: agent_id, csv_text.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: The meaning of the boolean argument dry_run is unclear.
- `generate_price_estimate`: 46 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: agent_id.
  - Minor: The description mentions none of its 3 or more arguments.
- `start_pano_markup`: 46 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: agent_id.
  - Minor: The description mentions none of its 3 or more arguments.
- `discover_capabilities`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: agent_id.
  - Minor: The description mentions none of its 3 or more arguments.
- `get_agent_credit_balance`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: agent_id, session_token, toofi_agent_key.
  - Minor: The description mentions none of its 3 or more arguments.
- `get_demo_plan`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: agent_id.
  - Minor: The description mentions none of its 3 or more arguments.
- `get_demo_presentation`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: agent_id.
  - Minor: The description mentions none of its 3 or more arguments.
- `example_pl`: 51 / 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: agent_id.
  - Minor: The description mentions none of its 3 or more arguments.
- `example_sk`: 51 / 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: agent_id.
  - Minor: The description mentions none of its 3 or more arguments.
- `example_uk`: 51 / 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: agent_id.
  - Minor: The description mentions none of its 3 or more arguments.
- `get_agent_billing_quote`: 51 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: units, currency.
  - Minor: String arguments with no constraint or example: agent_id.
  - Minor: The description mentions none of its 3 or more arguments.
- `claim_agent_checkout_key`: 52 / 100
  - Minor: String arguments with no constraint or example: agent_id.
  - Minor: The description mentions none of its 3 or more arguments.
- `preview_plan_draft_schema`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: procedures.
  - Minor: String arguments with no constraint or example: agent_id.
  - Minor: The description mentions none of its 3 or more arguments.
- `lookup_dental_procedures`: 55 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: agent_id, q, text, language.
- `generate_patient_presentation`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: agent_id.
  - Minor: The description mentions none of its 3 or more arguments.
- `list_demo_patients`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: agent_id.
  - Minor: The description mentions none of its 3 or more arguments.
- `generate_dental_treatment_plan_pdf`: 60 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: patient, clinical_input, clinical_input.teeth, clinical_input.teeth[].implant_planned, clinical_input.objectives, clinical_input.constraints, presentation, presentation.include_pdf, presentation.build_options, presentation.build_options.installment, ai_preset, ai_preset.preset.
  - Minor: String arguments with no constraint or example: agent_id, session_token, toofi_agent_key, patient.language, clinical_input.teeth[].root, clinical_input.teeth[].implant, clinical_input.teeth[].supra, clinical_input.teeth[].gum, clinical_input.teeth[].mobility, clinical_input.teeth[].periapical, clinical_input.teeth[].problem, presentation.language, ai_preset.provider.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: The meaning of the boolean argument clinical_input.teeth[].implant_planned is unclear.
  - Minor: The meaning of the boolean argument presentation.include_pdf is unclear.
- `example_en`: 62 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: agent_id.
  - Minor: The description mentions none of its 3 or more arguments.
- `example_ru`: 62 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: agent_id.
  - Minor: The description mentions none of its 3 or more arguments.
- `example_ua`: 62 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: agent_id.
  - Minor: The description mentions none of its 3 or more arguments.
- `create_agent_checkout_session`: 64 / 100
  - Minor: Arguments without a description: units.
  - Minor: String arguments with no constraint or example: agent_id, email.
  - Minor: The description mentions none of its 3 or more arguments.
- `get_example_result`: 71 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: agent_id, locale.
  - Minor: The description mentions none of its 3 or more arguments.

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)
