Hi Mr.Kai,
Thanks for your question — I can see how this can be confusing, especially when working with an MCP tool that contains multiple tools and you only want to customize the message for one of them. I appreciate you calling out the specifics of what you’re trying to achieve. I’m happy to help clarify which parameter should be used and how to target a single tool correctly.
For regular tools, you would typically configure custom messages using the tool's function name. However, with MCP tools, the situation is more complex because:
1.
The MCP tool itself serves as a configuration mechanism
2.
Individual tools are dynamically fetched from the MCP server at runtime
3.
Tool definitions come from the MCP server, not your Vapi configuration
Potential Approaches
Option 1: Tool Function Name
If you want to configure a message for a specific tool within your MCP server, you would likely use the
function name that the MCP server exposes:
{ "toolMessageStart": "I'm now checking your calendar...", "toolName": "get_calendar_events" // The actual function name from MCP server}
Option 2: MCP Server Tool ID
Alternatively, it might use the tool identifier as defined by your MCP server:
{ "toolMessageStart": "Let me search for that information...", "toolId": "search_tool" // As defined in your MCP server's tool list}
The Challenge with MCP Tools
The key issue is that
MCP tools are dynamically loaded, so Vapi fetches the tool definitions from your MCP server when the call starts. This means:
• Tool names/IDs come from your MCP server
• Vapi may not know about specific tools until runtime
• Custom messages might need to be configured differently