Files
chatlog/internal/chatlog/mcp/const.go
T
Sarv b4378a63a3 adjust message handing (#22)
* adjust message handing

* mcp required args
2025-04-09 00:02:55 +08:00

100 lines
3.4 KiB
Go

package mcp
import (
"github.com/sjzar/chatlog/internal/mcp"
)
// MCPTools 和资源定义
var (
InitializeResponse = mcp.InitializeResponse{
ProtocolVersion: mcp.ProtocolVersion,
Capabilities: mcp.DefaultCapabilities,
ServerInfo: mcp.ServerInfo{
Name: "chatlog",
Version: "0.0.1",
},
}
ToolContact = mcp.Tool{
Name: "query_contact",
Description: "查询用户的联系人信息。可以通过姓名、备注名或ID进行查询,返回匹配的联系人列表。当用户询问某人的联系方式、想了解联系人信息或需要查找特定联系人时使用此工具。参数为空时,将返回联系人列表",
InputSchema: mcp.ToolSchema{
Type: "object",
Properties: mcp.M{
"query": mcp.M{
"type": "string",
"description": "联系人的搜索关键词,可以是姓名、备注名或ID。",
},
},
Required: []string{"query"},
},
}
ToolChatRoom = mcp.Tool{
Name: "query_chat_room",
Description: "查询用户参与的群聊信息。可以通过群名称、群ID或相关关键词进行查询,返回匹配的群聊列表。当用户询问群聊信息、想了解某个群的详情或需要查找特定群聊时使用此工具。",
InputSchema: mcp.ToolSchema{
Type: "object",
Properties: mcp.M{
"query": mcp.M{
"type": "string",
"description": "群聊的搜索关键词,可以是群名称、群ID或相关描述",
},
},
Required: []string{"query"},
},
}
ToolRecentChat = mcp.Tool{
Name: "query_recent_chat",
Description: "查询最近会话列表,包括个人聊天和群聊。当用户想了解最近的聊天记录、查看最近联系过的人或群组时使用此工具。不需要参数,直接返回最近的会话列表。",
InputSchema: mcp.ToolSchema{
Type: "object",
Properties: mcp.M{},
},
}
ToolChatLog = mcp.Tool{
Name: "chatlog",
Description: "查询特定时间或时间段内与特定联系人或群组的聊天记录。当用户需要回顾过去的对话内容、查找特定信息或想了解与某人/某群的历史交流时使用此工具。",
InputSchema: mcp.ToolSchema{
Type: "object",
Properties: mcp.M{
"time": mcp.M{
"type": "string",
"description": "查询的时间点或时间段。可以是具体时间,例如 YYYY-MM-DD,也可以是时间段,例如 YYYY-MM-DD~YYYY-MM-DD,时间段之间用\"~\"分隔。",
},
"talker": mcp.M{
"type": "string",
"description": "交谈对象,可以是联系人或群聊。支持使用ID、昵称、备注名等进行查询。",
},
},
Required: []string{"time", "talker"},
},
}
ResourceRecentChat = mcp.Resource{
Name: "最近会话",
URI: "session://recent",
Description: "获取最近的聊天会话列表",
}
ResourceTemplateContact = mcp.ResourceTemplate{
Name: "联系人信息",
URITemplate: "contact://{username}",
Description: "获取指定联系人的详细信息",
}
ResourceTemplateChatRoom = mcp.ResourceTemplate{
Name: "群聊信息",
URITemplate: "chatroom://{roomid}",
Description: "获取指定群聊的详细信息",
}
ResourceTemplateChatlog = mcp.ResourceTemplate{
Name: "聊天记录",
URITemplate: "chatlog://{talker}/{timeframe}?limit,offset",
Description: "获取与特定联系人或群聊的聊天记录",
}
)