Skip to content

MCPs

The MCPs page is where you configure and manage LLM Conversations. MCPs are a powerful feature that allows an AI agent to handle complex, multi-step tasks that may involve using external tools, running local scripts, or calling remote APIs over a series of interactions.

Prerequisites

Before you can manage MCPs, ensure the following conditions are met:

  1. You must be logged into the application.
  2. Your user role must have the necessary permissions (owner, admin, editor, or mcps).
  3. You must have an Account selected from the sidebar.
  4. You must have an Agent selected from the sidebar. MCPs are managed on a per-agent basis.

  5. IMPORTANT NOTE: The PinionAI MCP process utilizes the Gemini LLM for its core basic communication with MCP servers. You will need to ensure that you have configured Gemini if you wish to use MCP configurations.

Page Overview

The MCPs page is divided into three main sections:

  1. Add MCP: An expandable form for creating new MCPs.
  2. MCPs List: A list of existing MCPs associated with the selected agent.
  3. Assign MCP: A tool to associate an existing MCP (from your account) with the current agent.

At the bottom of the page, a Quick Help expander provides more technical details and examples.

Creating a New MCP

To create a new MCP, click on the "New MCP" expander to reveal the creation form.

Helper Buttons

  • Add Variable: Opens a dialog to create a new variable that can be used within your MCP configurations.
  • Lookup Names: Opens a dialog to look up the exact names of Prompts, Connectors, and Variables available for the selected agent.

Configuration Fields

Here is a breakdown of the fields in the "New MCP" form:

  • MCP Name: Crucially important! This is the name of the Tool that the MCP server will execute. This is how the MCP will be identified.
  • Description: Crucially important! A detailed description of what the MCP does, what its inputs are, and what it returns. The LLM uses this description to decide when to use this MCP.
  • Status: A toggle to enable (True) or disable (False) the MCP.
  • Agent(s): A multi-select dropdown to associate this MCP with one or more agents.
  • MCP Server Group: If enabled, this MCP acts as a container for other MCPs. When this group is selected by the LLM, it will then choose the best MCP from within the group. This is useful for grouping related tools (e.g., a "Google Maps Tools" group containing MCPs for "get directions" and "find location").
  • MCPs in Server Group: If the MCP Server Group is enabled, select the individual MCPs that belong to this group. Note: A server group cannot contain another server group.
  • Result Variable: The name of a session variable where the final result or output of the MCP will be stored.
  • Start Prompt: Not always needed. The name of a prompt that can trigger this MCP, or be used in prompt MCP action types. This can be the first 'prompt' step in a multi-turn conversation with an MCP server.
  • Transport: The communication protocol used to interact with the MCP's underlying process.
  • stdio: For running local command-line standard IO functionality. The application communicates with the script via its standard input and output.
  • http / streamable-http: For making requests to a remote HTTP/S server. streamable-http is recommended for most services that stream responses.
  • URL: (For http transports) The endpoint URL for the remote MCP server. You can embed variables like {var["variableName"]}.
  • Connector: (For http transports) An optional OAuth Connector to use for authenticating with the remote server.
  • Header (JSON): (For http transports) A JSON object of HTTP headers to include in the request.
  • Parameters (JSON): A JSON object defining the parameters for the MCP. For http transports, this often forms the request body. For stdio, these parameters are passed to the script. You can embed variables like {var["variableName"]}.
  • Command: (For stdio transport) The executable command to run (e.g., python, node).
  • Arguments: (For stdio transport) A comma-separated list of arguments to pass to the command. You can embed variables here.
  • Environment Variables (JSON): (For stdio transport) A JSON object of environment variables to set for the command's process.
  • Working Directory: (For stdio transport) The directory from which to run the command.
  • Keep Alive: (For stdio transport) If enabled, the server process is kept running after the first request, which can be more efficient for frequent use.
  • Max Tool Turns: The maximum number of tool-use cycles the agent is allowed within a single conversation turn to resolve the user's request.
  • Initial Temperature & Tool Call Temperature: These sliders control the randomness of the LLM's responses. A lower value is more deterministic, while a higher value is more creative. You can set this independently for the initial response and subsequent tool-calling responses.

Once all fields are configured, click Create MCP.

Managing Existing MCPs

Below the "Add MCP" section, all MCPs associated with the currently selected agent are listed.

  • Each MCP is displayed in its own expander, showing its name, status, and associated agents in the title.
  • Expanding an MCP reveals all of its configured details.
  • On the right of each MCP's title bar, you will find two icons:
  • :material/edit: Edit: Click this to open the edit form for that MCP.
  • :material/delete: Delete: Click this to permanently delete the MCP. A confirmation will be required.

Editing an MCP

Clicking the Edit icon opens a form identical to the "Add MCP" form, but pre-populated with the selected MCP's data. You can modify any field and then click Save Changes to update the MCP or Cancel to discard your changes.

Assigning an MCP to an Agent

At the bottom of the page, you may see a form titled "Assign existing MCP to '[agent_name]':".

  • This tool is for associating an MCP that already exists in your account but is not yet assigned to the currently selected agent.
  • The dropdown lists all such available MCPs.
  • Select an MCP from the list and click Assign MCP to link it to the current agent.

Configuration Examples

Here are some practical examples of how to configure an MCP.

This MCP calls an external web service to check for domain name availability.

# Description:
Check domain name availability

# Transport
streamable-http

# URL
https://do-remote-mcp-server-template-8cs8k.ondigitalocean.app/mcp/

# Start Prompt:
domain search

# Result Variable:
domain_response

# Parameters (JSON):
{
"domain":"{var['domain_name']}"
}

Example 2: Local Python Script (Weather Forecast)

This MCP executes a local Python script to get the weather.

# Description:
Get weather forecast by city name and state.

# Transport
stdio

# Command
python

# Arguments:
./mcp_server/weather_server.py

# Parameters (JSON):
{
"city":"{var['city']}",
"state":"{var['state']}"
}

# Result Variable:
weather_response
  • MCP HTTP Transport Example: Example screenshot for an http mcp server. Intent Information Type

  • MCP HTTP STDIO Example: Example screenshot for an internal mcp server. Intent Fixed Type