@@ -11,11 +11,12 @@ import (
11
11
)
12
12
13
13
func init () {
14
- cmd .MCP .AddTool (listTool , listHandler )
14
+ // cmd.MCP.AddTool(listTool, listHandler)
15
+ cmd .MCP .AddResource (alli18nRegion , resourceHandler )
15
16
i18nRegionCmd .AddCommand (listCmd )
16
17
listCmd .Flags ().StringVarP (& hl , "hl" , "l" , "" , hlUsage )
17
18
listCmd .Flags ().StringSliceVarP (
18
- & parts , "parts" , "p" , [] string { "id" , "snippet" } , cmd .PartsUsage ,
19
+ & parts , "parts" , "p" , defaultParts , cmd .PartsUsage ,
19
20
)
20
21
listCmd .Flags ().StringVarP (& output , "output" , "o" , "table" , cmd .TableUsage )
21
22
listCmd .Flags ().StringVarP (& jpath , "jsonpath" , "j" , "" , cmd .JPUsage )
@@ -46,7 +47,7 @@ var listTool = mcp.NewTool(
46
47
mcp .Description (hlUsage ), mcp .Required (),
47
48
),
48
49
mcp .WithArray (
49
- "parts" , mcp .DefaultArray ([] string { "id" , "snippet" } ),
50
+ "parts" , mcp .DefaultArray (defaultParts ),
50
51
mcp .Items (map [string ]any {"type" : "string" }),
51
52
mcp .Description (cmd .PartsUsage ), mcp .Required (),
52
53
),
@@ -81,6 +82,33 @@ func listHandler(
81
82
return mcp .NewToolResultText (writer .String ()), nil
82
83
}
83
84
85
+ var alli18nRegion = mcp .NewResource (
86
+ rURI , rName ,
87
+ mcp .WithMIMEType ("application/json" ),
88
+ mcp .WithResourceDescription (long ),
89
+ )
90
+
91
+ func resourceHandler (
92
+ ctx context.Context , request mcp.ReadResourceRequest ,
93
+ ) ([]mcp.ResourceContents , error ) {
94
+ parts = defaultParts
95
+ output = "json"
96
+ var writer bytes.Buffer
97
+ err := list (& writer )
98
+ if err != nil {
99
+ return nil , err
100
+ }
101
+
102
+ contents := []mcp.ResourceContents {
103
+ mcp.TextResourceContents {
104
+ URI : rURI ,
105
+ MIMEType : "application/json" ,
106
+ Text : writer .String (),
107
+ },
108
+ }
109
+ return contents , nil
110
+ }
111
+
84
112
func list (writer io.Writer ) error {
85
113
i := i18nRegion .NewI18nRegion (
86
114
i18nRegion .WithHl (hl ), i18nRegion .WithService (nil ),
0 commit comments