mcp

package
v0.0.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 11, 2025 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
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: "获取与特定联系人或群聊的聊天记录",
	}
)

MCPTools 和资源定义

Functions

This section is empty.

Types

type Service

type Service struct {
	// contains filtered or unexported fields
}

func NewService

func NewService(ctx *ctx.Context, db *database.Service) *Service

func (*Service) GetMCP

func (s *Service) GetMCP() *mcp.MCP

GetMCP 获取底层MCP实例

func (*Service) HandleMessages

func (s *Service) HandleMessages(c *gin.Context)

func (*Service) HandleSSE

func (s *Service) HandleSSE(c *gin.Context)

func (*Service) Start

func (s *Service) Start() error

Start 启动MCP服务

func (*Service) Stop

func (s *Service) Stop() error

Stop 停止MCP服务

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL