Menuing
Tool Panel

Extension Tools,Overview

MCP Extension Tools Overview

The MCP Server supports extensible tool registration. Any Contensive addon collection can add new MCP tools without modifying the MCP Server source code. When Claude calls tools/list, it receives both the 15 built-in tools and any extension tools registered by installed collections.

How It Works

Extension tools use a hybrid architecture:

  1. Tool metadata is stored in the "MCP Tool Definitions" content definition. Each record describes one tool: its name, description, JSON input schema, and the GUID of the addon that implements it.
  2. Tool implementation is a standard Contensive addon whose Execute() method handles the tool logic.
  3. Registration happens automatically when your collection is installed. Data records in your collection XML insert rows into the MCP Tool Definitions table.
  4. Caching -- Extension tool definitions are cached for 5 minutes to reduce database overhead. After modifying tool definitions, wait for cache expiration or restart the application pool.

Architecture Diagram

Claude (AI Client)
    |
    | tools/list
    v
MCP Server (McpRemoteMethod)
    |
    +-- Static core tools (15 built-in, in-memory)
    |
    +-- Extension tools (from MCP Tool Definitions table, cached 5 min)
            |
            | tools/call "blog_post_list"
            v
        Lookup addonGuid from MCP Tool Definitions
            |
            v
        cp.Addon.Execute(addonGuid)
            |
            v
        Your Extension Addon (BlogMcpTools.cs)

What You Need to Create

To add MCP tools from your addon collection, you need:

  1. An addon class that extends AddonBaseClass and handles tool execution
  2. Data records in your collection XML that register tools in the MCP Tool Definitions table
  3. A reference to aoMcp.dll to use McpResponseHelper and McpUndoHelper