Skip to content

Releases: mark3labs/mcp-go

v0.8.1

18 Dec 07:59
Compare
Choose a tag to compare

🚀 Changelog

🛠 Improvements

• Enhanced stdio client environment handling ( 51148f )
• Merged system environment variables with provided ones
• Improved environment variable propagation in StdioMCPClient

🧰 Internal Changes

• Code reorganization ( d92065 )
• Split types into dedicated files ( prompts.go and tools.go )
• Improved code organization and maintainability
• Updated filesystem example to use NPX for server execution

v0.8.0

14 Dec 10:02
c61624c
Compare
Choose a tag to compare

🚀 Changelog

✨ New Features

  • Added comprehensive notification handling system (c61624c)
    • Server can now send notifications to specific clients
    • Added notification context tracking
    • Implemented notification channels for async communication

🔄 API Changes

  • Updated handler function signatures to include context (3a777e4)
    • Tool handlers now receive context.Context and mcp.CallToolRequest
    • Prompt handlers now receive context.Context and mcp.GetPromptRequest
    • Resource handlers now receive context.Context and mcp.ReadResourceRequest

🛠️ Improvements

  • Enhanced server capabilities configuration (9d20d89)
    • Standardized resource capabilities
    • Updated prompts and tools capabilities
    • Improved initialization process

🧰 Internal Changes

  • Refactored notification handling in SSE server (459e421)
  • Updated stdio server to support notifications (d1c3cfc)
  • Added client context tracking mechanism (63c687a)
  • Improved error logging in stdio server

📚 Documentation

  • Updated example code and README with new handler signatures (63c687a)
  • Added documentation for notification handling

🎨 Code Style

  • Applied consistent formatting throughout codebase (d1c3cfc)

v0.7.0

13 Dec 08:18
Compare
Choose a tag to compare

Changelog 📝

Features ✨

  • Added collapsible section for Resource Examples in README.md using <details> tags
  • Added environment variables support to StdioMCPClient constructor 🔧
    • New env []string parameter to pass environment variables to subprocess

Code Changes 🛠️

  • Modified NewStdioMCPClient signature:
    // Old
    NewStdioMCPClient(command string, args ...string)
    
    // New
    NewStdioMCPClient(command string, env []string, args ...string)

Documentation 📚

  • Improved README.md organization by making Resource Examples collapsible
  • Updated examples and tests to accommodate new environment variables parameter

Tests 🧪

  • Updated TestStdioMCPClient to include empty environment variables slice
  • Added test coverage for environment variables functionality

Examples 💡

  • Updated filesystem_stdio_client example to use new client constructor with environment variables parameter

These changes enhance the flexibility of the StdioMCPClient by allowing environment variable configuration while improving documentation readability! 🎉

v0.6.0

12 Dec 08:19
Compare
Choose a tag to compare

Changelog 🚀

Added ✨

  • New example server implementation in examples/everything/main.go showing comprehensive server features
  • New prompts.go module with flexible prompt configuration API
  • New resources.go module with resource configuration helpers
  • Helper functions for creating and configuring prompts and resources using functional options pattern
  • Improved resource template handling with regex-based URI matching

Changed 🔄

  • Refactored resource handling to use structured types and interfaces
  • Updated resource handlers to accept full request context
  • Improved server initialization and configuration options
  • Enhanced documentation with better examples and clearer explanations
  • Reorganized example code structure for better organization

Removed 🗑️

  • Removed older calculator example implementation
  • Removed some redundant code examples from documentation
  • Cleaned up unused helper functions
  • Removed outdated server implementations

Fixed 🐛

  • Fixed resource template URI pattern matching
  • Improved error handling in server responses
  • Fixed documentation formatting and examples
  • Fixed inconsistencies in server capabilities handling

Developer Experience 👩‍💻

  • Added more comprehensive examples and documentation
  • Improved API ergonomics with builder-style configuration
  • Better type safety and error handling
  • Clearer separation of concerns in server implementation

Documentation 📚

  • Added detailed examples for resources and prompts
  • Improved explanation of server capabilities
  • Updated code examples to use new helper functions
  • Enhanced readability of documentation

The changes represent a significant improvement in the API design and implementation, making it more flexible and easier to use while maintaining backwards compatibility.