-
Notifications
You must be signed in to change notification settings - Fork 165
Adding MCP call (via HTTP) #1116
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you! I have a few questions if you don't mind.
|:--|:---:|:---:|:---| | ||
| method | `string` | `yes` | The MCP JSON-RPC method to send.<br>*Supported values are: `initialize`, `notifications/initialized`, `prompts/list`, `prompts/get`, `notifications/prompts/list_changed`, `resources/list`, `resources/read`, `resources/templates/list`, `notifications/resources/list_changed`, `tools/list`, `tools/call`, `notifications/tools/list_changed`, `logging/setLevel`, and `notifications/message`* | | ||
| server | `string`\|[`endpoint`](#endpoint) | `yes` | An URI or an object that describes the MCP server to call.<br>| | ||
| parameters | `map` <br> `string` | `no` | The parameters for the MCP RPC method. For the `initialize` method, runtimes must default `protocolVersion` to the used version.<br>*Can be an object or a direct runtime expression.* | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is protocolVersion
a required parameter if I use initialize
? If so, can we rephrase?
| parameters | `map` <br> `string` | `no` | The parameters for the MCP RPC method. For the `initialize` method, runtimes must default `protocolVersion` to the used version.<br>*Can be an object or a direct runtime expression.* | | |
| parameters | `map` <br> `string` | `no` | The parameters for the MCP RPC method. For the `initialize` method, runtimes must set the `protocolVersion` parameter to the used version.<br>*Can be an object or a runtime expression.* | |
Also, if the user does not provide it, I understand from your writing that the runtime will append this parameter. It comes from where?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, the initialization phase MUST be the first interaction between MCP client and server, and include 'protocolVersion'. The client sends its supported version in the initialize request, and if the server supports it, it responds with the same version. It should be mentioned in the MCP client's specification. I assume if the runtime supports MCP, it should have the supported version. Do you suggest changing any part?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should enforce a minimum protocol version that runtimes MUST implement.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suggest to support the latest version (i.e., 2025-06-18) or the one before that (2025-03-26).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1 for the latest version.
Signed-off-by: amin-nikanjam <[email protected]>
Signed-off-by: amin-nikanjam <[email protected]>
Signed-off-by: amin-nikanjam <[email protected]>
@amin-nikanjam Could you please sign-off your commits? |
Done! |
@amin-nikanjam DCO is still not passing. Please follow the steps enumerated in the following link to ensure it checks: https://github.com/serverlessworkflow/specification/pull/1116/checks?check_run_id=49885563716 |
Signed-off-by: amin-nikanjam <[email protected]>
@amin-nikanjam Why are we not supporting stdio transport, too? I feel it is but trivial to add support for it, isn't it? |
Right, we are not supporting the stdio now. While in MCP spec it is clarified that "Clients SHOULD support stdio whenever possible", we can add it. |
@amin-nikanjam apart from adding |
Signed-off-by: amin-nikanjam <[email protected]>
Signed-off-by: amin-nikanjam <[email protected]>
Signed-off-by: amin-nikanjam <[email protected]>
Co-authored-by: Ricardo Zanini <[email protected]> Signed-off-by: amin-nikanjam <[email protected]>
Adding the description to examples. Signed-off-by: amin-nikanjam <[email protected]>
Testing a fix Signed-off-by: amin-nikanjam <[email protected]>
Signed-off-by: amin-nikanjam <[email protected]>
Please specify parts of this PR update:
Discussion or Issue link:
What this PR does:
Additional information: