MCP Server

The Model Context Protocol (MCP) is a standard that enables AI applications to connect to external systems.
In VTENEXT, this standard is used to expose REST APIs, custom methods and processes to AI applications, to enable them to interact with the CRM itself.

Currently VTENEXT has set up a basic MCP server with the main webservices (referred here as tools) that ensure a wide extent of interoperability with the CRM; the user can choose to extend this server by registering other webservices to it, or even create custom tools to be used with the servers. Be mindful that, with roughly more than 30 tools registered to a MCP server, the accuracy of the server might degrade.

In VTENEXT, the MCP servers are fundamentally handled like any other webservice, but they have their own SDK methods to work with them.

Tools registered in the base MCP server (REST name: mcp)

SDK methods for working with MCP servers

Setting up a MCP server

SDK::setMcpServer(string $name, ?string $description = null, bool $isActive = true, ?string $operationName = null)

This function returns the id of the MCP server if created successfully, and false otherwise.

Registering a tool to a MCP server

SDK::registerMcpTool(string $mcp, string $name, string $type, ?string $tool_name = null, ?string $description = null)

If successful, this function returns an array with the id of the MCP server and the id of the webservice method/custom tool; this function returns false on failure.

Defining a custom tool for MCP servers

SDK::setMcpTool(string $name, string $handlerFilePath, ?string $handlerMethodName = null, ?string $description = null, ?array $inputSchema = null, ?array $outputSchema = null)

$inputSchema and $outputSchema follow the JSON Schema 2020-12 Specification.

N.B.: the function should always return an array and, if possible, the array should be associative.

Removing a MCP server

SDK::unsetMcpServer(string $mcp, bool $force = false)

This function returns true on success and false on failure.

Deregistering a tool from a MCP server

SDK::unregisterMcpTool(string $mcp, string $name, string $type)

This function returns true on success and false on failure.

Deregistering a custom tool

SDK::unsetMcpTool(string $name)

This function returns true on success and false on failure.


Revision #5
Created 2026-06-25 14:59:48 UTC by m.maporti
Updated 2026-07-08 13:27:53 UTC by f.fabris