Documentation
¶
Overview ¶
Package mcpkit provides the shared scaffolding used by hawk-ecosystem libraries (inspect, sight, ...) to expose their functionality as MCP servers. It wraps github.com/mark3labs/mcp-go with the ecosystem's standard construction, transports, and small handler helpers so that individual repos only declare their tools and handlers.
Index ¶
- func JSONResult(v any) (*mcp.CallToolResult, error)
- func StrArg(req mcp.CallToolRequest, key string) string
- type Server
- func (s *Server) AddPrompt(prompt mcp.Prompt, handler mcpserver.PromptHandlerFunc)
- func (s *Server) AddResource(resource mcp.Resource, handler mcpserver.ResourceHandlerFunc)
- func (s *Server) AddResourceTemplate(template mcp.ResourceTemplate, handler mcpserver.ResourceTemplateHandlerFunc)
- func (s *Server) AddTool(tool mcp.Tool, handler mcpserver.ToolHandlerFunc)
- func (s *Server) MCP() *mcpserver.MCPServer
- func (s *Server) ServeHTTP(addr string) error
- func (s *Server) ServeSSE(addr string) error
- func (s *Server) ServeStdio() error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func JSONResult ¶
func JSONResult(v any) (*mcp.CallToolResult, error)
JSONResult marshals v as indented JSON and returns it as a text tool result. Returns a protocol-level error only when marshalling fails.
Types ¶
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server wraps an mcp-go MCPServer with the ecosystem's standard transports (stdio and streamable HTTP).
func (*Server) AddPrompt ¶ added in v0.1.4
func (s *Server) AddPrompt(prompt mcp.Prompt, handler mcpserver.PromptHandlerFunc)
AddPrompt registers a prompt and its handler.
func (*Server) AddResource ¶ added in v0.1.4
func (s *Server) AddResource(resource mcp.Resource, handler mcpserver.ResourceHandlerFunc)
AddResource registers a resource and its handler.
func (*Server) AddResourceTemplate ¶ added in v0.1.4
func (s *Server) AddResourceTemplate(template mcp.ResourceTemplate, handler mcpserver.ResourceTemplateHandlerFunc)
AddResourceTemplate registers a resource template and its handler.
func (*Server) AddTool ¶
func (s *Server) AddTool(tool mcp.Tool, handler mcpserver.ToolHandlerFunc)
AddTool registers a tool and its handler.
func (*Server) MCP ¶
MCP returns the underlying mcp-go server, as an escape hatch for capabilities mcpkit does not wrap.
func (*Server) ServeHTTP ¶
ServeHTTP serves MCP over the streamable HTTP transport at http://<addr>/mcp and blocks until the server stops.
func (*Server) ServeSSE ¶ added in v0.1.4
ServeSSE serves MCP over the SSE transport at <addr> and blocks until the server stops.
func (*Server) ServeStdio ¶
ServeStdio serves MCP over stdin/stdout and blocks until the stream closes or the context that mcp-go derives internally is done.