[Question] Why different/non-standard mcp config schema? #290

Closed
opened 2026-02-16 17:26:05 -05:00 by yindo · 3 comments
Owner

Originally created by @24601 on GitHub (Jun 25, 2025).

Originally assigned to: @thdxr on GitHub.

First, great job on this, guys. Really incredible work and love opencode. Hope to contribute soon/where I can provide value.

I'm thinking about implementing https://github.com/intellectronica/ruler/issues/27#issuecomment-3006200480 (I'm not a maintainer/owner, just a guy who uses it who wants this package to have opencode support), and I'm curious/would like to know what led you guys to choose the config schema being as it is for MCP servers?

Because, I am deciding if I open a PR for https://github.com/intellectronica/ruler to add support for opencode's way of configuring MCP or spend that time opening a PR for opencode to standardize the way MCP config is done in opencode, instead, so I figure I would ask if there is a reason why it is how it is so I can choose which route to spend my contribution time against.

Thank you, and thank you for a great project here, it's really cool and really appreciate you guys making this OSS.

Originally created by @24601 on GitHub (Jun 25, 2025). Originally assigned to: @thdxr on GitHub. First, great job on this, guys. Really incredible work and love opencode. Hope to contribute soon/where I can provide value. I'm thinking about implementing https://github.com/intellectronica/ruler/issues/27#issuecomment-3006200480 (I'm not a maintainer/owner, just a guy who uses it who wants this package to have opencode support), and I'm curious/would like to know what led you guys to choose the config schema being as it is for MCP servers? Because, I am deciding if I open a PR for https://github.com/intellectronica/ruler to add support for opencode's way of configuring MCP or spend that time opening a PR for opencode to standardize the way MCP config is done in opencode, instead, so I figure I would ask if there is a reason why it is how it is so I can choose which route to spend my contribution time against. Thank you, and thank you for a great project here, it's really cool and really appreciate you guys making this OSS.
yindo closed this issue 2026-02-16 17:26:05 -05:00
Author
Owner

@thdxr commented on GitHub (Jun 25, 2025):

hmm i guess i wasn't aware there was a "standard" - i guess i'd have to understand where the standard derives its legitimacy

is it because it's how claude code structures things? or does it go beyond that

@thdxr commented on GitHub (Jun 25, 2025): hmm i guess i wasn't aware there was a "standard" - i guess i'd have to understand where the standard derives its legitimacy<br><br>is it because it's how claude code structures things? or does it go beyond that
Author
Owner

@24601 commented on GitHub (Jun 25, 2025):

hmm i guess i wasn't aware there was a "standard" - i guess i'd have to understand where the standard derives its legitimacyis it because it's how claude code structures things? or does it go beyond that

I meant standardize as in just how it's been used in the reference implementations. I'm not sure that they've formally said "clients must use this exact form" (and it's totally your guys' prerogative to do it however you want and I'll happy accept that, no doubt, and I'm not suggesting that just b/c anthropic does it like that doesn't make it right, only that consistency in config schema helps with the one of the goals of MCP itself around interop and lends for a good devex/UX IMO).

The MCP org/standards repos/sdk reference implementations all mention the "generally accepted" way/schema described in the modelcontextprotocol/modelcontextprotocol repo https://github.com/modelcontextprotocol/modelcontextprotocol/blob/0a4994aa36bd63cd817ba69062ebec77d4f991eb/docs/quickstart/client.mdx#L942

But, is it formally an obj in https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/schema/2025-03-26/schema.json? No. So if you guys are going your own way, it's no problem, can make adapters/translations no big deal.

Grateful for your guys' work and making it open, so thanks!

@24601 commented on GitHub (Jun 25, 2025): > hmm i guess i wasn't aware there was a "standard" - i guess i'd have to understand where the standard derives its legitimacyis it because it's how claude code structures things? or does it go beyond that I meant standardize as in just how it's been used in the reference implementations. I'm not sure that they've formally said "clients must use this exact form" (and it's totally your guys' prerogative to do it however you want and I'll happy accept that, no doubt, and I'm not suggesting that just b/c anthropic does it like that doesn't make it right, only that consistency in config schema helps with the one of the goals of MCP itself around interop and lends for a good devex/UX IMO). The MCP org/standards repos/sdk reference implementations all mention the "generally accepted" way/schema described in the `modelcontextprotocol/modelcontextprotocol` repo https://github.com/modelcontextprotocol/modelcontextprotocol/blob/0a4994aa36bd63cd817ba69062ebec77d4f991eb/docs/quickstart/client.mdx#L942 But, is it formally an obj in https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/schema/2025-03-26/schema.json? No. So if you guys are going your own way, it's no problem, can make adapters/translations no big deal. Grateful for your guys' work and making it open, so thanks!
Author
Owner

@24601 commented on GitHub (Jun 26, 2025):

Decided to just open PR for https://github.com/intellectronica/ruler to just handle/deal with the different format.

Thanks!

@24601 commented on GitHub (Jun 26, 2025): Decided to just open PR for https://github.com/intellectronica/ruler to just handle/deal with the different format. Thanks!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: anomalyco/opencode#290