CtrlK
BlogDocsLog inGet started
Tessl Logo

finkel/mcp-tool-naming

Guidelines for naming MCP tools, describing parameters, and documenting tools in a language- and framework-agnostic manner

97

1.02x
Quality

Pending

Does it follow best practices?

Impact

97%

1.02x

Average score across 5 eval scenarios

SecuritybySnyk

Pending

The risk profile of this skill

Overview
Eval results
Files

criteria.jsonevals/scenario-2/

{
  "context": "Tests whether the agent follows MCP parameter documentation guidelines: using generic type names, including constraints and examples, specifying units, documenting validation rules, providing default values, and including error messages and valid/invalid examples.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Generic type names",
      "description": "Parameter types use generic names (string, integer, boolean, array, object) not language-specific types (str, int, bool, etc.)",
      "max_score": 16
    },
    {
      "name": "Constraint documentation",
      "description": "Parameter descriptions include constraints (e.g., '1-100', 'must be valid email', 'enum values: A, B, C') not just in type definitions",
      "max_score": 16
    },
    {
      "name": "Example values",
      "description": "Complex parameters include example values showing expected format",
      "max_score": 12
    },
    {
      "name": "Unit specification",
      "description": "Parameters with units specify them clearly (e.g., timeout_ms, size_bytes, distance_meters)",
      "max_score": 12
    },
    {
      "name": "Validation rules",
      "description": "All validation rules (min/max, patterns, required formats) are documented in parameter descriptions",
      "max_score": 12
    },
    {
      "name": "Default values",
      "description": "Optional parameters document their default values",
      "max_score": 12
    },
    {
      "name": "Error messages",
      "description": "Documentation includes meaningful error messages for constraint violations",
      "max_score": 10
    },
    {
      "name": "Valid/invalid examples",
      "description": "Includes examples of both valid and invalid parameter values where appropriate",
      "max_score": 10
    }
  ]
}

tile.json