Skip to content

Conversation

amin-nikanjam
Copy link

@amin-nikanjam amin-nikanjam commented Sep 5, 2025

Please specify parts of this PR update:

  • Specification
  • Schema
  • Examples
  • Extensions
  • Use Cases
  • Community
  • CTK
  • Other

Discussion or Issue link:

What this PR does:

Additional information:

Copy link
Member

@ricardozanini ricardozanini left a 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.* |
Copy link
Member

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?

Suggested change
| 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?

Copy link
Author

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?

Copy link
Member

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.

Copy link
Author

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).

Copy link
Member

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]>
@cdavernas
Copy link
Member

@amin-nikanjam Could you please sign-off your commits?

@amin-nikanjam
Copy link
Author

@amin-nikanjam Could you please sign-off your commits?

Done!

@cdavernas
Copy link
Member

@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]>
@cdavernas
Copy link
Member

@amin-nikanjam Why are we not supporting stdio transport, too? I feel it is but trivial to add support for it, isn't it?

@amin-nikanjam
Copy link
Author

amin-nikanjam commented Sep 9, 2025

@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.

@ricardozanini
Copy link
Member

@amin-nikanjam apart from adding stido, can you please check the CI?

Signed-off-by: amin-nikanjam <[email protected]>
amin-nikanjam and others added 6 commits September 9, 2025 15:22
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]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants