Skip to main content
Glama

Overriding MCP tool name, description, and input schema

Written by on .

changelog
mcp

  1. The Problem
    1. Existing Solutions
      1. Tool Overrides
        1. What Can Be Overridden
        2. Example: Overriding Tool Description
          1. Next Steps

            The Problem

            So let's say that you found a server that you want to use, e.g., mcp-ping. The server is working fine, but the tools of the server have sub-par name, description or input schema, making it hard to invoke the server when you want.

            What can you do?

            Existing Solutions

            Well, up to now, the best solution was to fork the server and update the code to use whatever name, description or input schema for tools that you desire. But then you also have to maintain the fork and figure out how to deploy the server, and that's a lot more work than it needs to be.

            That's where the tool overrides come in.

            Tool Overrides

            Tool overrides allow you to override MCP server attributes without modifying the server itself. Think of tool overrides as a proxy between the client and the MCP server.

            What Can Be Overridden

            • Tool name - Rename tools to be more intuitive (e.g., pingcheck_host_latency)
            • Tool description - Provide clearer or more detailed explanations
            • Input parameter descriptions - Clarify what each parameter does
            • Required/optional status - Make certain parameters optional or required
            • Default values - Set sensible defaults for parameters

            Example: Overriding Tool Description

            Going back to our original example the MCP ping server has the following tools:

            NameDescription
            pingPings a host and returns the result

            and ping has the following input schema:

            { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "host": { "description": "The hostname or URL to ping (e.g., 'google.com' or 'https://google.com')", "type": "string" } }, "required": [ "host" ], "type": "object" }

            Let's first deploy the server.

            Then once deployed,

            1. go to MCP server settings
            2. select MCP ping server
            3. select ping tool
            4. provide "Description Override"

            Description Override Example:

            Sends ICMP ECHO_REQUEST to network hosts.

            Use this tool any time user asks to know latency to a specific host.

            Save the changes, and that's it!

            Here is how the configuration looks like:

            Image

            If you are using Glama as MCP client, tool profiles are automatically refreshed. If you are using Glama as MCP server hosting via streamable HTTP or SSE, you might need to re-add MCP server connector for the changes to take the desired effect.

            Once the changes rollout, you can now connect to the server, and when you do, our MCP server proxy will override tools in discovery and when the tools are invoked.

            This allows you to customize already deployed MCP servers without needing to modify their code.

            Next Steps

            At the moment, overrides only work with servers hosted by Glama. However, we are working towards a universal solution that will allow to use Glama as an intermediatery for any MCP server (completely free of charge), including hosted endpoints, like those provided by Asana, Intercom, Atlassian, etc.

            If you have feedback or a feature request, drop an email to frank@glama.ai.

            Written by punkpeye (@punkpeye)