mcp-go
mcp-go copied to clipboard
A Go implementation of the Model Context Protocol (MCP), enabling seamless integration between LLM applications and external data sources and tools.
The Prompts example in README.md, use a role "mcp.RoleSystem". https://github.com/mark3labs/mcp-go/blob/efc428d5a8245f67eb731dc102c11366505771cc/mcp/prompts.go#L70-L74
MCPServer is upgraded with the capacity to notify before and/or after requests run. This will be really helpful: * Allows collecting statistics on various types of actions, and this allows...
SSEOption should not have negative effects when used repeatedly but should always remain consistent. ## Summary by CodeRabbit - **New Features** - Enhanced service endpoint configuration with improved URL validation...
Allows to specify the default for an array parameter. ## Summary by CodeRabbit - **New Features** - Enhanced tool configuration by enabling default values for array properties in input setups....
### Description Build the SDK to create a new MCP Client form scratch ### Addtitional Information Look at the offcial MCP SDKs: - Python: https://github.com/modelcontextprotocol/python-sdk?tab=readme-ov-file#writing-mcp-clients
Hey, how to add a pdf content? tried a lot of stuff like ```go callToolResult.Content = append(callToolResult.Content, mcp.ImageContent{ Type: "pdf", Data: base64.StdEncoding.EncodeToString(pdfBytes), MIMEType: "application/pdf", }) ```
Added the option design mode to mcp-client and added the configurable items sse_read_timeout and headers. The readSSE() method and sendRequest() method take effect with the SSEMCPClient object, respectively. When I...
SSEOption should not have negative effects when used repeatedly but should always remain consistent.
The current SSEOption causes abnormal configuration changes when called multiple times. SSEOption should not have negative effects when used repeatedly but should always remain consistent. https://github.com/mark3labs/mcp-go/pull/63
This is my test code ``` package main import ( "context" "fmt" "github.com/mark3labs/mcp-go/mcp" "github.com/mark3labs/mcp-go/server" ) func main() { // Create MCP server s := server.NewMCPServer( "Demo 🚀", "1.0.0", ) //...
This removes global initialized flag, because each session can be initialized separately. ## Summary by CodeRabbit - **New Features** - Improved session management now ensures that notifications are delivered only...