mcps

package
v0.2.7 Latest Latest
Warning

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

Go to latest
Published: Aug 15, 2025 License: MIT Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetPrompt added in v0.2.6

func GetPrompt(name string) (string, bool)

func IsProxyMCPConfig added in v0.2.7

func IsProxyMCPConfig(name string) bool

Types

type MCPs

type MCPs struct {
	Tools []openai.ChatCompletionToolUnionParam
	// contains filtered or unexported fields
}

func New

func New(providers ...string) (*MCPs, error)

func (*MCPs) CallTool

func (m *MCPs) CallTool(ctx context.Context, callID string, toolName string, args map[string]any) (openai.ChatCompletionMessageParamUnion, error)

func (*MCPs) Shutdown

func (m *MCPs) Shutdown()

type McpClient

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

func NewClient

func NewClient(provider string) (*McpClient, error)

func NewLocalClient

func NewLocalClient(provider string) (*McpClient, error)

func NewRemoteClient

func NewRemoteClient(provider string) (*McpClient, error)

type PromptDef added in v0.2.7

type PromptDef struct {
	Name        string              `json:"name" yaml:"name"`
	Description string              `json:"description" yaml:"description"`
	Messages    []mcp.PromptMessage `json:"messages" yaml:"messages"`
}

type ProxyMCPClient added in v0.2.7

type ProxyMCPClient struct {
	Tools   []ToolDef   `json:"tools" yaml:"tools"`
	Prompts []PromptDef `json:"prompts" yaml:"prompts"`
	// contains filtered or unexported fields
}

ProxyMCPClient 实现了 MCPClient 接口,将 HTTP 服务代理为 MCP 服务

func NewProxyMCPClient added in v0.2.7

func NewProxyMCPClient(configPath string) (*ProxyMCPClient, error)

NewProxyMCPClient 从配置文件创建一个新的 ProxyMCPClient

func (*ProxyMCPClient) CallTool added in v0.2.7

func (p *ProxyMCPClient) CallTool(
	ctx context.Context,
	request mcp.CallToolRequest,
) (*mcp.CallToolResult, error)

CallTool 实现 MCPClient.CallTool

func (*ProxyMCPClient) Close added in v0.2.7

func (p *ProxyMCPClient) Close() error

Close 实现 MCPClient.Close

func (*ProxyMCPClient) Complete added in v0.2.7

func (p *ProxyMCPClient) Complete(
	ctx context.Context,
	request mcp.CompleteRequest,
) (*mcp.CompleteResult, error)

Complete 实现 MCPClient.Complete

func (*ProxyMCPClient) GetPrompt added in v0.2.7

func (p *ProxyMCPClient) GetPrompt(
	ctx context.Context,
	request mcp.GetPromptRequest,
) (*mcp.GetPromptResult, error)

GetPrompt 实现 MCPClient.GetPrompt

func (*ProxyMCPClient) Initialize added in v0.2.7

func (p *ProxyMCPClient) Initialize(
	ctx context.Context,
	request mcp.InitializeRequest,
) (*mcp.InitializeResult, error)

Initialize 实现 MCPClient.Initialize

func (*ProxyMCPClient) ListPrompts added in v0.2.7

func (p *ProxyMCPClient) ListPrompts(
	ctx context.Context,
	request mcp.ListPromptsRequest,
) (*mcp.ListPromptsResult, error)

ListPrompts 实现 MCPClient.ListPrompts

func (*ProxyMCPClient) ListPromptsByPage added in v0.2.7

func (p *ProxyMCPClient) ListPromptsByPage(
	ctx context.Context,
	request mcp.ListPromptsRequest,
) (*mcp.ListPromptsResult, error)

ListPromptsByPage 实现 MCPClient.ListPromptsByPage

func (*ProxyMCPClient) ListResourceTemplates added in v0.2.7

ListResourceTemplates 实现 MCPClient.ListResourceTemplates

func (*ProxyMCPClient) ListResourceTemplatesByPage added in v0.2.7

func (p *ProxyMCPClient) ListResourceTemplatesByPage(
	ctx context.Context,
	request mcp.ListResourceTemplatesRequest,
) (*mcp.ListResourceTemplatesResult, error)

ListResourceTemplatesByPage 实现 MCPClient.ListResourceTemplatesByPage

func (*ProxyMCPClient) ListResources added in v0.2.7

func (p *ProxyMCPClient) ListResources(
	ctx context.Context,
	request mcp.ListResourcesRequest,
) (*mcp.ListResourcesResult, error)

ListResources 实现 MCPClient.ListResources

func (*ProxyMCPClient) ListResourcesByPage added in v0.2.7

func (p *ProxyMCPClient) ListResourcesByPage(
	ctx context.Context,
	request mcp.ListResourcesRequest,
) (*mcp.ListResourcesResult, error)

ListResourcesByPage 实现 MCPClient.ListResourcesByPage

func (*ProxyMCPClient) ListTools added in v0.2.7

func (p *ProxyMCPClient) ListTools(
	ctx context.Context,
	request mcp.ListToolsRequest,
) (*mcp.ListToolsResult, error)

ListTools 实现 MCPClient.ListTools

func (*ProxyMCPClient) ListToolsByPage added in v0.2.7

func (p *ProxyMCPClient) ListToolsByPage(
	ctx context.Context,
	request mcp.ListToolsRequest,
) (*mcp.ListToolsResult, error)

ListToolsByPage 实现 MCPClient.ListToolsByPage

func (*ProxyMCPClient) OnNotification added in v0.2.7

func (p *ProxyMCPClient) OnNotification(handler func(notification mcp.JSONRPCNotification))

OnNotification 实现 MCPClient.OnNotification

func (*ProxyMCPClient) Ping added in v0.2.7

func (p *ProxyMCPClient) Ping(ctx context.Context) error

Ping 实现 MCPClient.Ping

func (*ProxyMCPClient) ReadResource added in v0.2.7

func (p *ProxyMCPClient) ReadResource(
	ctx context.Context,
	request mcp.ReadResourceRequest,
) (*mcp.ReadResourceResult, error)

ReadResource 实现 MCPClient.ReadResource

func (*ProxyMCPClient) SetLevel added in v0.2.7

func (p *ProxyMCPClient) SetLevel(ctx context.Context, request mcp.SetLevelRequest) error

SetLevel 实现 MCPClient.SetLevel

func (*ProxyMCPClient) Subscribe added in v0.2.7

func (p *ProxyMCPClient) Subscribe(ctx context.Context, request mcp.SubscribeRequest) error

Subscribe 实现 MCPClient.Subscribe

func (*ProxyMCPClient) Unsubscribe added in v0.2.7

func (p *ProxyMCPClient) Unsubscribe(ctx context.Context, request mcp.UnsubscribeRequest) error

Unsubscribe 实现 MCPClient.Unsubscribe

type ToolDef added in v0.2.7

type ToolDef struct {
	Name        string              `json:"name" yaml:"name"`
	URL         string              `json:"url" yaml:"url"`
	Method      string              `json:"method,omitempty" yaml:"method,omitempty"`
	Description string              `json:"description,omitempty" yaml:"description,omitempty"`
	InputSchema mcp.ToolInputSchema `json:"inputSchema,omitempty" yaml:"inputSchema,omitempty"`
}

Jump to

Keyboard shortcuts

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