mcp_tools 1.0.0-beta7

New features

SVG Sanitization & Re-enabled SVG Support

This release re-enables SVG image support in the mcp_tools_remote_media submodule, now backed by robust XSS sanitization using the enshrined/svg-sanitize
library (GPL-2.0, 41M+ installs).

What changed:

mcp_tools 1.0.0-beta6

New features

New Submodule: Remote Media (community contribution by guillaumeg, #3577187)

New mcp_tools_remote_media submodule that fetches images from remote URLs and creates managed Drupal media entities.

mcp_tools 1.0.0-beta5

Bug fixes

Code Quality
- Fixed all PHPCS (Drupal/DrupalPractice) violations across the entire codebase — 285 files, 0 errors, 0 warnings
- Refactored long methods in StatusController and SettingsForm for maintainability

Testing
- Added 5 new submodule service unit tests: MetatagService, PathautoService, SchedulerService, SitemapService,
UltimateCronService
- Added ClientConfigGenerator unit test

mcp_tools 1.0.0-beta4

Bug fixes

Credit to Guillaume Gérard for finding these issues and opening Merge Request.

- ApiKeyManagerTest failures on Drupal 11: The beta3 frozen REQUEST_TIME fix changed DrupalClock::now() to use
getCurrentTime(), but the test only mocked getRequestTime(), causing 4 failures on Drupal 11
- CI dependency resolution: Consolidated composer require steps with -W flag to resolve transitive conflicts between
mcp/sdk and Drupal core packages

mcp_tools 1.0.0-beta3

Bug fixes

Credit to Guillaume Gérard for finding these issues:

- Fixed ApiKeyManagerTest failures on Drupal 11. The beta3 frozen REQUEST_TIME fix changed DrupalClock::now() from
getRequestTime() to getCurrentTime(), but ApiKeyManagerTest only mocked getRequestTime(). This caused 4 test failures on Drupal 11 where the TimeInterface contract is stricter. Both the class-level mock and the time-sensitive expiration test now mock getCurrentTime() as well.

mcp_tools 1.0.0-beta2

Bug fixes

- Dependency updates: mcp-error-codes ^1.2, mcp-schema-builder ^1.1, mcp-tool-gateway ^1.1
- DefaultToolErrorHandler refactored to use McpError fluent builder for cleaner error responses
- ErrorCode standardization: All module services now use ErrorCode::* constants instead of hardcoded strings
- Batch tool fix: List schema now accepts complex objects (https://www.drupal.org/project/issues/mcp_tools/3572001, reported

mcp_tools 1.0.0-beta1

Bug fixes
New features

HIGHLIGHTS

- 222 Tools across 34 optional submodules covering site building, content management, views, layout, caching, cron, and 20+ contrib integrations
- 741 Tests passing on Drupal 11 with PHP 8.4
- PHP MCP Ecosystem - Leverages 5 standalone Composer packages for broader PHP compatibility

NEW IN BETA1

- DrupalToolProvider: New adapter implementing ToolProviderInterface from mcp-tool-gateway for standardized tool discovery
- McpError Fluent Builder: Standardized error handling across all 24+ service files using ErrorCode constants

mcp_tools 1.0.0-alpha26

Bug fixes
New features

MCP Tools 1.0.0-alpha26 - External Packages & Service Interfaces

This release extracts reusable MCP infrastructure into standalone Composer packages and improves service architecture with proper interfaces.

NEW FEATURES

- New standalone PHP packages for the MCP ecosystem:
- code-wheel/mcp-error-codes (v1.1): Standardized error codes with helper methods
- code-wheel/mcp-events (v2.1): Tool execution lifecycle events with JsonSerializable support

mcp_tools 1.0.0-alpha24

New features

- "Use site admin (uid 1)" checkbox for development
- "Create MCP Executor Account" button for production
- Removed auto-creation of user on install
- Removed runtime block on uid 1

mcp_tools 1.0.0-alpha23

Bug fixes
New features

- New standalone package: code-wheel/mcp-http-security on Packagist
- API key management with SHA-256 hashing
- IP allowlisting with CIDR support
- Origin/hostname allowlisting
- PSR-15 SecurityMiddleware
- mcp_tools_remote now delegates to the extracted package
- Added Drupal adapters: DrupalStateStorage, DrupalClock
- Restored 4 unit tests with proper fixes
- Fixed ContentTypeService DI architecture

mcp_tools 1.0.0-alpha21

Bug fixes
New features

- Test coverage milestone + Admin UI improvements
- 100% service test coverage (339 unit tests, 12 kernel test suites)
- New Permissions tab and Remote settings tab in admin UI
- Docker development environment for contributors
- Fixed date() type bugs in analysis tools

mcp_tools 1.0.0-alpha20

New features

Three new configuration presets for quick setup:
- **Development**: Full access, no rate limiting - ideal for local development
- **Staging**: Config-only mode with rate limiting and audit logging
- **Production**: Read-only mode with strict limits and full audit trail

mcp_tools 1.0.0-alpha18

Bug fixes

Fixes applyTemplate() audit logging parameter bug; refactors entity creation in batch/migration to use storages; adds high-impact unit tests for core service paths (analysis/config/templates/batch/migration); confirms full test + MCP E2E green in Docker

mcp_tools 1.0.0-alpha17

New features

- Add optional Origin/Host allowlist for remote HTTP (allowed_origins) as DNS-rebinding defense-in-depth.
- Expand HTTP E2E to verify Origin allowlist and Origin-vs-Host precedence.
- Add a JS MCP SDK STDIO smoke test in CI to catch strict-client/schema regressions early.

mcp_tools 1.0.0-alpha16

Bug fixes

- Fix inputSchema.properties encoding for tools with no inputs ({} not []) to support strict MCP clients (Codex/Claude Code).
- Add regression tests to prevent schema regressions.
- Update STDIO docs/examples to include --uid and safer guidance for shared environments.

mcp_tools 1.0.0-alpha15

Bug fixes
New features

- Audit logs now include correlation ID, transport, client identifier, and scopes.
- Added drush mcp-tools:remote-setup to create a dedicated remote execution user/role and set mcp_tools_remote.settings.uid.
- Expanded mcp_config_preview operations (roles/permissions + delete previews for content types/fields).
- Status page now shows remote endpoint status and warns on risky remote settings.
- CI/E2E improvements: schema conversion validation for all tools; STDIO/HTTP E2E made more robust.

mcp_tools 1.0.0-alpha14

Bug fixes
New features

This release focuses on safer remote usage, better regression coverage, and clearer onboarding.

mcp_tools 1.0.0-alpha13

Bug fixes
New features

- Default connection scopes are now read-only by default (access.default_scopes: [read]).
- Admin-scope tools (recipes/templates/config export) are now gated as ToolOperation::Trigger (require admin scope at access time).
- Remote HTTP: optional IP allowlist (mcp_tools_remote.settings.allowed_ips), API key TTL via drush mcp-tools:remote-key-create --ttl=..., and UI validation to avoid running remote as uid 1.
- Rate limiting: X-MCP-Client-Id is ignored by default; opt-in via rate_limiting.trust_client_id_header.

mcp_tools 1.0.0-alpha12

- Adds MCP-scoped config change tracking (records config save/delete/rename during MCP tool calls) to make config-only workflows reviewable.
- Hardens mcp_analysis_broken_links: enforces allowed_hosts, blocks redirects to non-allowlisted hosts, and adds optional base_url for STDIO/CLI usage.
- Fixes CI matrix for Drupal 11 (now tests on PHP 8.4+ since current Drupal 11 requires PHP ≥8.4).
- Expands unit/kernel coverage for core services (Analysis, Recipes, Structure) and adds Codecov patch coverage target (90%) to prevent regressions.

mcp_tools 1.0.0-alpha1

New features

Release Notes for 1.0.0-alpha1:

MCP Tools 1.0.0-alpha1

First public alpha release.

FEATURES
--------
- 205 tools across 29 submodules
- Full site building: content types, fields, taxonomy, roles, permissions
- Views, blocks, menus, media, webforms, themes
- Layout Builder and Drupal Recipes (10.3+) support
- Content moderation, scheduling, SEO tools
- Bulk operations, content migration (CSV/JSON)
- Site analysis and security audits

Subscribe with RSS Subscribe to Releases for MCP Tools