Skip to content

Add configuration for MCP JSON Rest bridge filter#43400

Open
paulhong01 wants to merge 7 commits intoenvoyproxy:mainfrom
paulhong01:mcp
Open

Add configuration for MCP JSON Rest bridge filter#43400
paulhong01 wants to merge 7 commits intoenvoyproxy:mainfrom
paulhong01:mcp

Conversation

@paulhong01
Copy link

Extension for supporting existing REST backends to function as MCP servers without native MCP support.

Part of #39174

Risk Level: none
Testing: n/a
Docs Changes: yes
Release Notes: n/a
Platform Specific Features: n/a

Signed-off-by: Shen-fong (Paul) Hung <paulhung@google.com>
@repokitteh-read-only
Copy link

Hi @paulhong01, welcome and thank you for your contribution.

We will try to review your Pull Request as quickly as possible.

In the meantime, please take a look at the contribution guidelines if you have not done so already.

🐱

Caused by: #43400 was opened by paulhong01.

see: more, trace.

@repokitteh-read-only
Copy link

CC @envoyproxy/coverage-shephards: FYI only for changes made to (test/coverage.yaml).
envoyproxy/coverage-shephards assignee is @RyanTheOptimist
CC @envoyproxy/api-shepherds: Your approval is needed for changes made to (api/envoy/|docs/root/api-docs/).
envoyproxy/api-shepherds assignee is @wbpcode
CC @envoyproxy/api-watchers: FYI only for changes made to (api/envoy/|docs/root/api-docs/).

🐱

Caused by: #43400 was opened by paulhong01.

see: more, trace.

@botengyao botengyao self-assigned this Feb 9, 2026
Signed-off-by: Shen-fong (Paul) Hung <paulhung@google.com>
Signed-off-by: Shen-fong (Paul) Hung <paulhung@google.com>
@tyxia tyxia self-assigned this Feb 10, 2026
Copy link
Member

@botengyao botengyao left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, thanks for raising this PR, exciting!

/wait

Signed-off-by: Shen-fong (Paul) Hung <paulhung@google.com>
Signed-off-by: Shen-fong (Paul) Hung <paulhung@google.com>
@paulhong01 paulhong01 temporarily deployed to external-contributors February 12, 2026 18:31 — with GitHub Actions Inactive
Signed-off-by: Shen-fong (Paul) Hung <paulhung@google.com>
Signed-off-by: Shen-fong (Paul) Hung <paulhung@google.com>
@paulhong01 paulhong01 requested a deployment to external-contributors February 12, 2026 19:04 — with GitHub Actions Waiting
Copy link
Member

@tyxia tyxia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your contribution! Left a high-level comment

Comment on lines +165 to +180
oneof pattern {
// Maps to HTTP GET.
string get = 1;

// Maps to HTTP PUT.
string put = 2;

// Maps to HTTP POST.
string post = 3;

// Maps to HTTP DELETE.
string delete = 4;

// Maps to HTTP PATCH.
string patch = 5;
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't prefer oneof. And this is more like an enum, right?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a tagged union, not an enum. These fields must carry a payload: the URL Path Template.

The structure get: "/v1/foo" concisely defines both the HTTP Method (via the field ID) and the Path (via the string value) in a single entry.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Get it. Thanks for the explanation.
Although we still could use an enum + string/path to complete same feature?

I personally think the API is fine. But our API style may inclined to no oneof and check it manually in the source code.

But if no oneof, for such many fields, it's not friendly to check them.

Cc @adisuissa WDYT?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. An enum + string path can also work. I personally think enum + string path is little bit verbose. Also, The oneof approach structurally guarantees that if a rule exists, the method is known.

That being said, I'm open to change if the reviewer/style guide has any preference. Let me know what you think. Thanks!

Copy link
Member

@wbpcode wbpcode left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this contribution. Could you add mark this API as WIP, then it's possible to change it with some feedback from actual practices?

@paulhong01
Copy link
Author

Thanks for this contribution. Could you add mark this API as WIP, then it's possible to change it with some feedback from actual practices?

Thanks for the review! work_in_progress = true is added in line15. Please let me know if there is any best practice I should follow to mark this API as WIP!

@paulhong01 paulhong01 requested a review from wbpcode February 13, 2026 02:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants