@@ -12,51 +12,44 @@ import (
12
12
)
13
13
14
14
const (
15
- shortDesc = "List YouTube activities"
16
- longDesc = "List YouTube activities, such as likes, favorites, uploads, etc."
17
- channelIdDesc = "ID of the channel"
18
- homeDesc = "true or false"
19
- maxResultsDesc = "The maximum number of items that should be returned"
20
- mineDesc = "true or false"
21
- publishedAfterDesc = "Filter on activities published after this date"
22
- publishedBeforeDesc = "Filter on activities published before this date"
23
- regionCodeDesc = ""
24
- partsDesc = "Comma separated parts"
25
- outputDesc = "json or yaml"
15
+ listShortUsage = "List YouTube activities"
16
+ listLongUsage = "List YouTube activities, such as likes, favorites, uploads, etc."
26
17
)
27
18
19
+ var defaultParts = []string {"id" , "snippet" , "contentDetails" }
20
+
28
21
var listTool = mcp .NewTool (
29
22
"activity.list" ,
30
- mcp .WithDescription (longDesc ),
23
+ mcp .WithDescription (listLongUsage ),
31
24
mcp .WithString (
32
- "channelId" , mcp .DefaultString ("" ), mcp .Description (channelIdDesc ),
25
+ "channelId" , mcp .DefaultString ("" ), mcp .Description (channelIdUsage ),
33
26
),
34
27
mcp .WithString (
35
28
"home" , mcp .Enum ("true" , "false" , "" ),
36
- mcp .DefaultString ("" ), mcp .Description (homeDesc ),
29
+ mcp .DefaultString ("" ), mcp .Description (homeUsage ),
37
30
),
38
31
mcp .WithNumber (
39
- "maxResults" , mcp .DefaultNumber (5 ), mcp .Description (maxResultsDesc ),
32
+ "maxResults" , mcp .DefaultNumber (5 ), mcp .Description (maxResultsUsage ),
40
33
),
41
34
mcp .WithString (
42
35
"mine" , mcp .Enum ("true" , "false" , "" ),
43
- mcp .DefaultString ("true" ), mcp .Description (mineDesc ),
36
+ mcp .DefaultString ("true" ), mcp .Description (mineUsage ),
44
37
),
45
38
mcp .WithString (
46
- "publishedAfter" , mcp .DefaultString ("" ), mcp .Description (publishedAfterDesc ),
39
+ "publishedAfter" , mcp .DefaultString ("" ),
40
+ mcp .Description (publishedAfterUsage ),
47
41
),
48
42
mcp .WithString (
49
43
"publishedBefore" , mcp .DefaultString ("" ),
50
- mcp .Description (publishedBeforeDesc ),
44
+ mcp .Description (publishedBeforeUsage ),
51
45
),
52
46
mcp .WithString (
53
- "regionCode" , mcp .DefaultString ("" ), mcp .Description (regionCodeDesc ),
47
+ "regionCode" , mcp .DefaultString ("" ), mcp .Description (regionCodeUsage ),
54
48
),
55
49
mcp .WithArray (
56
- "parts" , mcp .DefaultArray ([]string {"id" , "snippet" , "contentDetails" }),
57
- mcp .Description (partsDesc ),
50
+ "parts" , mcp .DefaultArray (defaultParts ), mcp .Description (partsUsage ),
58
51
),
59
- mcp .WithString ("output" , mcp .DefaultString ("" ), mcp .Description (outputDesc )),
52
+ mcp .WithString ("output" , mcp .DefaultString ("" ), mcp .Description (outputUsage )),
60
53
)
61
54
62
55
func run (writer io.Writer ) error {
@@ -76,16 +69,8 @@ func run(writer io.Writer) error {
76
69
77
70
var listCmd = & cobra.Command {
78
71
Use : "list" ,
79
- Short : shortDesc ,
80
- Long : longDesc ,
81
- PreRun : func (cmd * cobra.Command , args []string ) {
82
- if ! cmd .Flags ().Lookup ("home" ).Changed {
83
- home = nil
84
- }
85
- if ! cmd .Flags ().Lookup ("mine" ).Changed {
86
- mine = nil
87
- }
88
- },
72
+ Short : listShortUsage ,
73
+ Long : listLongUsage ,
89
74
Run : func (cmd * cobra.Command , args []string ) {
90
75
err := run (cmd .OutOrStdout ())
91
76
if err != nil {
@@ -99,25 +84,25 @@ func init() {
99
84
cmd .MCP .AddTool (listTool , listHandler )
100
85
activityCmd .AddCommand (listCmd )
101
86
listCmd .Flags ().StringVarP (
102
- & channelId , "channelId" , "c" , "" , channelIdDesc ,
87
+ & channelId , "channelId" , "c" , "" , channelIdUsage ,
103
88
)
104
- listCmd .Flags ().BoolVarP (home , "home" , "H" , true , homeDesc )
89
+ listCmd .Flags ().BoolVarP (home , "home" , "H" , true , homeUsage )
105
90
listCmd .Flags ().Int64VarP (
106
- & maxResults , "maxResults" , "n" , 5 , maxResultsDesc ,
91
+ & maxResults , "maxResults" , "n" , 5 , maxResultsUsage ,
107
92
)
108
- listCmd .Flags ().BoolVarP (mine , "mine" , "M" , true , mineDesc )
93
+ listCmd .Flags ().BoolVarP (mine , "mine" , "M" , true , mineUsage )
109
94
listCmd .Flags ().StringVarP (
110
- & publishedAfter , "publishedAfter" , "a" , "" , publishedAfterDesc ,
95
+ & publishedAfter , "publishedAfter" , "a" , "" , publishedAfterUsage ,
111
96
)
112
97
listCmd .Flags ().StringVarP (
113
- & publishedBefore , "publishedBefore" , "b" , "" , publishedBeforeDesc ,
98
+ & publishedBefore , "publishedBefore" , "b" , "" , publishedBeforeUsage ,
114
99
)
115
- listCmd .Flags ().StringVarP (& regionCode , "regionCode" , "r" , "" , regionCodeDesc )
100
+ listCmd .Flags ().StringVarP (& regionCode , "regionCode" , "r" , "" , regionCodeUsage )
116
101
117
102
listCmd .Flags ().StringArrayVarP (
118
- & parts , "parts" , "p" , [] string { "id" , "snippet" , "contentDetails" }, partsDesc ,
103
+ & parts , "parts" , "p" , defaultParts , partsUsage ,
119
104
)
120
- listCmd .Flags ().StringVarP (& output , "output" , "o" , "" , outputDesc )
105
+ listCmd .Flags ().StringVarP (& output , "output" , "o" , "" , outputUsage )
121
106
}
122
107
123
108
func listHandler (ctx context.Context , request mcp.CallToolRequest ) (
0 commit comments