You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have verified this would not be more appropriate as a feature request in a specific repository
I have searched existing discussions to avoid duplicates
Your Idea
I wonder what community thinks if there should be some spec, pattern or perhaps MCP server support related return types from MCP methods. Currently every MCP implementation can return anything that developer decided to return. As example, a simple create Slack channel MCP method might look like
``
def create_channel(ctx: Context, channel_name: str, is_private: bool = False) -> str:
"""Create a new channel by name."""
try:
response = slack_client.conversations_create(name=channel_name, is_private=is_private)
return response["channel"]["id"]
except SlackApiError as e:
return f"Error: `{e.response['error']}"
``
But return can be anything from response[channel] with the whole metadata, response[channel][id] or even any string message with “Channel {channel_name} was created successfully”.
If MCP tool responses are chained into complex flows with multi tool invocations, where tool calling input using outputs from previous methods then seems everyone implements different approaches. I wonder if community thinks there should be spec and perhaps MCP server support to provide a standard approach on tool chaining, where responses of one tool are used as inputs to another.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
Pre-submission Checklist
Your Idea
I wonder what community thinks if there should be some spec, pattern or perhaps MCP server support related return types from MCP methods. Currently every MCP implementation can return anything that developer decided to return. As example, a simple create Slack channel MCP method might look like
``
def create_channel(ctx: Context, channel_name: str, is_private: bool = False) -> str:
"""Create a new channel by name."""
try:
response = slack_client.conversations_create(name=channel_name, is_private=is_private)
return response["channel"]["id"]
except SlackApiError as e:
return f"Error: `{e.response['error']}"
``
But return can be anything from
response[channel]
with the whole metadata,response[channel][id]
or even any string message with“Channel {channel_name} was created successfully”.
If MCP tool responses are chained into complex flows with multi tool invocations, where tool calling input using outputs from previous methods then seems everyone implements different approaches. I wonder if community thinks there should be spec and perhaps MCP server support to provide a standard approach on tool chaining, where responses of one tool are used as inputs to another.
Scope
Beta Was this translation helpful? Give feedback.
All reactions