Skip to content

Commit 9346f13

Browse files
authored
refactor: migrate MCP SDK to main repo (#3516)
1 parent 87c6cc9 commit 9346f13

75 files changed

Lines changed: 10117 additions & 3392 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

plugins/wasm-go/extensions/jsonrpc-converter/go.mod

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
module jsonrpc-converter
22

3-
go 1.24.3
3+
go 1.24.1
4+
5+
replace github.com/alibaba/higress/plugins/wasm-go/pkg/mcp => ../../pkg/mcp
46

57
require (
6-
github.com/higress-group/proxy-wasm-go-sdk v0.0.0-20250822030947-8345453fddd0
7-
github.com/higress-group/wasm-go v1.0.4
8+
github.com/alibaba/higress/plugins/wasm-go/pkg/mcp v0.0.0
9+
github.com/higress-group/proxy-wasm-go-sdk v0.0.0-20251103120604-77e9cce339d2
10+
github.com/higress-group/wasm-go v1.0.10-0.20260115123534-84ef43c39dc9
11+
github.com/stretchr/testify v1.9.0
812
github.com/tidwall/gjson v1.18.0
913
)
1014

@@ -15,15 +19,18 @@ require (
1519
github.com/Masterminds/sprig/v3 v3.3.0 // indirect
1620
github.com/bahlo/generic-list-go v0.2.0 // indirect
1721
github.com/buger/jsonparser v1.1.1 // indirect
22+
github.com/davecgh/go-spew v1.1.1 // indirect
1823
github.com/google/uuid v1.6.0 // indirect
1924
github.com/higress-group/gjson_template v0.0.0-20250413075336-4c4161ed428b // indirect
2025
github.com/huandu/xstrings v1.5.0 // indirect
2126
github.com/invopop/jsonschema v0.13.0 // indirect
2227
github.com/mailru/easyjson v0.7.7 // indirect
2328
github.com/mitchellh/copystructure v1.2.0 // indirect
2429
github.com/mitchellh/reflectwalk v1.0.2 // indirect
30+
github.com/pmezard/go-difflib v1.0.0 // indirect
2531
github.com/shopspring/decimal v1.4.0 // indirect
2632
github.com/spf13/cast v1.7.0 // indirect
33+
github.com/tetratelabs/wazero v1.7.2 // indirect
2734
github.com/tidwall/match v1.1.1 // indirect
2835
github.com/tidwall/pretty v1.2.1 // indirect
2936
github.com/tidwall/resp v0.1.1 // indirect

plugins/wasm-go/extensions/jsonrpc-converter/go.sum

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
2020
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
2121
github.com/higress-group/gjson_template v0.0.0-20250413075336-4c4161ed428b h1:rRI9+ThQbe+nw4jUiYEyOFaREkXCMMW9k1X2gy2d6pE=
2222
github.com/higress-group/gjson_template v0.0.0-20250413075336-4c4161ed428b/go.mod h1:rU3M+Tq5VrQOo0dxpKHGb03Ty0sdWIZfAH+YCOACx/Y=
23-
github.com/higress-group/proxy-wasm-go-sdk v0.0.0-20250822030947-8345453fddd0 h1:YGdj8KBzVjabU3STUfwMZghB+VlX6YLfJtLbrsWaOD0=
24-
github.com/higress-group/proxy-wasm-go-sdk v0.0.0-20250822030947-8345453fddd0/go.mod h1:tRI2LfMudSkKHhyv1uex3BWzcice2s/l8Ah8axporfA=
25-
github.com/higress-group/wasm-go v1.0.4 h1:/GqbzCw4oWqJc8UbKEfF94E3/+4CPZGbzxpKo2L3Ldk=
26-
github.com/higress-group/wasm-go v1.0.4/go.mod h1:B8C6+OlpnyYyZUBEdUXA7tYZYD+uwZTNjfkE5FywA+A=
23+
github.com/higress-group/proxy-wasm-go-sdk v0.0.0-20251103120604-77e9cce339d2 h1:NY33OrWCJJ+DFiLc+lsBY4Ywor2Ik61ssk6qkGF8Ypo=
24+
github.com/higress-group/proxy-wasm-go-sdk v0.0.0-20251103120604-77e9cce339d2/go.mod h1:tRI2LfMudSkKHhyv1uex3BWzcice2s/l8Ah8axporfA=
25+
github.com/higress-group/wasm-go v1.0.10-0.20260115123534-84ef43c39dc9 h1:sUuUXZwr50l3W1St7MESlFmxmUAu+QUNNfJXx4P6bas=
26+
github.com/higress-group/wasm-go v1.0.10-0.20260115123534-84ef43c39dc9/go.mod h1:uKVYICbRaxTlKqdm8E0dpjbysxM8uCPb9LV26hF3Km8=
2727
github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI=
2828
github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
2929
github.com/invopop/jsonschema v0.13.0 h1:KvpoAJWEjR3uD9Kbm2HWJmqsEaHt8lBUpd0qHcIi21E=
@@ -49,6 +49,8 @@ github.com/spf13/cast v1.7.0 h1:ntdiHjuueXFgm5nzDRdOS4yfT43P5Fnud6DH50rz/7w=
4949
github.com/spf13/cast v1.7.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
5050
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
5151
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
52+
github.com/tetratelabs/wazero v1.7.2 h1:1+z5nXJNwMLPAWaTePFi49SSTL0IMx/i3Fg8Yc25GDc=
53+
github.com/tetratelabs/wazero v1.7.2/go.mod h1:ytl6Zuh20R/eROuyDaGPkp82O9C/DJfXAwJfQ3X6/7Y=
5254
github.com/tidwall/gjson v1.14.2/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk=
5355
github.com/tidwall/gjson v1.18.0 h1:FIDeeyB800efLX89e5a8Y0BNH+LOngJyGrIWxG2FKQY=
5456
github.com/tidwall/gjson v1.18.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk=

plugins/wasm-go/extensions/jsonrpc-converter/main.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import (
99
"github.com/higress-group/proxy-wasm-go-sdk/proxywasm"
1010
"github.com/higress-group/proxy-wasm-go-sdk/proxywasm/types"
1111
"github.com/higress-group/wasm-go/pkg/log"
12-
"github.com/higress-group/wasm-go/pkg/mcp"
13-
"github.com/higress-group/wasm-go/pkg/mcp/utils"
12+
"github.com/alibaba/higress/plugins/wasm-go/pkg/mcp"
13+
"github.com/alibaba/higress/plugins/wasm-go/pkg/mcp/utils"
1414
"github.com/higress-group/wasm-go/pkg/wrapper"
1515
"github.com/tidwall/gjson"
1616
)

plugins/wasm-go/extensions/jsonrpc-converter/main_test.go

Lines changed: 253 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
11
package main
22

33
import (
4+
"encoding/json"
45
"testing"
6+
7+
"github.com/higress-group/proxy-wasm-go-sdk/proxywasm/types"
8+
"github.com/higress-group/wasm-go/pkg/test"
9+
"github.com/stretchr/testify/require"
510
)
611

12+
// TestTruncateString tests the truncateString function
713
func TestTruncateString(t *testing.T) {
814
tests := []struct {
915
name string
@@ -14,6 +20,8 @@ func TestTruncateString(t *testing.T) {
1420
{"Short String", "Higress Is an AI-Native API Gateway", 1000, "Higress Is an AI-Native API Gateway"},
1521
{"Exact Length", "Higress Is an AI-Native API Gateway", 35, "Higress Is an AI-Native API Gateway"},
1622
{"Truncated String", "Higress Is an AI-Native API Gateway", 20, "Higress Is...(truncated)...PI Gateway"},
23+
{"Empty String", "", 10, ""},
24+
{"Single Char", "A", 10, "A"},
1725
}
1826

1927
for _, tt := range tests {
@@ -26,3 +34,248 @@ func TestTruncateString(t *testing.T) {
2634
})
2735
}
2836
}
37+
38+
// TestIsPreRequestStage tests the isPreRequestStage function
39+
func TestIsPreRequestStage(t *testing.T) {
40+
config := McpConverterConfig{Stage: ProcessRequest}
41+
require.True(t, isPreRequestStage(config))
42+
43+
config = McpConverterConfig{Stage: ProcessResponse}
44+
require.False(t, isPreRequestStage(config))
45+
}
46+
47+
// TestIsPreResponseStage tests the isPreResponseStage function
48+
func TestIsPreResponseStage(t *testing.T) {
49+
config := McpConverterConfig{Stage: ProcessResponse}
50+
require.True(t, isPreResponseStage(config))
51+
52+
config = McpConverterConfig{Stage: ProcessRequest}
53+
require.False(t, isPreResponseStage(config))
54+
}
55+
56+
// TestIsMethodAllowed tests the isMethodAllowed function
57+
func TestIsMethodAllowed(t *testing.T) {
58+
config := McpConverterConfig{AllowedMethods: []string{MethodToolList, MethodToolCall}}
59+
60+
require.True(t, isMethodAllowed(config, MethodToolList))
61+
require.True(t, isMethodAllowed(config, MethodToolCall))
62+
require.False(t, isMethodAllowed(config, "invalid/method"))
63+
}
64+
65+
// TestConstants tests the constant values
66+
func TestConstants(t *testing.T) {
67+
require.Equal(t, "x-envoy-jsonrpc-id", JsonRpcId)
68+
require.Equal(t, "x-envoy-jsonrpc-method", JsonRpcMethod)
69+
require.Equal(t, "x-envoy-jsonrpc-params", JsonRpcParams)
70+
require.Equal(t, "x-envoy-jsonrpc-result", JsonRpcResult)
71+
require.Equal(t, "x-envoy-jsonrpc-error", JsonRpcError)
72+
require.Equal(t, "x-envoy-mcp-tool-name", McpToolName)
73+
require.Equal(t, "x-envoy-mcp-tool-arguments", McpToolArguments)
74+
require.Equal(t, "x-envoy-mcp-tool-response", McpToolResponse)
75+
require.Equal(t, "x-envoy-mcp-tool-error", McpToolError)
76+
require.Equal(t, 4000, DefaultMaxHeaderLength)
77+
require.Equal(t, "tools/list", MethodToolList)
78+
require.Equal(t, "tools/call", MethodToolCall)
79+
require.Equal(t, ProcessStage("request"), ProcessRequest)
80+
require.Equal(t, ProcessStage("response"), ProcessResponse)
81+
}
82+
83+
// TestMcpConverterConfigDefaults tests config default values
84+
func TestMcpConverterConfigDefaults(t *testing.T) {
85+
config := McpConverterConfig{}
86+
require.Equal(t, 0, config.MaxHeaderLength)
87+
require.Equal(t, ProcessStage(""), config.Stage)
88+
require.Nil(t, config.AllowedMethods)
89+
}
90+
91+
// TestProcessStage tests ProcessStage type
92+
func TestProcessStage(t *testing.T) {
93+
require.Equal(t, ProcessStage("request"), ProcessRequest)
94+
require.Equal(t, ProcessStage("response"), ProcessResponse)
95+
}
96+
97+
// TestRemoveJsonRpcHeadersFunction tests removeJsonRpcHeaders function logic
98+
func TestRemoveJsonRpcHeadersFunction(t *testing.T) {
99+
headersToRemove := []string{
100+
JsonRpcId,
101+
JsonRpcMethod,
102+
JsonRpcParams,
103+
JsonRpcResult,
104+
McpToolName,
105+
McpToolArguments,
106+
McpToolResponse,
107+
McpToolError,
108+
}
109+
require.Len(t, headersToRemove, 8)
110+
}
111+
112+
// TestTruncateStringLong tests truncation of very long strings
113+
func TestTruncateStringLong(t *testing.T) {
114+
longString := ""
115+
for i := 0; i < 5000; i++ {
116+
longString += "a"
117+
}
118+
config := McpConverterConfig{MaxHeaderLength: 1000}
119+
result := truncateString(longString, config)
120+
require.Contains(t, result, "...(truncated)...")
121+
require.LessOrEqual(t, len(result), 1020)
122+
}
123+
124+
// TestTruncateStringWithSmallMaxLength tests truncation with small max length
125+
func TestTruncateStringWithSmallMaxLength(t *testing.T) {
126+
config := McpConverterConfig{MaxHeaderLength: 10}
127+
result := truncateString("This is a very long string", config)
128+
require.Contains(t, result, "...(truncated)...")
129+
}
130+
131+
// TestPluginInit tests plugin initialization
132+
func TestPluginInit(t *testing.T) {
133+
configBytes, _ := json.Marshal(McpConverterConfig{
134+
Stage: ProcessRequest,
135+
MaxHeaderLength: DefaultMaxHeaderLength,
136+
AllowedMethods: []string{MethodToolList, MethodToolCall},
137+
})
138+
139+
host, status := test.NewTestHost(configBytes)
140+
defer host.Reset()
141+
require.Equal(t, types.OnPluginStartStatusOK, status)
142+
}
143+
144+
// TestProcessJsonRpcRequest tests processJsonRpcRequest function
145+
func TestProcessJsonRpcRequest(t *testing.T) {
146+
configBytes, _ := json.Marshal(McpConverterConfig{
147+
Stage: ProcessRequest,
148+
MaxHeaderLength: DefaultMaxHeaderLength,
149+
AllowedMethods: []string{MethodToolList, MethodToolCall},
150+
})
151+
152+
host, status := test.NewTestHost(configBytes)
153+
defer host.Reset()
154+
require.Equal(t, types.OnPluginStartStatusOK, status)
155+
156+
host.InitHttp()
157+
host.CallOnHttpRequestHeaders([][2]string{
158+
{":authority", "mcp-server.example.com"},
159+
{":method", "POST"},
160+
{":path", "/mcp"},
161+
{"content-type", "application/json"},
162+
})
163+
164+
toolsListRequest := `{
165+
"jsonrpc": "2.0",
166+
"id": 1,
167+
"method": "tools/list",
168+
"params": {}
169+
}`
170+
action := host.CallOnHttpRequestBody([]byte(toolsListRequest))
171+
require.Equal(t, types.ActionContinue, action)
172+
173+
host.CompleteHttp()
174+
}
175+
176+
// TestProcessToolCallRequest tests processToolCallRequest function
177+
func TestProcessToolCallRequest(t *testing.T) {
178+
configBytes, _ := json.Marshal(McpConverterConfig{
179+
Stage: ProcessRequest,
180+
MaxHeaderLength: DefaultMaxHeaderLength,
181+
AllowedMethods: []string{MethodToolCall},
182+
})
183+
184+
host, status := test.NewTestHost(configBytes)
185+
defer host.Reset()
186+
require.Equal(t, types.OnPluginStartStatusOK, status)
187+
188+
host.InitHttp()
189+
host.CallOnHttpRequestHeaders([][2]string{
190+
{":authority", "mcp-server.example.com"},
191+
{":method", "POST"},
192+
{":path", "/mcp"},
193+
{"content-type", "application/json"},
194+
})
195+
196+
toolCallRequest := `{
197+
"jsonrpc": "2.0",
198+
"id": 1,
199+
"method": "tools/call",
200+
"params": {
201+
"name": "test_tool",
202+
"arguments": {"arg1": "value1"}
203+
}
204+
}`
205+
action := host.CallOnHttpRequestBody([]byte(toolCallRequest))
206+
require.Equal(t, types.ActionContinue, action)
207+
208+
host.CompleteHttp()
209+
}
210+
211+
// TestProcessJsonRpcResponse tests processJsonRpcResponse function
212+
func TestProcessJsonRpcResponse(t *testing.T) {
213+
configBytes, _ := json.Marshal(McpConverterConfig{
214+
Stage: ProcessResponse,
215+
MaxHeaderLength: DefaultMaxHeaderLength,
216+
AllowedMethods: []string{MethodToolList, MethodToolCall},
217+
})
218+
219+
host, status := test.NewTestHost(configBytes)
220+
defer host.Reset()
221+
require.Equal(t, types.OnPluginStartStatusOK, status)
222+
223+
host.InitHttp()
224+
host.CallOnHttpRequestHeaders([][2]string{
225+
{":authority", "mcp-server.example.com"},
226+
{":method", "POST"},
227+
{":path", "/mcp"},
228+
{"content-type", "application/json"},
229+
})
230+
231+
responseBody := `{
232+
"jsonrpc": "2.0",
233+
"id": 1,
234+
"result": {
235+
"tools": [{"name": "test_tool"}]
236+
}
237+
}`
238+
host.CallOnHttpResponseHeaders([][2]string{
239+
{":status", "200"},
240+
{"content-type", "application/json"},
241+
})
242+
host.CallOnHttpResponseBody([]byte(responseBody))
243+
244+
host.CompleteHttp()
245+
}
246+
247+
// TestProcessToolListResponse tests processToolListResponse function
248+
func TestProcessToolListResponse(t *testing.T) {
249+
configBytes, _ := json.Marshal(McpConverterConfig{
250+
Stage: ProcessResponse,
251+
MaxHeaderLength: DefaultMaxHeaderLength,
252+
AllowedMethods: []string{MethodToolList},
253+
})
254+
255+
host, status := test.NewTestHost(configBytes)
256+
defer host.Reset()
257+
require.Equal(t, types.OnPluginStartStatusOK, status)
258+
259+
host.InitHttp()
260+
host.CallOnHttpRequestHeaders([][2]string{
261+
{":authority", "mcp-server.example.com"},
262+
{":method", "POST"},
263+
{":path", "/mcp"},
264+
{"content-type", "application/json"},
265+
})
266+
267+
responseBody := `{
268+
"jsonrpc": "2.0",
269+
"id": 1,
270+
"result": {
271+
"tools": [{"name": "test_tool"}]
272+
}
273+
}`
274+
host.CallOnHttpResponseHeaders([][2]string{
275+
{":status", "200"},
276+
{"content-type", "application/json"},
277+
})
278+
host.CallOnHttpResponseBody([]byte(responseBody))
279+
280+
host.CompleteHttp()
281+
}
File renamed without changes.
File renamed without changes.

plugins/wasm-go/mcp-filters/mcp-router/go.mod renamed to plugins/wasm-go/extensions/mcp-router/go.mod

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,12 @@ module mcp-router
22

33
go 1.24.1
44

5+
replace github.com/alibaba/higress/plugins/wasm-go/pkg/mcp => ../../pkg/mcp
6+
57
require (
6-
github.com/higress-group/proxy-wasm-go-sdk v0.0.0-20250611100342-5654e89a7a80
7-
github.com/higress-group/wasm-go v1.0.2-0.20250911113549-cbf1cfcce774
8+
github.com/alibaba/higress/plugins/wasm-go/pkg/mcp v0.0.0
9+
github.com/higress-group/proxy-wasm-go-sdk v0.0.0-20251103120604-77e9cce339d2
10+
github.com/higress-group/wasm-go v1.0.10-0.20260115123534-84ef43c39dc9
811
github.com/tidwall/gjson v1.18.0
912
github.com/tidwall/sjson v1.2.5
1013
)

plugins/wasm-go/mcp-filters/mcp-router/go.sum renamed to plugins/wasm-go/extensions/mcp-router/go.sum

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,10 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
2020
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
2121
github.com/higress-group/gjson_template v0.0.0-20250413075336-4c4161ed428b h1:rRI9+ThQbe+nw4jUiYEyOFaREkXCMMW9k1X2gy2d6pE=
2222
github.com/higress-group/gjson_template v0.0.0-20250413075336-4c4161ed428b/go.mod h1:rU3M+Tq5VrQOo0dxpKHGb03Ty0sdWIZfAH+YCOACx/Y=
23-
github.com/higress-group/proxy-wasm-go-sdk v0.0.0-20250611100342-5654e89a7a80 h1:xqmtTZI0JQ2O+Lg9/CE6c+Tw9KD6FnvWw8EpLVuuvfg=
24-
github.com/higress-group/proxy-wasm-go-sdk v0.0.0-20250611100342-5654e89a7a80/go.mod h1:tRI2LfMudSkKHhyv1uex3BWzcice2s/l8Ah8axporfA=
25-
github.com/higress-group/wasm-go v1.0.2-0.20250807064511-eb1cd98e1f57 h1:WhNdnKSDtAQrh4Yil8HAtbl7VW+WC85m7WS8kirnHAA=
26-
github.com/higress-group/wasm-go v1.0.2-0.20250807064511-eb1cd98e1f57/go.mod h1:9k7L730huS/q4V5iH9WLDgf5ZUHEtfhM/uXcegKDG/M=
27-
github.com/higress-group/wasm-go v1.0.2-0.20250911113549-cbf1cfcce774 h1:2wlbNpFJCQNbPBFYgswz7Zvxo9O3L0PH0AJxwiCc5lk=
28-
github.com/higress-group/wasm-go v1.0.2-0.20250911113549-cbf1cfcce774/go.mod h1:9k7L730huS/q4V5iH9WLDgf5ZUHEtfhM/uXcegKDG/M=
23+
github.com/higress-group/proxy-wasm-go-sdk v0.0.0-20251103120604-77e9cce339d2 h1:NY33OrWCJJ+DFiLc+lsBY4Ywor2Ik61ssk6qkGF8Ypo=
24+
github.com/higress-group/proxy-wasm-go-sdk v0.0.0-20251103120604-77e9cce339d2/go.mod h1:tRI2LfMudSkKHhyv1uex3BWzcice2s/l8Ah8axporfA=
25+
github.com/higress-group/wasm-go v1.0.10-0.20260115123534-84ef43c39dc9 h1:sUuUXZwr50l3W1St7MESlFmxmUAu+QUNNfJXx4P6bas=
26+
github.com/higress-group/wasm-go v1.0.10-0.20260115123534-84ef43c39dc9/go.mod h1:uKVYICbRaxTlKqdm8E0dpjbysxM8uCPb9LV26hF3Km8=
2927
github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI=
3028
github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
3129
github.com/invopop/jsonschema v0.13.0 h1:KvpoAJWEjR3uD9Kbm2HWJmqsEaHt8lBUpd0qHcIi21E=

plugins/wasm-go/mcp-filters/mcp-router/main.go renamed to plugins/wasm-go/extensions/mcp-router/main.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ import (
2222
"github.com/higress-group/proxy-wasm-go-sdk/proxywasm"
2323
"github.com/higress-group/proxy-wasm-go-sdk/proxywasm/types"
2424
"github.com/higress-group/wasm-go/pkg/log"
25-
"github.com/higress-group/wasm-go/pkg/mcp"
26-
"github.com/higress-group/wasm-go/pkg/mcp/consts"
25+
"github.com/alibaba/higress/plugins/wasm-go/pkg/mcp"
26+
"github.com/alibaba/higress/plugins/wasm-go/pkg/mcp/consts"
2727
"github.com/higress-group/wasm-go/pkg/wrapper"
2828
"github.com/tidwall/gjson"
2929
"github.com/tidwall/sjson"

0 commit comments

Comments
 (0)