You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* contributing, node maintenance schedule
* architecture, recent adds for features and planning
* development, minor adds for node maintenance, future work
* usage, add recent adds, refactors for tools, resources
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+17Lines changed: 17 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -142,6 +142,23 @@ npm run test:integration
142
142
143
143
This mode leverages the `--mode test` and `--mode-test-url` flags to redirect resource lookups to a fixture server instead of live or local resources.
144
144
145
+
## Maintenance: Node.js engine bumps
146
+
147
+
The `Node.js` engine requirements are updated on a predictable biannual schedule to ensure the server remains secure, leverages modern runtime features, and provides stability for consumers.
148
+
149
+
### Schedule and process
150
+
-**Timing**: Bumps are generally targeted for **Spring (April/May)** and **Fall (October/November)**, aligned with the [Node.js release schedule](https://nodejs.org/en/about/previous-releases) as versions enter or exit LTS.
151
+
-**Security**: Out-of-band updates may be performed if critical security considerations arise.
152
+
-**Version Targets**:
153
+
- Focus on the latest **even-numbered (LTS/Stable)** versions (e.g., bumping to 22, 24, or 26).
154
+
- GitHub Workflows should be updated to include the latest available even version.
155
+
156
+
### Acceptance criteria for bumps
157
+
- Update `package.json` engine requirements.
158
+
- Update related GitHub Action workflows (CI/CD).
159
+
- Update "Environmental Requirements" in documentation.
160
+
- Ensure all tests pass on the new target version.
Copy file name to clipboardExpand all lines: docs/architecture.md
+50-40Lines changed: 50 additions & 40 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,29 +6,26 @@ The PatternFly MCP server is centered around the concept of a library for all th
6
6
7
7
### The library, PatternFly integration
8
8
9
-
PatternFly integration is centered around the following current, and future, tools:
10
-
- Searching for a resource
11
-
- Use and read a resource
12
-
- Finding, or discovering, a resource
9
+
The PatternFly MCP server provides a hybrid documentation system that merges baseline guidelines with dynamic content. It is centered around a **Resource Metadata** discovery layer that powers the following core tools:
13
10
14
-
#### Search PatternFly documentation
11
+
-**Searching for resources**: Querying the library for relevant documentation and components.
12
+
-**Reading resources**: Accessing full documentation and machine-readable schemas.
13
+
-**Discovering resources**: Navigating the library via automated indexes and URI templates.
15
14
16
-
A built-in tool for searching PatternFly documentation and resources integrated into the server.
15
+
#### Hybrid Documentation Model
17
16
18
-
#### Use PatternFly documentation
17
+
The library maintains a balance between being stable and current:
18
+
-**Baseline Data**: Core guidelines and accessibility standards integrated directly into the server.
19
+
-**Dynamic Content**: Component documentation and schemas synced from the PatternFly implementation, ensuring the LLM always has access to the latest props and patterns.
19
20
20
-
A built-in tool for reading and using PatternFly documentation and resources integrated into the server.
21
+
#### Discovery Layer (Resource Metadata)
21
22
22
-
#### Find and discover PatternFly documentation
23
+
Instead of a standalone "discovery" tool, the server implements a robust **Resource Metadata system**. This system:
24
+
- Generates automated indexes for all available documentation (`patternfly://docs/index`) and schemas (`patternfly://schemas/index`).
25
+
- Supports completion logic for MCP clients, allowing users to browse available resources effortlessly.
26
+
- Provides parameterized URI templates (RFC 6570) like `patternfly://docs/{name}` for direct, predictable access.
23
27
24
-
An evolving "future" tool (still undergoing refinement) for finding PatternFly documentation and resources not directly integrated into the server.
25
-
26
-
> This tool treats the MCP server as a library. Like a library, sometimes you need an interlibrary loan to gain access to the resource you need.
27
-
>
28
-
> The interlibrary concept is key because it starts to highlight that this third MCP tool could
29
-
> - Help provide updates for all PatternFly MCP server built-in tools, resources, and prompts
30
-
> - Maintain up-to-date documentation and resources
31
-
> - Provide a tailored experience for users based on their use patterns (e.g., a designer's experience is tailored to design, a developer's experience is tailored to development)
28
+
> This discovery layer treats the MCP server as a living library. It enables the server to provide updates for all built-in tools and resources while maintaining a tailored experience based on user patterns (e.g., tailoring responses for designers vs. developers).
32
29
33
30
### Tools, resources, and prompts as customizable plugins
34
31
@@ -48,59 +45,72 @@ Key goals aided by moving towards plugins:
B1(["Local and remote external tools, prompts, resources"])
63
65
B1 <--> D1
64
66
```
65
67
66
68
## Roadmap
67
69
68
70
### Planned features and integrations
69
71
70
-
To get towards our future state, there are a series of planned features and integrations.
72
+
Our roadmap focuses on expanding the server's reach and providing a more integrated development experience.
71
73
72
-
Current focus:
73
-
-**YAML configuration for remote tools, resources and prompts** - YAML configuration for remote MCP tools, resources, and prompt plugins
74
-
-**MCP resource, prompts, and helper function sharing** - A way to share MCP resources, prompts, and helper functions towards external tool plugins.
75
-
-**Find PatternFly documentation tool** - A tool that reaches out to known PatternFly documentation sources, caches locally, and integrates the results with existing MCP tools and resources.
76
-
-**PatternFly API integration** - A JSON API for PatternFly documentation, components, and patterns.
77
-
-**Hosted resource for sharing MCP tools, resources, prompts** - Shared tooling customization through PatternFly AI tooling repository (or equivalent)
74
+
#### In-progress
75
+
-**PatternFly API Integration**: A JSON API for documentation, components, and patterns that ensures the server is always in sync with the latest releases.
76
+
-**Child Process Lifecycle Management**: Background processes for API synchronization and tool isolation.
78
77
79
-
Under consideration:
80
-
-**MCP client** - A tailored MCP client specific for the PatternFly MCP server.
81
-
-**Auditing for shared tools, resources, and prompts** - An auditing tool that helps you refine your shared tools, resources, and prompts.
82
-
-**Containerized PatternFly MCP server, client, and LLM** - A containerized PatternFly MCP server, client, and embedded LLM. Use your own PatternFly chat client resource.
78
+
#### Future goals
79
+
-**Resource-Tool Integration**: Directly integrate MCP resources into tool responses to reduce token counts and allow tools to accept URI links as inputs.
80
+
-**Agentless MCP Client**: An MCP client for use without an LLM, allowing PatternFly tooling to integrate into CLI tools and CI/CD pipelines.
81
+
-**Environment & Analysis Tooling**: A third built-in tool focused on environment snapshots, code analysis, and whitelisted resource access for local project analysis.
82
+
-**YAML Configuration**: Remote tool, resource, and prompt plugins configured via YAML.
83
+
-**Resource/Helper Sharing**: Mechanisms to share resources and helper functions across external tool plugins.
The documentation catalog `src/docs.json` pins remote resources to specific commit SHAs (or explicit refs) for stability and reproducibility. This avoids unexpected upstream changes from breaking results. The `searchPatternFlyDocs` tool handles these lookups transparently for the user.
130
132
133
+
#### Environmental Requirements
134
+
135
+
-**Node.js 20+**: Required to run the core MCP server.
136
+
-**Node.js 22+**: Required for loading external tool plugins (`--tool`) and for developers working on advanced process isolation features.
For information on how we manage project dependencies, including our biannual Node.js engine bump schedule, please refer to the [Maintenance section in CONTRIBUTING.md](../CONTRIBUTING.md#maintenance-nodejs-engine-bumps).
391
+
392
+
## In-progress and future work
393
+
394
+
For more information on our development roadmap, including "in-progress" and "future" work, please refer to the [Architecture & Roadmap](./architecture.md#roadmap) documentation.
Copy file name to clipboardExpand all lines: docs/usage.md
+23-7Lines changed: 23 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -62,15 +62,31 @@ Fetch full documentation and component JSON schemas for specific PatternFly URLs
62
62
63
63
## Built-in resources
64
64
65
-
> MCP resources represent indexed collections of documentation.
65
+
> MCP resources represent indexed collections of documentation and machine-readable metadata.
66
66
67
-
The server exposes this resource-centric architecture via the `patternfly://` URI scheme:
67
+
The server exposes a resource-centric architecture via the `patternfly://` URI scheme. These resources can be used directly by MCP clients or referenced by tools to provide context.
68
68
69
-
-**`patternfly://context`**: General PatternFly MCP server context and high-level rules.
70
-
-**`patternfly://docs/index`**: Index of all available documentation pages.
71
-
-**`patternfly://docs/{name}`**: Documentation for a specific component (e.g., `patternfly://docs/Button`).
72
-
-**`patternfly://schemas/index`**: Index of all available component schemas.
73
-
-**`patternfly://schemas/{name}`**: JSON Schema for a specific component (e.g., `patternfly://schemas/Button`).
69
+
### Discovery resources
70
+
71
+
Use these indexes to discover what is available in the library:
72
+
73
+
-**`patternfly://docs/index{?version,category,section}`**: A comprehensive index of all available PatternFly documentation pages.
74
+
-**`patternfly://components/index{?version,category}`**: A list of all available PatternFly component names.
75
+
-**`patternfly://components/meta{?version}`**: Metadata discovery for components, helpful for understanding available filter parameters.
76
+
-**`patternfly://schemas/index{?version,category}`**: An index of all available component JSON schemas.
77
+
78
+
### Component and Documentation resources
79
+
80
+
Access specific component documentation or technical specifications using the following URI templates (RFC 6570):
81
+
82
+
-**`patternfly://docs/{name}{?version,category,section}`**: Full human-readable documentation for a specific component (e.g., `patternfly://docs/Button`) or guideline.
83
+
-**`patternfly://schemas/{name}{?version,category}`**: Machine-readable JSON Schema for a specific component, detailing props, types, and validation rules (e.g., `patternfly://schemas/Button`).
84
+
85
+
### Context and guidelines
86
+
87
+
-**`patternfly://context`**: General PatternFly MCP server context, including high-level development rules and accessibility guidelines.
88
+
89
+
> **Tip for LLMs**: When a user asks about a component you aren't familiar with, first check `patternfly://docs/index` to find the correct name, then read the documentation via `patternfly://docs/{Name}`. Use `patternfly://components/index` for a cleaner list of component-only names.
0 commit comments