Skip to main content
Glama
patternfly

PatternFly MCP Server

Official
by patternfly

PatternFly MCP Server

A Model Context Protocol (MCP) server that provides access to PatternFly rules and documentation, built with Node.js.

The PatternFly MCP server is a comprehensive library resource for PatternFly. It is intended to be extensible to meet the needs of different teams and projects, from simple to complex, from design to development. Read more about our roadmap and how we've structured the server in our architecture docs.

Requirements

Related MCP server: PatternFly MCP Server

Quick start

The PatternFly MCP Server supports multiple configurations; see the usage documentation for details.

For integrated use with an IDE

Set a basic MCP configuration

Unable to update to the required Node.js version? See pinned MCP configuration examples for earlier Node.js versions.

Minimal configuration

{
  "mcpServers": {
    "patternfly-mcp": {
      "command": "npx",
      "args": ["-y", "@patternfly/patternfly-mcp@latest"],
      "description": "PatternFly rules and documentation"
    }
  }
}

HTTP transport mode

{
  "mcpServers": {
    "patternfly-mcp": {
      "command": "npx",
      "args": ["-y", "@patternfly/patternfly-mcp@latest", "--http", "--port", "8080"],
      "description": "PatternFly rules and documentation (HTTP transport)"
    }
  }
}

See the MCP Server Configuration documentation for more examples.

For development, advanced usage

Run the latest released server

Run the latest published package immediately via npx:

npx -y @patternfly/patternfly-mcp@latest

Or with options

npx -y @patternfly/patternfly-mcp@latest --log-stderr --verbose

Run a locally built server

# clone the repo, change the directory, npm install, npm run build, then in the repo context run...
npm start

Inspect the server

Visualize and test the packaged MCP interface:

npx -y @modelcontextprotocol/inspector npx -y @patternfly/patternfly-mcp@latest

Build from source and test a local built MCP interface:

# clone the repo, change the directory, npm install, npm run build, then in the repo context run...
npx -y @modelcontextprotocol/inspector node dist/cli.js

Embed the server in your application

import { start } from '@patternfly/patternfly-mcp';

// Remember to avoid using console.log and info, they pollute STDOUT
async function main() {
  const server = await start();

  // Graceful shutdown
  process.on('SIGINT', async () => {
    await server.stop();
    process.exit(0);
  });
}

main();

See the development documentation for additional examples, CLI and embedded server options.

Documentation

For comprehensive usage, development, and project state read the docs.

Security & Governance

See SECURITY.md for vulnerability reporting and GOVERNANCE.md for how contributions are reviewed.

Contributing

Contributing? Guidelines can be found here CONTRIBUTING.md.

AI agent

If you're using an AI assistant to help with development in this repository, please prompt it to review the repo guidelines to ensure adherence to project conventions.

Guidelines for developer-agent interaction can be found in CONTRIBUTING.md.

Available Tools

2 tools
searchPatternFlyDocsA

Search PatternFly resources and get component names with documentation and guidance URLs. Supports case-insensitive partial and all ("*") matches.

  **Usage**:
    1. Input a "searchQuery" to find PatternFly documentation and guideline URLs, resource URIs, and component names.
    2. Use the returned resource names OR URLs OR URIs OR version with the "usePatternFlyDocs" tool to get markdown documentation, guidelines, and component JSON schemas.

  **Returns**:
    - Component and resource names that can be used with "usePatternFlyDocs"
    - Documentation and guideline URLs that can be used with "usePatternFlyDocs"
    - Resource URIs that can be used with "usePatternFlyDocs" or directly as MCP resources
  
ParametersJSON Schema
NameRequiredDescriptionDefault
versionNoFilter results by a specific PatternFly version (e.g. "current", "latest", "v6")
searchQueryYesFull or partial resource or component name to search for (e.g., "button", "react", "*")

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It describes search behavior (case-insensitive, partial, wildcard) and return types. Implies read-only, non-destructive operation. Lack of explicit auth or rate limit info is acceptable for a search tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with clear sections for usage and returns. First sentence captures purpose. No wasted words; every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, but description explains return values (bullet points). Parameters fully covered. Complexity moderate; workflow with sibling tool is explained. Complete enough for correct agent invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3. Description adds value by explaining wildcard support and version examples beyond schema descriptions. For searchQuery, it clarifies partial and full matches.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches PatternFly resources, returns component names with documentation URLs, and supports case-insensitive partial and wildcard matches. It distinguishes from sibling tool usePatternFlyDocs by explaining the workflow.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit usage steps: input a searchQuery, then use returned data with usePatternFlyDocs. Includes what is returned. No exclusion criteria or when-not-to-use mentioned, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

usePatternFlyDocsB

Get markdown documentation and component JSON schemas for PatternFly resources and components.

  **Usage**:
    1. Input a component or resource name (e.g., "Button", "Writing") OR a list of up to 15 patternfly:// URIs or documentation URLs at a time (typically from searchPatternFlyDocs results).

  **Returns**:
    - Markdown documentation
    - Component JSON schemas, if available
  
ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoThe name of a PatternFly component or patternfly:// URI resource to fetch documentation for (e.g., "Button", "patternfly://docs/Button")
urlListNoThe list of patternfly:// URIs or URLs to fetch the documentation from (max 15 at a time)
versionNoFilter results by a specific PatternFly version (e.g. "current", "latest", "v6")

TDQS

B3.2/5.0
Behavior2/5

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 discloses that the tool returns documentation and schemas and accepts up to 15 URIs, but it does not mention side effects, permissions, idempotency, or error behavior. For a retrieval tool, this is a noticeable 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with a clear structure: a brief intro, a usage section (numbered steps), and a return section. It is easy to scan and contains no redundant information, though it could be slightly more streamlined.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity and the fact that there is no output schema, the description covers the basic functionality and input options. However, it lacks details on error handling, what happens when a name or URI is invalid, and the exact format of the returned documentation. It is adequate but not comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so each parameter is described in the schema. The description adds context by explaining the OR relationship between 'name' and 'urlList' and providing examples, which adds marginal value over the schema alone. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves markdown documentation and JSON schemas for PatternFly resources. The verb 'get' combined with the resource type conveys the purpose well, but it does not explicitly differentiate from the sibling tool 'searchPatternFlyDocs' in the description, though it hints at the relationship by mentioning typical input from search results.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description advises that input is typically from searchPatternFlyDocs results and provides options for input (name or URL list). However, it does not explicitly state when to use this tool vs. alternatives, nor does it mention when not to use it. The guidance is implied but not fully explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A3.8/5.0
Disambiguation5/5

The two tools have clearly distinct purposes: one searches for documentation resources, the other retrieves the content. There is no functional overlap.

Naming Consistency5/5

Both tool names follow a consistent camelCase verb-noun pattern (searchPatternFlyDocs, usePatternFlyDocs), making them predictable and easy to distinguish.

Tool Count3/5

With only two tools, the server feels minimal for a full documentation surface. While it covers search and retrieval, additional tools like listing categories or listing all components would better match the apparent scope.

Completeness4/5

The server covers the basic query-retrieve cycle for PatternFly documentation. The search tool supports wildcards to effectively list all components, so the main gap is the lack of a direct 'list all' tool, but it's a minor shortcoming.

Maintenance

ActivityActive
ResponsivenessWithin a week

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

Related MCP Servers

Latest Blog Posts

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/patternfly/patternfly-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server