rare-sapphire
rare-sapphire4w ago

MCP connects but functions seem unavailable or not called

I've connected vapi to our own MCP (based on @vercel/mcp-adapter package), which works perfectly fine for many other use cases so far. It seems to connect, but I see no activity after the initial connection. And the agent seems unable to do anything in relation to the MCP server. On start of conversation I see these logs on my server:
{
type: 'REQUEST_COMPLETED',
method: 'initialize',
result: {
method: 'initialize',
params: {
protocolVersion: '2025-03-26',
capabilities: [Object],
clientInfo: [Object]
},
jsonrpc: '2.0',
id: 0
},
duration: 4,
status: 'success',
sessionId: undefined,
requestId: 'c3dbee07-d10e-4a52-adfa-290f00334b31',
timestamp: 1754560605791
}
{
type: 'REQUEST_COMPLETED',
method: 'tools/list',
result: { method: 'tools/list', jsonrpc: '2.0', id: 1 },
duration: 2,
status: 'success',
sessionId: undefined,
requestId: 'e5002aa0-2c7a-4acd-ac63-b53c320064ac',
timestamp: 1754560606618
}
{
type: 'REQUEST_COMPLETED',
method: 'initialize',
result: {
method: 'initialize',
params: {
protocolVersion: '2025-03-26',
capabilities: [Object],
clientInfo: [Object]
},
jsonrpc: '2.0',
id: 0
},
duration: 4,
status: 'success',
sessionId: undefined,
requestId: 'c3dbee07-d10e-4a52-adfa-290f00334b31',
timestamp: 1754560605791
}
{
type: 'REQUEST_COMPLETED',
method: 'tools/list',
result: { method: 'tools/list', jsonrpc: '2.0', id: 1 },
duration: 2,
status: 'success',
sessionId: undefined,
requestId: 'e5002aa0-2c7a-4acd-ac63-b53c320064ac',
timestamp: 1754560606618
}
These then repeat at the END of the conversation. But there is then ZERO activity on the server at all when I try to trigger the calls (even explicitely). I've tried both SSE and SHTTP but the same behaviour happens for both. A reference call ID: 43849ee5-6eea-47c3-8589-429a9045f299
2 Replies
Vapi Support Bot
Suggestion:
Check that your MCP server's tools/list response includes a valid array of tool definitions with proper schemas, as Vapi requires these to inject tools into the assistant's context. For example, your response should look like:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"tools": [
{
"name": "your_function",
"description": "What this function does",
"parameters": { "type": "object", "properties": { /* ... */ } }
}
]
}
}
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"tools": [
{
"name": "your_function",
"description": "What this function does",
"parameters": { "type": "object", "properties": { /* ... */ } }
}
]
}
}
If the tools array is empty or missing required fields, the assistant will not be able to call any functions.
See Vapi MCP Tool documentation for required structure. Source: - Model Context Protocol (MCP) Integration
⤵️ Mention @Vapi Support Bot for follow-ups 🐥
Sahil
Sahil4w ago
I've escalated your issue to our executives for their attention. Thank you for your patience, we appreciate your understanding and will keep you updated..

Did you find this page helpful?