Step 4 of 5

# Tool config

Name your tool, write the LLM-facing description, and define the input/output schemas. The description is the primary signal the model uses when deciding whether to call this tool.

Tool identity
Machine-readable name and LLM-facing description
Tool name required
Machine-readable identifier used in MCP tool calls. Only lowercase letters, numbers and underscores. Cannot be changed after publishing.
Display name required
Human-readable name shown in the console and audit log.
Tool title (optional)
Short imperative sentence shown in the MCP tool manifest.
Description required Creates a new lead record in the CRM from the provided contact details. Use this tool when the user wants to add a new prospect or contact. Returns the new lead ID and creation timestamp on success.
LLM-facing description. Be precise — this is the primary signal the model uses to decide whether to invoke this tool.
Writing effective descriptions
Start with a verb ("Creates", "Fetches", "Updates"). Mention key input requirements. Describe what a successful response looks like. Avoid vague phrasing like "handles" or "manages". See description best practices →
Input schema
Parameters the LLM passes when calling this tool
JSON Schema draft-07
json / input-schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "required": ["first_name", "last_name", "email"], "properties": { "first_name": { "type": "string", "description": "Contact first name" }, "last_name": { "type": "string", "description": "Contact last name" }, "email": { "type": "string", "format": "email", "description": "Primary contact email address" }, "company": { "type": "string", "description": "Company or organisation name" }, "phone": { "type": "string", "description": "Phone number in E.164 format" }, "source": { "type": "string", "enum": ["web","api","import"], "default": "api" } }, "additionalProperties": false }
Output schema
Shape of the data returned to the LLM after a successful call
JSON Schema draft-07
json / output-schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "lead_id": { "type": "string", "description": "Unique identifier of the created lead" }, "status": { "type": "string", "description": "Initial lead status assigned by the CRM" }, "created_at": { "type": "string", "format": "date-time" }, "owner_id": { "type": "string", "description": "CRM user ID of the assigned owner" } } }
Schemas are protocol-agnostic
These schemas describe the MCP contract, not the upstream wire format. Field mapping in Step 5 translates between the two. You can upload a sample JSON response to auto-generate the output schema.