Skip to main content

What is a Tool?

A tool is the core building block of GetMCP. When an AI client wants to take an action (fetch data, create a record, send a message), it calls a tool. Each tool maps to a specific HTTP API endpoint. Tools are defined by:
  1. A name and description that help the AI decide when to use the tool
  2. An endpoint URL and HTTP method to call
  3. An input schema defining what parameters the AI can pass
  4. Authentication credentials for the target API
  5. Parameter mapping that controls where arguments go in the request
Tool Editor

Tool Execution Pipeline

When an AI client calls a tool, the request flows through this pipeline:
MCP Request (JSON-RPC tools/call)
  → StreamableHttp transport
    → JsonRpcRouter
      → ToolsCallHandler (validate args against schema)
        → ToolExecutor
          → ParameterResolver (map args → HTTP request)
          → AuthInjector (inject credentials)
          → HttpClient (call external API)
          → ResponseTransformer (API response → MCP content)
        ← MCP Response

Tool Properties

PropertyDescription
NameMachine-readable identifier used by AI clients to call the tool (e.g., get_weather)
DescriptionHuman-readable explanation; AI uses this to decide when to call the tool
Endpoint URLThe HTTP URL to call (supports {param} path placeholders)
HTTP MethodGET, POST, PUT, PATCH, or DELETE
Input SchemaJSON Schema defining accepted parameters
Auth TypeAuthentication for the outbound API call
Parameter MappingWhere to inject each input parameter
HeadersCustom HTTP headers to include in the request
Cache TTLCache response for N seconds (0 = no cache)
TimeoutMaximum request wait time in seconds (default: 30)
Retry CountNumber of retries on failure
Statusactive or paused

Input Schema

Tools use JSON Schema to define their inputs. This lets AI clients understand what parameters to pass and enables automatic validation. Example input schema:
{
  "type": "object",
  "properties": {
    "city": {
      "type": "string",
      "description": "The city name"
    },
    "units": {
      "type": "string",
      "enum": ["metric", "imperial"],
      "default": "metric",
      "description": "Temperature units"
    }
  },
  "required": ["city"]
}

Parameter Mapping

Each input parameter can be mapped to a different part of the HTTP request:
MappingDescriptionExample
PathReplaces {param} in the URLhttps://api.example.com/users/{user_id}
QueryAppends as ?param=valuehttps://api.example.com/search?q=value
BodyIncluded in the JSON request bodyPOST/PUT requests
HeaderSent as a custom HTTP headerX-Custom-Header: value

Authentication

Each tool can have its own outbound authentication, or inherit from the server’s test credentials. Supported auth types:
TypeDescription
noneNo authentication (public APIs)
api-keyAPI key sent in a header, query param, or custom location
bearerAuthorization: Bearer <token>
basicBase64-encoded username:password
oauth2Client credentials flow with automatic token refresh
All credentials are encrypted at rest using libsodium and decrypted only in memory during execution.

Naming Conventions

Tool names follow MCP conventions and are typically snake_case. Good examples:
  • get_user — fetch a user record
  • create_invoice — create a new invoice
  • search_products — search a product catalog
  • send_email — send an email message
Write detailed, specific descriptions. The AI uses your description to decide when and how to call the tool. Vague descriptions lead to incorrect or missed tool calls.

Testing Tools

Use the built-in test panel to verify tool behavior before connecting AI clients:
  1. Click the Test button on any tool
  2. Enter sample argument values as a JSON object
  3. Click Run Test to execute against the real API
  4. Review the response, status code, and response time
Tool Test Panel

cURL Import

Already have a working API request? Import it directly:
  1. Copy a curl command from your terminal or API docs
  2. Click Import from cURL in the tool editor
  3. GetMCP parses the URL, method, headers, and body automatically
See the cURL Import guide for details.

Drag & Drop Reordering

Tools are presented to AI clients in the order defined in GetMCP. Use drag-and-drop to control which tools appear first in the tools/list response.