BOIM WordPress Stack MCP
Validates CSS coding standards and generates GenerateBlocks-specific styles for WordPress development.
Supports Gutenberg block development by generating block.json, PHP registration, React components, block variations, and patterns.
Provides JavaScript coding standards validation and generates React-based components for Gutenberg blocks.
Provides PHP coding standards validation and generates WordPress-specific functions, hooks, and REST API endpoints.
Generates React components and registration logic required for building custom WordPress Gutenberg blocks.
Acts as a coding framework guide for WordPress, offering tools for generating functions, hooks, shortcodes, and REST API endpoints while enforcing security and performance best practices.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@BOIM WordPress Stack MCPGenerate a Gutenberg block for a custom testimonial slider"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
BOIM WordPress Stack MCP
A Model Context Protocol (MCP) server that acts as a coding standards and framework guide for LLM connectors (like Claude Desktop or Cursor). It provides WordPress development knowledge, code generation tools, and best practices focused on Gutenberg blocks, GeneratePress theme, GenerateBlocks plugin, and WPCodebox code snippet formatting.
Overview
This MCP server does NOT directly access WordPress websites. Instead, it provides:
Code Generation Tools: Generate WordPress code following best practices
Coding Standards: WordPress coding standards validation and formatting
Framework Guides: Knowledge base for Gutenberg, GeneratePress, GenerateBlocks, and WPCodebox
Best Practices: Security, performance, and compatibility guidelines
Related MCP server: wp-devdocs-mcp
Features
Code Generation
Gutenberg block code (block.json, PHP registration, React components)
GenerateBlocks-compatible block code
WordPress functions, hooks, shortcodes, and REST API endpoints
WPCodebox-formatted code snippets
Coding Standards
PHP coding standards validation
JavaScript coding standards validation
CSS coding standards validation
Security best practices (sanitization, escaping, nonces)
Performance optimization guidelines
Knowledge Base
WordPress coding standards reference
Gutenberg block development patterns
GenerateBlocks development guide
WPCodebox snippet format specifications
GeneratePress theme best practices
Quick Start: Connecting the MCP Server
Prerequisites
Node.js 18.0.0 or higher
npm or yarn
Claude Desktop or Cursor installed
Follow these simple steps to connect this MCP server to Claude Desktop or Cursor.
Step 1: Install and Build
Clone the repository:
git clone https://github.com/JTruax/BOIM-WP-MCP.git cd BOIM-WP-MCPInstall dependencies:
npm installBuild the project:
npm run buildVerify the build succeeded: You should see a
dist/directory created withindex.jsinside it. If the build fails, check that all dependencies installed correctly.Note the full path to the
dist/index.jsfile. You'll need this in the next step.To get the full path:
macOS/Linux: Run
pwdin the terminal aftercd BOIM-WP-MCP, then append/dist/index.jsWindows: Run
cdin Command Prompt aftercd BOIM-WP-MCP, then append\dist\index.js
Example paths:
macOS/Linux:
/Users/yourname/BOIM-WP-MCP/dist/index.jsWindows:
C:\\Users\\yourname\\BOIM-WP-MCP\\dist\\index.js(use double backslashes\\in JSON, or forward slashes/)
Step 2: Configure Claude Desktop
Locate your Claude Desktop config file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
Open the config file in a text editor. If it doesn't exist, create it.
Add the MCP server configuration:
If the file is empty or doesn't have
mcpServers, use this:{ "mcpServers": { "wordpress-gutenberg": { "command": "node", "args": ["/full/path/to/BOIM-WP-MCP/dist/index.js"] } } }If the file already has
mcpServers, add to the existing object:{ "mcpServers": { "existing-server": { ... }, "wordpress-gutenberg": { "command": "node", "args": ["/full/path/to/BOIM-WP-MCP/dist/index.js"] } } }Replace
/full/path/to/BOIM-WP-MCP/dist/index.jswith your actual path from Step 1.Save the file and restart Claude Desktop.
Step 3: Configure Cursor
Open Cursor Settings:
Press
Cmd/Ctrl + Shift + Pto open the command paletteType "Preferences: Open User Settings (JSON)" and select it
Or go to Settings → Extensions → MCP (if available)
Add the MCP server configuration:
Add this to your Cursor settings JSON:
{ "mcp.servers": { "wordpress-gutenberg": { "command": "node", "args": ["/full/path/to/BOIM-WP-MCP/dist/index.js"] } } }Replace
/full/path/to/BOIM-WP-MCP/dist/index.jswith your actual path from Step 1.Save the settings and restart Cursor.
Step 4: Verify Connection
Restart your application (Claude Desktop or Cursor).
Check for the MCP server:
In Claude Desktop: The server should appear in the MCP servers list
In Cursor: Check the MCP status indicator
Test a tool:
Try asking: "Generate a Gutenberg block called 'custom-card'"
Or: "Format this PHP code for WPCodebox: [your code]"
Troubleshooting
MCP server not appearing?
Verify the path to
dist/index.jsis correct and absolute (not relative)Make sure you ran
npm run buildsuccessfullyCheck that Node.js is installed:
node --version(should be 18.0.0 or higher)Restart your application completely
"Command not found" error?
Make sure Node.js is in your system PATH
Try using the full path to Node.js:
"/usr/local/bin/node"or"C:\Program Files\nodejs\node.exe"
JSON syntax error?
Validate your JSON at jsonlint.com
Make sure all quotes are properly escaped
Ensure there are no trailing commas
Still having issues?
Open an issue on GitHub with:
Your operating system
The error message (if any)
Your configuration file (with paths redacted)
Available Tools
WPCodebox Tools
format_wpcodebox_snippet- Format code snippet for WPCodeboxget_wpcodebox_guidelines- Get WPCodebox usage guidelinesvalidate_wpcodebox_snippet- Validate snippet structure
Gutenberg Tools
generate_gutenberg_block- Generate complete Gutenberg block codegenerate_block_variation- Generate block variationgenerate_block_pattern- Generate block patternget_gutenberg_standards- Get Gutenberg development standards
GenerateBlocks Tools
generate_gb_block- Generate GenerateBlocks-compatible block codegenerate_gb_styles- Generate GenerateBlocks-specific CSSgenerate_gb_template- Generate GenerateBlocks template codeget_generateblocks_guide- Get GenerateBlocks development guide
WordPress Utility Tools
generate_php_function- Generate WordPress PHP functiongenerate_hook- Generate WordPress action or filter hookgenerate_shortcode- Generate WordPress shortcodegenerate_rest_endpoint- Generate WordPress REST API endpointformat_for_wpcodebox- Format any code for WPCodebox
Available Resources
Knowledge Base Resources
resource://wordpress-gutenberg-mcp/coding-standards- WordPress coding standardsresource://wordpress-gutenberg-mcp/gutenberg-patterns- Gutenberg block patternsresource://wordpress-gutenberg-mcp/generateblocks-guide- GenerateBlocks guideresource://wordpress-gutenberg-mcp/wpcodebox-format- WPCodebox formatresource://wordpress-gutenberg-mcp/generatepress-guide- GeneratePress guide
Examples
Generate a Gutenberg Block
// Use the generate_gutenberg_block tool
{
"name": "custom-card",
"title": "Custom Card",
"description": "A custom card block",
"category": "design"
}Format Code for WPCodebox
// Use the format_wpcodebox_snippet tool
{
"title": "Custom Function",
"code": "function my_function() { ... }",
"language": "php",
"description": "A custom WordPress function",
"tags": ["function", "custom"]
}Generate a WordPress Hook
// Use the generate_hook tool
{
"type": "filter",
"hook": "the_content",
"callback": "modify_content",
"description": "Modify post content"
}Development
Project Structure
BOIM-WP-MCP/
├── src/
│ ├── index.ts # Main MCP server
│ ├── standards.ts # Coding standards
│ └── tools/
│ ├── wpcodebox.ts # WPCodebox tools
│ ├── gutenberg-blocks.ts # Gutenberg tools
│ ├── generateblocks.ts # GenerateBlocks tools
│ └── wordpress-utils.ts # WordPress utilities
├── resources/
│ ├── coding-standards.md # Coding standards guide
│ ├── gutenberg-patterns.md # Gutenberg patterns
│ ├── generateblocks-guide.md # GenerateBlocks guide
│ ├── wpcodebox-format.md # WPCodebox format
│ └── generatepress-guide.md # GeneratePress guide
├── package.json
├── tsconfig.json
└── README.mdBuilding
npm run buildDevelopment Mode
npm run devType Checking
npm run type-checkWordPress Best Practices
This MCP server follows and enforces WordPress best practices:
Security
Sanitize all user input
Escape all output
Use nonces for forms
Check user capabilities
Validate and sanitize data
Performance
Minimize database queries
Use transients for expensive operations
Optimize CSS/JS delivery
Use lazy loading when appropriate
Compatibility
GeneratePress theme compatibility
GenerateBlocks plugin compatibility
WordPress coding standards compliance
Backward compatibility considerations
Contributing
Contributions are welcome! Please follow these guidelines:
Fork the repository
Create a feature branch
Make your changes
Follow WordPress coding standards
Test your changes
Submit a pull request
License
MIT License - see LICENSE file for details
Support
For issues, questions, or contributions, please open an issue on GitHub.
Acknowledgments
WordPress community for coding standards
GeneratePress team for the excellent theme
GenerateBlocks team for the powerful block collection
WPCodebox for code snippet management
Changelog
1.0.1
Removed WPCodebox formatting overrides (code formatting now handled by default agent)
Added SCSS formatting rule
1.0.0
Initial release
WPCodebox formatting tools
Gutenberg block generation
GenerateBlocks integration
WordPress utility tools
Coding standards validation
Knowledge base resources
Available Tools
16 toolsformat_for_wpcodeboxB
Format any generated code for WPCodebox snippet structure
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Snippet title | |
| code | Yes | Code to format | |
| language | Yes | Programming language | |
| description | No | Snippet description | |
| tags | No | Tags for organization |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. The description only states what the tool does ('format'), but doesn't explain what formatting entails, whether it validates input, what the output looks like, or any error conditions. For a tool with 5 parameters and no annotations, this is insufficient behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that gets straight to the point. It wastes no words and communicates the core function immediately. This is an excellent example of conciseness with appropriate structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters, no annotations, and no output schema, the description is minimally adequate but has clear gaps. It states what the tool does but doesn't explain the formatting process, output format, or behavioral characteristics. For a formatting tool with multiple parameters, more context about what the formatting entails would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 5 parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema. The baseline of 3 is appropriate when the schema does the heavy lifting for parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Format any generated code for WPCodebox snippet structure.' It specifies the verb ('format') and resource ('generated code'), and indicates the target format ('WPCodebox snippet structure'). However, it doesn't explicitly differentiate from its closest sibling 'format_wpcodebox_snippet' or other formatting/generation tools in the list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With multiple sibling tools like 'format_wpcodebox_snippet', 'generate_php_function', and 'validate_wpcodebox_snippet', there's no indication of when this specific formatting tool is appropriate versus when to use other generation or validation tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
format_wpcodebox_snippetB
Format a code snippet for WPCodebox plugin with proper structure and metadata
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Snippet title | |
| code | Yes | The code to format | |
| language | Yes | Programming language | |
| description | No | Optional description of what the snippet does | |
| scope | No | Where the code should run (default: global) | |
| priority | No | Execution priority (default: 10) | |
| active | No | Whether snippet should be active (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions formatting with 'proper structure and metadata,' which implies a transformation or creation process, but doesn't disclose behavioral traits like whether this creates a new snippet, modifies existing ones, requires specific permissions, or has side effects. For a tool with no annotations, this leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded and appropriately sized for its function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is minimal but covers the basic purpose. For a tool with 7 parameters and no structured behavioral hints, it should do more to explain usage context and outcomes, but it's adequate as a starting point.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 7 parameters. The description adds no additional meaning beyond implying formatting involves these parameters, but doesn't explain their interactions or provide context beyond what's in the schema. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Format a code snippet') and target ('for WPCodebox plugin'), with specific details about structure and metadata. However, it doesn't explicitly differentiate from sibling tools like 'format_for_wpcodebox' or 'validate_wpcodebox_snippet', which appear related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description doesn't mention when to choose this over sibling tools like 'format_for_wpcodebox' or 'validate_wpcodebox_snippet', nor does it specify prerequisites or exclusions for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_block_patternC
Generate a Gutenberg block pattern
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Pattern title | |
| description | No | Pattern description | |
| content | Yes | Block markup content | |
| categories | No | Pattern categories | |
| keywords | No | Pattern keywords |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It states 'generate' which implies a creation/write operation, but doesn't specify what happens after generation (e.g., where the pattern is saved, if it requires specific permissions, or if it's idempotent). For a tool with no annotations and likely mutation behavior, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's appropriately sized for a tool with good schema coverage and gets straight to the point without unnecessary elaboration, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (a generation tool likely involving mutation), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what the tool returns, error conditions, or behavioral nuances. For a tool with 5 parameters and no structured safety hints, more context is needed to guide effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all 5 parameters well-documented in the schema itself. The description adds no additional meaning about parameters beyond what's in the schema (e.g., no examples, format details, or constraints). Baseline 3 is appropriate when the schema does the heavy lifting, but the description doesn't compensate or enhance understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Generate a Gutenberg block pattern' states the basic action (generate) and resource (Gutenberg block pattern), but it's vague about what this actually produces. It doesn't distinguish from sibling tools like 'generate_gutenberg_block' or 'generate_gb_template', leaving ambiguity about what specifically differentiates a 'block pattern' from other Gutenberg-related outputs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. With multiple sibling tools for Gutenberg/generation (e.g., generate_gutenberg_block, generate_gb_template, generate_block_variation), the description offers no context about appropriate use cases, prerequisites, or exclusions, leaving the agent to guess based on tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_block_variationC
Generate a Gutenberg block variation
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Variation name (slug) | |
| title | Yes | Variation title | |
| description | No | Variation description | |
| attributes | No | Default attributes for the variation |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral information. It doesn't disclose whether this creates permanent changes, requires specific permissions, has rate limits, or what happens when a variation is generated. The description only states what the tool does, not how it behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the core purpose without unnecessary words. It's appropriately sized for a tool with good schema documentation and gets straight to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations and no output schema, the description is insufficient. It doesn't explain what a Gutenberg block variation is, what the tool returns, or provide any context about the WordPress/Gutenberg ecosystem. Users need more information to understand what they're creating and what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 4 parameters thoroughly. The description adds no additional parameter information beyond what's in the schema. This meets the baseline of 3 when schema coverage is high, but doesn't provide extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool generates a Gutenberg block variation, which is a clear verb+resource combination. However, it doesn't differentiate from siblings like 'generate_gutenberg_block' or 'generate_gb_block' - these might create full blocks while this creates variations of existing blocks, but the description doesn't clarify this distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With multiple sibling tools related to Gutenberg block generation (generate_gutenberg_block, generate_gb_block, generate_block_pattern), there's no indication of when this variation generator is appropriate versus creating a full block or pattern.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_gb_blockC
Generate GenerateBlocks-compatible block code
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | GenerateBlocks block type | |
| attributes | No | Block attributes | |
| innerBlocks | No | Inner block markup |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the action of generation without details on output format, error handling, permissions, or side effects. This is inadequate for a tool that likely produces code, requiring more context on its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words. It is front-loaded and clear, making it easy to parse quickly, though it could benefit from more detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a tool that generates code (a complex operation), the description is incomplete. It lacks information on output format, error cases, or integration with GenerateBlocks, leaving significant gaps for an agent to use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents parameters like 'type' with enum values, 'attributes', and 'innerBlocks'. The description adds no additional meaning beyond the schema, such as examples or constraints, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool generates GenerateBlocks-compatible block code, which provides a general purpose. However, it lacks specificity about what 'compatible block code' entails (e.g., markup, JSON, or PHP) and does not clearly differentiate from sibling tools like 'generate_gutenberg_block' or 'generate_block_pattern', making it somewhat vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention prerequisites, context for use, or compare to siblings such as 'generate_gutenberg_block' or 'generate_block_variation', leaving the agent without clear usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_gb_stylesC
Generate GenerateBlocks-specific SCSS (compile to CSS for production)
| Name | Required | Description | Default |
|---|---|---|---|
| blockType | Yes | Block type (container, grid, headline, etc.) | |
| selector | Yes | CSS selector | |
| styles | Yes | SCSS properties and values (will be formatted as SCSS) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool generates SCSS for compilation to CSS, implying a read-only or generation operation, but it doesn't cover critical aspects like whether it modifies existing files, requires specific permissions, handles errors, or has rate limits. For a tool with three parameters and no annotations, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose ('Generate GenerateBlocks-specific SCSS') and adds a clarifying note ('compile to CSS for production'). There's no wasted text, making it appropriately concise for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has three parameters, no annotations, and no output schema, the description is incomplete. It adequately explains the purpose but lacks usage guidelines, behavioral details (e.g., side effects, error handling), and output information. For a generation tool with multiple inputs, this leaves the agent with insufficient context to use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters (blockType, selector, styles) with clear descriptions. The description adds no additional meaning beyond implying the styles parameter is formatted as SCSS, which is somewhat redundant with the schema's 'SCSS properties and values' note. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Generate') and target ('GenerateBlocks-specific SCSS'), specifying it's for compilation to CSS in production. It distinguishes from siblings like 'generate_gb_block' or 'generate_gutenberg_block' by focusing on SCSS generation rather than block or template creation. However, it doesn't explicitly differentiate from all siblings, such as 'format_for_wpcodebox', which might involve similar code generation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description mentions 'compile to CSS for production', implying a production context, but it doesn't specify prerequisites, exclusions, or direct comparisons to siblings like 'generate_gb_block' or 'generate_gutenberg_block'. This leaves the agent without clear decision-making criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_gb_templateC
Generate GenerateBlocks template code
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Template name | |
| description | No | Template description | |
| blocks | Yes | Array of blocks in the template |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool generates code, implying a creation operation, but does not specify whether this is a read-only or mutative action, what permissions might be required, or any side effects like file creation or API calls. The description is too vague to inform the agent about behavioral traits beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It is front-loaded and wastes no space, though it could benefit from more detail to improve clarity. The brevity is appropriate but borders on under-specification given the lack of additional context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of generating code templates and the absence of annotations and output schema, the description is insufficient. It does not explain what the generated output looks like (e.g., code format, structure), nor does it provide behavioral context or usage guidelines. For a tool with 3 parameters and no structured output information, more descriptive detail is needed to guide the agent effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, clearly documenting parameters like 'name', 'description', and 'blocks' with their types and purposes. The description adds no additional semantic context beyond what the schema provides, such as examples or constraints. With high schema coverage, the baseline score of 3 is appropriate, as the schema adequately handles parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Generate GenerateBlocks template code' is a tautology that essentially restates the tool name with minimal elaboration. It specifies the action ('Generate') and resource ('GenerateBlocks template code'), but lacks specificity about what a 'template' entails or how it differs from similar tools like 'generate_block_pattern' or 'generate_gb_block'. The purpose is clear at a basic level but fails to distinguish from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With multiple sibling tools like 'generate_block_pattern', 'generate_gb_block', and 'generate_gutenberg_block', there is no indication of context, prerequisites, or exclusions. This leaves the agent without direction on selecting the appropriate tool for the task.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_gutenberg_blockB
Generate complete Gutenberg block code including block.json, PHP registration, and React components
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Block name (slug, e.g., "custom-card") | |
| title | Yes | Block title (display name) | |
| description | No | Block description | |
| category | No | Block category (text, media, design, widgets, theme, embed) | |
| icon | No | Dashicon name or icon identifier | |
| keywords | No | Search keywords for the block |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool generates code but doesn't clarify whether this is a read-only operation, if it requires specific permissions, what the output format looks like (e.g., file structure, code snippets), or any potential side effects like file creation. For a code generation tool with zero annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the key action and output details without unnecessary words. It directly states what the tool does ('Generate complete Gutenberg block code') and specifies the components included, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (generating multiple code components) and lack of annotations or output schema, the description is somewhat incomplete. It mentions the output includes 'block.json, PHP registration, and React components' but doesn't detail the behavior, format, or any constraints. However, the high schema coverage for parameters provides some compensation, making it minimally adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with all 6 parameters clearly documented in the input schema (e.g., name, title, category). The description doesn't add any additional meaning or context beyond what the schema provides, such as explaining how parameters influence the generated code. With high schema coverage, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Generate complete Gutenberg block code including block.json, PHP registration, and React components.' It specifies the verb 'generate' and the resource 'Gutenberg block code' with details about the output components. However, it doesn't explicitly differentiate from sibling tools like 'generate_gb_block' or 'generate_block_pattern', which might have overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any prerequisites, exclusions, or comparisons to sibling tools such as 'generate_gb_block' or 'generate_block_pattern', leaving the agent to infer usage based on the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_hookC
Generate WordPress action or filter hook code
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | Hook type | |
| hook | Yes | Hook name | |
| callback | Yes | Callback function name | |
| priority | No | Hook priority (default: 10) | |
| args | No | Number of arguments (default: 1) | |
| description | No | Hook description |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool generates code but doesn't specify output format (e.g., PHP snippet, full file), whether it validates inputs, or any side effects like saving to a file. For a code-generation tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence: 'Generate WordPress action or filter hook code'. It's front-loaded with the core purpose, has zero waste, and is appropriately sized for a straightforward tool. Every word earns its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a code-generation tool with 6 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what the generated output looks like (e.g., PHP code snippet), how to use it in WordPress, or any dependencies. This leaves users guessing about the tool's full context and utility.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 6 parameters with descriptions. The description adds no additional parameter semantics beyond what's in the schema, such as examples or constraints. Baseline 3 is appropriate when the schema does the heavy lifting, but no extra value is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Generate WordPress action or filter hook code'. It specifies the verb ('Generate') and resource ('WordPress action or filter hook code'), making the function unambiguous. However, it doesn't explicitly differentiate from sibling tools like generate_php_function or generate_shortcode, which also generate code for WordPress components.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context for WordPress development, or how it differs from sibling tools such as generate_php_function or generate_shortcode. Without this, users must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_php_functionC
Generate WordPress PHP function following coding standards
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Function name | |
| description | No | Function description | |
| parameters | No | Function parameters | |
| returnType | No | Return type | |
| body | Yes | Function body code | |
| hooks | No | Hooks to register |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions 'following coding standards' which hints at quality constraints, but doesn't disclose critical behavioral traits: whether this creates actual files or just returns code, what happens if inputs are invalid, if there are rate limits, authentication needs, or what the output format looks like. For a code generation tool with zero annotation coverage, this is inadequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasted words. It's front-loaded with the core purpose and includes the key constraint about coding standards. Every word earns its place without redundancy or unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a code generation tool with 6 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what the tool returns (raw code, formatted output, file creation?), doesn't cover error conditions or validation rules, and provides minimal behavioral context. The 'coding standards' hint is insufficient for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 6 parameters thoroughly. The description adds no additional meaning about parameters beyond implying they relate to PHP function generation. With high schema coverage, baseline 3 is appropriate as the description doesn't enhance parameter understanding beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Generate' and the resource 'WordPress PHP function', specifying it follows 'coding standards'. It distinguishes from some siblings like 'generate_hook' or 'generate_shortcode' by focusing on PHP functions, but doesn't explicitly differentiate from all code-generation siblings like 'generate_gutenberg_block'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. With many sibling tools for generating various WordPress code elements (blocks, hooks, endpoints, etc.), the description lacks any context about appropriate use cases, prerequisites, or comparisons to similar tools like 'generate_hook' or 'generate_rest_endpoint'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_rest_endpointC
Generate WordPress REST API endpoint
| Name | Required | Description | Default |
|---|---|---|---|
| namespace | Yes | REST API namespace | |
| route | Yes | Route path | |
| method | No | HTTP method | |
| description | No | Endpoint description | |
| parameters | No | Endpoint parameters | |
| callback | Yes | Callback function name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral information. It states what the tool does but doesn't disclose whether this generates code, modifies files, requires specific permissions, has side effects, or what format the output takes. For a code generation tool with zero annotation coverage, this is inadequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the core purpose without unnecessary words. It's appropriately sized for a tool with comprehensive schema documentation and gets straight to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a code generation tool with 6 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what gets generated (code snippet, file, configuration), where it goes, or what the agent should expect as a result. The schema handles parameter documentation well, but the overall context is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 6 parameters thoroughly. The description doesn't add any meaningful parameter semantics beyond what's in the schema - it doesn't explain relationships between parameters, provide examples, or clarify usage patterns. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as generating a WordPress REST API endpoint, specifying both the action (generate) and resource (endpoint). It distinguishes from most siblings focused on code generation for WordPress, but doesn't explicitly differentiate from other REST-related tools since none exist in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, appropriate contexts, or compare with sibling tools like generate_php_function or generate_hook that might serve similar purposes in WordPress development.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_shortcodeC
Generate WordPress shortcode implementation
| Name | Required | Description | Default |
|---|---|---|---|
| tag | Yes | Shortcode tag | |
| description | No | Shortcode description | |
| attributes | No | Shortcode attributes | |
| body | Yes | Shortcode body code |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the tool generates a shortcode implementation but doesn't disclose behavioral traits like whether it outputs code, modifies files, requires authentication, handles errors, or has rate limits. This leaves significant gaps for an agent to understand how to invoke it effectively.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words. It's front-loaded and directly states the tool's purpose, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a code-generation tool with no annotations and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., code snippet, file), potential side effects, or error handling, leaving the agent with insufficient context for reliable use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema fully documents the parameters (tag, description, attributes, body). The description adds no additional meaning beyond the schema, such as examples or constraints, which is acceptable given the high coverage, resulting in a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as 'Generate WordPress shortcode implementation,' which specifies the action (generate) and resource (WordPress shortcode). It distinguishes from most siblings that focus on blocks, hooks, or validation, though it doesn't explicitly differentiate from format_for_wpcodebox or format_wpcodebox_snippet, which are related but not identical.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context, or exclusions, such as when to choose this over generate_gutenberg_block or other code-generation tools in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_generateblocks_guideB
Get GenerateBlocks development guide and best practices
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states what the tool does ('Get... guide and best practices'), without revealing any behavioral traits such as whether it's a read-only operation, if it requires authentication, rate limits, or what the output format might be. This is a significant gap for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It is front-loaded and appropriately sized for a simple tool with no parameters, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is minimal but adequate for basic understanding. However, it lacks completeness in terms of behavioral context (e.g., output format, any side effects) and usage guidelines, which are important even for simple tools to ensure correct agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and schema description coverage is 100%, so there are no parameters to document. The description doesn't need to add parameter semantics, and it appropriately avoids mentioning any. A baseline score of 4 is assigned as it handles the lack of parameters correctly without introducing confusion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'GenerateBlocks development guide and best practices', making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_gutenberg_standards' or 'get_wpcodebox_guidelines', which also retrieve documentation/guidelines, so it misses full sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention context, prerequisites, or exclusions, leaving the agent to infer usage based on the tool name alone, which is insufficient for optimal selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_gutenberg_standardsB
Get Gutenberg block development standards and best practices
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool retrieves standards but doesn't describe the return format, potential limitations, or any behavioral traits like rate limits or authentication needs. This leaves the agent with incomplete information about how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that efficiently conveys the tool's purpose without any wasted words. It's front-loaded with the essential information, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., text, structured data, or a reference), which is critical for a retrieval tool. This gap reduces its usefulness for an agent in understanding the full context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema description coverage is 100%, so there's no need for parameter details in the description. The description appropriately focuses on the tool's purpose without redundant parameter information, earning a high baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Get') and resource ('Gutenberg block development standards and best practices'), making it immediately understandable. It doesn't explicitly distinguish from sibling tools, but since siblings are mostly about generating or formatting code rather than retrieving standards, the distinction is somewhat inherent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any prerequisites, context, or exclusions, leaving the agent to infer usage based on the purpose alone. This is a significant gap for effective tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_wpcodebox_guidelinesB
Get WPCodebox usage guidelines and best practices
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves guidelines and best practices, implying a read-only operation, but doesn't specify whether it returns structured data, text, or other formats, or if there are any limitations like rate constraints or authentication requirements. This leaves significant gaps for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's function without any wasted words. It's front-loaded with the core action and resource, making it easy to parse and understand quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and no output schema, the description adequately covers the basic purpose. However, without annotations or details on return format, it lacks completeness for guiding an agent on what to expect from the output, which could be important for a tool that provides guidelines and best practices.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the input schema has 100% description coverage (though empty). The description doesn't need to add parameter details, as there are none to explain. It appropriately focuses on the tool's purpose without redundant information, meeting the baseline for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Get') and resource ('WPCodebox usage guidelines and best practices'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_generateblocks_guide' or 'get_gutenberg_standards', which appear to serve similar informational purposes but for different topics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context, or exclusions, nor does it reference sibling tools that might be relevant for related information needs, leaving the agent to infer usage based on tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_wpcodebox_snippetC
Validate a snippet structure against WPCodebox requirements
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Snippet title | |
| code | Yes | The code to validate | |
| language | Yes | Programming language | |
| scope | No | Where the code should run | |
| priority | No | Execution priority |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral insight. It states the tool validates structure, but doesn't disclose what validation entails (e.g., syntax checks, scope compatibility, error handling), whether it's read-only or has side effects, or what happens on failure. This is inadequate for a tool with 5 parameters and no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose ('validate a snippet structure') without unnecessary words. It earns its place by specifying the target ('against WPCodebox requirements'), making it appropriately sized and structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, validation logic) and lack of annotations and output schema, the description is incomplete. It doesn't explain what validation checks are performed, what the return value indicates (e.g., success/failure, error details), or behavioral traits. This leaves significant gaps for an AI agent to understand tool invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are well-documented in the schema itself. The description adds no additional meaning beyond implying validation involves these parameters. This meets the baseline of 3, as the schema handles the heavy lifting without needing extra detail in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'validate' and the resource 'snippet structure', specifying it's against 'WPCodebox requirements'. It distinguishes from siblings like 'format_wpcodebox_snippet' by focusing on validation rather than formatting. However, it doesn't explicitly differentiate from all siblings (e.g., 'get_wpcodebox_guidelines'), keeping it at 4 instead of 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when validation is needed (e.g., before saving or deploying snippets) or refer to sibling tools like 'format_wpcodebox_snippet' for complementary actions. This lack of context leaves usage unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
16 tool updates
v1.0.0- First observed
format_for_wpcodebox - First observed
format_wpcodebox_snippet - First observed
generate_block_pattern - First observed
generate_block_variation - First observed
generate_gb_block - First observed
generate_gb_styles - First observed
generate_gb_template - First observed
generate_gutenberg_block - First observed
generate_hook - First observed
generate_php_function - First observed
generate_rest_endpoint - First observed
generate_shortcode - First observed
get_generateblocks_guide - First observed
get_gutenberg_standards - First observed
get_wpcodebox_guidelines - First observed
validate_wpcodebox_snippet
TDQS
Most tools have distinct purposes targeting different WordPress development tasks (e.g., block generation, hooks, REST endpoints), but there is some overlap between 'format_for_wpcodebox' and 'format_wpcodebox_snippet' which could cause confusion as both handle WPCodebox formatting. The 'generate_gb_block' and 'generate_gutenberg_block' tools are clearly separated by targeting different block systems (GenerateBlocks vs core Gutenberg).
Tool names follow a highly consistent verb_noun pattern throughout, with all tools using 'generate_', 'get_', 'format_', or 'validate_' prefixes followed by specific nouns (e.g., 'generate_block_pattern', 'get_gutenberg_standards'). There are no deviations in naming conventions, making the set predictable and easy to navigate.
With 16 tools, the count is slightly high but reasonable for the WordPress development scope, covering multiple frameworks (Gutenberg, GenerateBlocks, WPCodebox) and code types (blocks, hooks, functions, endpoints). It might feel a bit heavy, but each tool appears to serve a specific niche in this specialized domain without obvious redundancy beyond the WPCodebox formatting overlap.
The toolset provides comprehensive coverage for WordPress development tasks, including code generation for blocks, hooks, functions, REST endpoints, and shortcodes, plus formatting/validation for WPCodebox and guides for best practices. There are no apparent gaps; agents can handle full workflows from creation to validation across supported frameworks.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Security-first WordPress MCP server. 129 tools for Claude, ChatGPT, Gemini. Free on wp.org.
WordPress MCP server: generate SEO posts, AI images, autoblog & WooCommerce on your self-hosted site
WordPress MCP server: publish posts, AI images, SEO and full site management, self-hosted
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
Related MCP Servers
- AlicenseBqualityCmaintenanceAn MCP server that provides utilities for web developers to automate API integration, convert Figma designs to code, and optimize development workflows with tools for asset management and code generation.283838Mozilla Public 2.0
- AlicenseNot gradedqualityDmaintenanceAn MCP server that indexes WordPress hooks, filters, block registrations, and JS API calls to provide AI assistants with a verified source-code database. It enables models to search, validate, and retrieve code context for WordPress and its plugins to eliminate hook-name hallucinations.1972MIT
- AlicenseNot gradedqualityDmaintenanceA comprehensive MCP server for WordPress automation that enables users to manage content, themes, and site configurations using AI-driven workflows and the WordPress REST API. It provides a wide array of tools for site planning, management, and optimization compatible with tools like Cursor and Claude.651ISC
- AlicenseBqualityDmaintenanceMCP server that gives AI tools full WordPress management via WP-CLI. 30+ tools for themes, plugins, posts, menus, users, database, scaffolding, and cache. Works locally or over SSH.34315MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/JTruax/BOIM-WP-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server