← Back to Tool Reference

MCP Server — Tool Reference

Discovery and execution tools provided directly by the Toolforest MCP server, available on every connection.

5 tools · auto-generated from the deployed toolkit

# execute_tool write

Execute a Toolforest tool with the given arguments.

Full description
Execute a Toolforest tool with the given arguments.

Call this only after confirming the tool exists via list_toolkit_tools and constructing arguments that match its input schema. Do NOT call with a tool name you have not confirmed.

Returns: the tool's output. If the result contains an error, verify the tool name and arguments.
Parameter Type Required Description
tool_name string Yes Exact tool name as returned by list_toolkit_tools.
args object Yes Arguments matching the tool's input schema.
Parameter schema (JSON)
{
  "type": "object",
  "properties": {
    "tool_name": {
      "type": "string",
      "description": "Exact tool name as returned by list_toolkit_tools."
    },
    "args": {
      "type": "object",
      "description": "Arguments matching the tool's input schema.",
      "additionalProperties": true
    }
  },
  "required": [
    "tool_name",
    "args"
  ]
}

# get_tool_schemas read

Get full input schemas for specific tools.

Full description
Get full input schemas for specific tools.

Call this after list_toolkit_tools to get the detailed parameter definitions for tools you intend to use. Do NOT guess parameters — always fetch the schema first.

Returns: array of { name, description, inputSchema, outputSchema } for each requested tool.
Parameter Type Required Description
tools array<string> Yes List of tool names to fetch schemas for.
Parameter schema (JSON)
{
  "type": "object",
  "properties": {
    "tools": {
      "type": "array",
      "description": "List of tool names to fetch schemas for.",
      "items": {
        "type": "string",
        "description": "Tool name (e.g. google_docs-create_document)."
      }
    }
  },
  "required": [
    "tools"
  ]
}
Result schema (JSON)
{
  "type": "object",
  "properties": {
    "tools": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "inputSchema": {
            "type": "object"
          },
          "outputSchema": {
            "type": "object"
          }
        },
        "required": [
          "name",
          "description",
          "inputSchema"
        ]
      }
    }
  },
  "required": [
    "tools"
  ],
  "additionalProperties": false
}

# list_additional_toolkits read

List Toolforest toolkits available to connect but not yet authorized.

Full description
List Toolforest toolkits available to connect but not yet authorized.

Call this when a needed toolkit is NOT in the list_toolkits response. Toolforest is continuously expanding — new toolkits may be available.

Returns: array of { name, description } for each available-but-not-connected toolkit.

After calling: if the needed toolkit appears, direct the user to app.toolforest.io to connect and authorize it. If it does not appear, the capability is not yet available on Toolforest.

No parameters.

Parameter schema (JSON)
{
  "type": "object",
  "properties": {}
}
Result schema (JSON)
{
  "type": "object",
  "properties": {
    "toolkits": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "description"
        ]
      }
    }
  },
  "required": [
    "toolkits"
  ],
  "additionalProperties": false
}

# list_toolkit_tools read

List all available tools for a specific Toolforest toolkit.

Full description
List all available tools for a specific Toolforest toolkit.

Call this after list_toolkits confirms the toolkit is connected, and before calling execute_tool. Do NOT call execute_tool with a tool name you have not confirmed exists.

Returns: array of tools with { name, description, kind } for each tool — descriptions only, no input schemas.

After calling: identify the tools you need, then call get_tool_schemas with those tool names to get their full input schemas before calling execute_tool.
Parameter Type Required Description
toolkit string Yes Exact toolkit name as returned by list_toolkits.
Parameter schema (JSON)
{
  "type": "object",
  "properties": {
    "toolkit": {
      "type": "string",
      "description": "Exact toolkit name as returned by list_toolkits."
    }
  },
  "required": [
    "toolkit"
  ]
}
Result schema (JSON)
{
  "type": "object",
  "properties": {
    "tools": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "kind": {
            "type": "string",
            "enum": [
              "read",
              "write",
              "destructive"
            ]
          },
          "inputSchema": {
            "type": "object"
          }
        },
        "required": [
          "name",
          "description",
          "kind"
        ]
      }
    }
  },
  "required": [
    "tools"
  ],
  "additionalProperties": false
}

# list_toolkits read

List connected Toolforest toolkits with their names and descriptions.

Full description
List connected Toolforest toolkits with their names and descriptions.

Call this first when the user asks about a connected service or when you are unsure which toolkit handles a task. Do NOT guess toolkit names from pretrained knowledge.

Returns: array of { name, description } for each connected toolkit.

After calling: if the relevant toolkit is in the list, call list_toolkit_tools with that toolkit name to get its available tools before executing anything. If the needed toolkit is missing, call list_additional_toolkits to see what can be connected, then direct the user to app.toolforest.io to authorize it.

No parameters.

Parameter schema (JSON)
{
  "type": "object",
  "properties": {}
}
Result schema (JSON)
{
  "type": "object",
  "properties": {
    "toolkits": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "description"
        ]
      }
    }
  },
  "required": [
    "toolkits"
  ],
  "additionalProperties": false
}