activity-mcp-tools
v1.3.1
Published
A mcp tool for activity RD, with the ability to get activity info
Readme
TTLive Campaign MCP 服务
这是一个为 TTLive Campaign 团队提供 MCP (Meta Call Protocol) 能力的仓库。
功能
- 查询组件化活动信息
- 时间戳转活动所在时区时间
- 检查组件化活动库存(todo)
- 检查活动配置是否有风险(todo)
如何使用
在Trae的MCP市场中搜索activity-mcp-tools,添加导入以下配置
{
"mcpServers": {
"activity-mcp-tools": {
"command": "npx",
"args": [
"activity-mcp-tools"
],
"env": {}
}
}
}如何开发
- 参考main函数,注册新的工具和处理函数
// get activity info tool
activityInfoTool := mcp.NewTool("activityInfo", // your tool name
mcp.WithDescription("Get activity info"), // your tool description
mcp.WithNumber("activityId", // your tool input param
mcp.Required(), // whether the param is required
mcp.Description("The activity id"), // description of the param
),
)
s.AddTool(activityInfoTool, getActivityInfo) // register your tool and handler- 参考getActivityInfo函数,实现你的工具的handler
func getActivityInfo(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error) {
activityId, err := request.RequireString("activityId") // get your tool input param
if err != nil {
return mcp.NewToolResultError(err.Error()), nil // use mcp.NewToolResultError to return error
}
/*
...
your logic to get data
...
*/
return mcp.NewToolResultText(string(activity)), nil
}如何发布自测
- npm login,首先登陆npm,没有账号就注册一个
- npm publish,发布到npm(注意将版本号+1)
- npx activity-mcp-tools,测试是否发布成功
常用输入命令:
- initialize 请求,让服务器报告它支持的 MCP 版本和功能
{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"0.1.0","capabilities":{},"clientInfo":{"name":"example-client","version":"1.0.0"}}}示例输出
{"jsonrpc":"2.0","id":1,"result":{"protocolVersion":"2024-11-05","capabilities":{"tools":{}},"serverInfo":{"name":"activity-mcp-tools","version":"1.1.0"}}}- 列出可用工具
{"jsonrpc":"2.0","id":2,"method":"tools/list"}示例输出
{"jsonrpc":"2.0","id":2,"result":{"tools":[{"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true},"description":"Get activity info","inputSchema":{"properties":{"activityId":{"description":"The activity id","type":"string"}},"required":["activityId"],"type":"object"},"name":"activityInfo"}]}}- 调用某个工具
{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"activityInfo","arguments":{"activityId": "7510084681074051846"}}}示例输出
{"jsonrpc":"2.0","id":1,"result":{"content":[{"type":"text","text":"activity config"}]}}