09d38df96f
* Use Contents API instead of raw endpoint to fetch file content * Address Copilot comment * Fix linter errors
62 lines
1.2 KiB
Go
62 lines
1.2 KiB
Go
package utils //nolint:revive //TODO: figure out a better name for this package
|
|
|
|
import "github.com/modelcontextprotocol/go-sdk/mcp"
|
|
|
|
func NewToolResultText(message string) *mcp.CallToolResult {
|
|
return &mcp.CallToolResult{
|
|
Content: []mcp.Content{
|
|
&mcp.TextContent{
|
|
Text: message,
|
|
},
|
|
},
|
|
}
|
|
}
|
|
|
|
func NewToolResultError(message string) *mcp.CallToolResult {
|
|
return &mcp.CallToolResult{
|
|
Content: []mcp.Content{
|
|
&mcp.TextContent{
|
|
Text: message,
|
|
},
|
|
},
|
|
IsError: true,
|
|
}
|
|
}
|
|
|
|
func NewToolResultErrorFromErr(message string, err error) *mcp.CallToolResult {
|
|
return &mcp.CallToolResult{
|
|
Content: []mcp.Content{
|
|
&mcp.TextContent{
|
|
Text: message + ": " + err.Error(),
|
|
},
|
|
},
|
|
IsError: true,
|
|
}
|
|
}
|
|
|
|
func NewToolResultResource(message string, contents *mcp.ResourceContents) *mcp.CallToolResult {
|
|
return &mcp.CallToolResult{
|
|
Content: []mcp.Content{
|
|
&mcp.TextContent{
|
|
Text: message,
|
|
},
|
|
&mcp.EmbeddedResource{
|
|
Resource: contents,
|
|
},
|
|
},
|
|
IsError: false,
|
|
}
|
|
}
|
|
|
|
func NewToolResultResourceLink(message string, link *mcp.ResourceLink) *mcp.CallToolResult {
|
|
return &mcp.CallToolResult{
|
|
Content: []mcp.Content{
|
|
&mcp.TextContent{
|
|
Text: message,
|
|
},
|
|
link,
|
|
},
|
|
IsError: false,
|
|
}
|
|
}
|