CARVIEW |
Navigation Menu
-
Notifications
You must be signed in to change notification settings - Fork 53
Releases: Automattic/wordpress-mcp
v0.2.5
Compare
Release Notes - Tools Validation and Linting Improvements
Overview
This release introduces a comprehensive validation infrastructure for MCP tools, improves code quality through enhanced linting, and adds new WP-CLI commands for tool validation and debugging.
๐ New Features
WP-CLI Tool Validation Command
- Added
wp mcp validate-tools
command for validating registered MCP tools - Support for specific tool validation with flexible options
- Multiple validation levels (strict, extended, permissive)
- Configurable output formats for different use cases
- Comprehensive documentation with usage examples
Enhanced Validation System
- New
ValidateTool
class providing comprehensive MCP tool validation - New
SchemaValidator
class for JSON schema loading and validation - Built-in caching mechanisms for improved performance
- Detailed error handling and validation result reporting
JSON Schema Compliance
- Complete JSON schema files for MCP tools specification
- WordPress-specific schema extensions for plugin compatibility
- Full compliance with Model Context Protocol standards
- Support for schema caching and optimization
๐ง Improvements
Code Quality & Standards
- Updated PHP compatibility from version 5.6 to 8.0
- Enhanced PHPCS configuration with updated global prefixes and text domain
- Added PHP linting scripts to package.json for automated code quality checks
- Comprehensive code style improvements across the codebase
Validation Enhancements
- Improved properties field validation supporting both array and object formats
- Enhanced property name format checks for MCP compliance
- Strengthened required fields validation with proper existence checking
- Better error handling for edge cases in tool definitions
Method Signature Optimizations
- Simplified method signatures by removing unused parameters:
list_resource_templates()
list_all_tools()
list_tokens()
get_user_info()
get_theme_info()
get_plugin_info()
get_site_settings()
- Updated corresponding calls in
McpTransportBase
to reflect changes - Improved parameter naming for better code clarity
๐ Bug Fixes
Plugin Initialization
- Changed hook from
plugins_loaded
toinit
for better timing control - Renamed initialization function from
init_wordpress_mcp
towordpress_mcp_init
for consistency
Error Handling
- Improved error logging using
McpErrorHandler
for consistent error management - Added PHPCS ignore comments for intentional usage of functions like
base64_decode
,file_get_contents
, anderror_log
- Enhanced input sanitization for tool validation processes
Code Standards
- Added translator comments for better internationalization support
- Improved comment formatting with consistent periods for readability
- Fixed strict comparison usage in status assignments
๐ Documentation
New Documentation
- Comprehensive WP-CLI commands documentation in
wp-cli-commands.md
- Schema usage guide with validation levels and caching strategies
- Detailed command options and examples for the validate-tools command
Updated Documentation
- Enhanced inline documentation with translator comments
- Improved exception documentation for resource callbacks
- Better code comments for complex validation logic
๐ Breaking Changes
- Method signature changes may affect custom implementations extending base classes
- Hook timing change from
plugins_loaded
toinit
may impact plugin load order dependencies - PHP version requirement updated from 5.6 to 8.0
๐งช Technical Details
Validation Levels
- Strict: Full MCP specification compliance
- Extended: WordPress-specific extensions allowed
- Permissive: Flexible validation for development environments
Schema Structure
- Base MCP tool schema for core functionality
- WordPress extension schema for plugin-specific features
- Caching system for improved validation performance
๐ Files Changed
- 36 out of 38 files modified with comprehensive improvements
- New utility classes:
ValidateTool.php
,SchemaValidator.php
- New CLI command:
ValidateToolsCommand.php
- Updated core plugin file:
wordpress-mcp.php
- Enhanced build configuration:
package.json
,.phpcs.xml.dist
This release significantly enhances the development experience with robust validation tools, improved code quality standards, and comprehensive documentation for WordPress MCP plugin development.
Full Changelog: v0.2.4...v0.2.5
What's Changed
- Fix/improve tools validation and linting by @galatanovidiu in #78
Full Changelog: v0.2.4...v0.2.5
Assets 3
v0.2.4
Compare
What's Changed
- Ensure 'required' field in input schema is always an array by @galatanovidiu in #59
- Update JWT token expiration settings and enhance token duration options by @galatanovidiu in #62
- Refactor JWT token expiration handling and update settings UI by @galatanovidiu in #63
- Fix oauth integration by @galatanovidiu in #76
Full Changelog: v0.2.3...v0.2.4
Assets 3
v0.2.3
a063a50
Compare
What's Changed
Related to issue #14: The MCP server now only verifies if a user is logged in. Each individual tool is responsible for its own permission checks. However, admin access is still required for prompts and resources methods.
Enhancements
โข Improve error logging in McpErrorHandler for easier debugging
โข Improve error handling in RegisterMcpTool for invalid routes and parameters
โข Update user permission check in McpStreamableTransport to use is_user_logged_in()
Documentation Updates
โข Use a placeholder for website URL in client setup documentation
โข Add Claude Code configuration instructions to the client setup guide
Security & Access Control
โข Add permission checks to PromptsHandler and ResourcesHandler
Full Changelog: v0.2.2โฆv0.2.3
Assets 3
v0.2.2
d5cff84
Compare
What's Changed
- Bugfix rest api alias by @galatanovidiu in #47
- Add rest api crud tools documentation by @galatanovidiu in #48
Full Changelog: v0.2.1...v0.2.2
Assets 3
v0.2.1
75d4f49
Compare
What's Changed
- Implement REST API CRUD Tools and Update Settings by @galatanovidiu in #45
Full Changelog: v0.2.0...v0.2.1
Assets 3
v0.2.0
aa8716a
Compare
What's Changed
- Fix: Corrected documentation links in README.md by @etShaw-zh in #43
- Add license references, update header values by @jeffpaul in #39
- Implemented streamable transport protocol and JWT authentication by @galatanovidiu in #44
New Contributors
- @etShaw-zh made their first contribution in #43
- @jeffpaul made their first contribution in #39
Full Changelog: v0.1.18...v0.2.0
Assets 3
v0.1.18
6a9ac93
Compare
Assets 3
v0.1.17
10efbe6
Compare
What's Changed
- Bugfix/list all tools endpoint by @galatanovidiu in #34
Full Changelog: v0.1.16...v0.1.17
Assets 3
v0.1.16
a0843b7
Compare
What's Changed
- Implement per-tool enable/disable settings (Ovi's version) by @galatanovidiu in #31
- Update version numbers in package.json and wordpress-mcp.php to 0.1.16 by @galatanovidiu in #33
Full Changelog: v0.1.15...v0.1.16
Assets 3
v0.1.15
be49130
Compare
What's Changed
- Fix/permisions callback rename by @galatanovidiu in #26
- Added automated tests & bugfixes by @galatanovidiu in #27
- Update version numbers in package.json and wordpress-mcp.php to 0.1.15 by @galatanovidiu in #28
Full Changelog: v0.1.14...v0.1.15