@robinmordasiewicz/f5xc-terraform-mcp 2.15.1 β†’ 2.15.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +101 -109
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -1,153 +1,145 @@
1
- # MCP Registry
1
+ # F5 Distributed Cloud Terraform MCP Server
2
2
 
3
- The MCP registry provides MCP clients with a list of MCP servers, like an app store for MCP servers.
3
+ MCP server providing AI assistants with access to F5 Distributed Cloud (F5XC) Terraform provider documentation, 270+ OpenAPI specifications, subscription tier information, and addon service workflows.
4
4
 
5
- [**πŸ“€ Publish my MCP server**](docs/modelcontextprotocol-io/quickstart.mdx) | [**⚑️ Live API docs**](https://registry.modelcontextprotocol.io/docs) | [**πŸ‘€ Ecosystem vision**](docs/design/ecosystem-vision.md) | πŸ“– **[Full documentation](./docs)**
5
+ ## Installation
6
6
 
7
- ## Development Status
7
+ ### Option 1: npm (Requires Node.js 18+)
8
8
 
9
- **2025-10-24 update**: The Registry API has entered an **API freeze (v0.1)** πŸŽ‰. For the next month or more, the API will remain stable with no breaking changes, allowing integrators to confidently implement support. This freeze applies to v0.1 while development continues on v0. We'll use this period to validate the API in real-world integrations and gather feedback to shape v1 for general availability. Thank you to everyone for your contributions and patienceβ€”your involvement has been key to getting us here!
10
-
11
- **2025-09-08 update**: The registry has launched in preview πŸŽ‰ ([announcement blog post](https://blog.modelcontextprotocol.io/posts/2025-09-08-mcp-registry-preview/)). While the system is now more stable, this is still a preview release and breaking changes or data resets may occur. A general availability (GA) release will follow later. We'd love your feedback in [GitHub discussions](https://github.com/modelcontextprotocol/registry/discussions/new?category=ideas) or in the [#registry-dev Discord](https://discord.com/channels/1358869848138059966/1369487942862504016) ([joining details here](https://modelcontextprotocol.io/community/communication)).
12
-
13
- Current key maintainers:
14
- - **Adam Jones** (Anthropic) [@domdomegg](https://github.com/domdomegg)
15
- - **Tadas Antanavicius** (PulseMCP) [@tadasant](https://github.com/tadasant)
16
- - **Toby Padilla** (GitHub) [@toby](https://github.com/toby)
17
- - **Radoslav (Rado) Dimitrov** (Stacklok) [@rdimitrov](https://github.com/rdimitrov)
18
-
19
- ## Contributing
20
-
21
- We use multiple channels for collaboration - see [modelcontextprotocol.io/community/communication](https://modelcontextprotocol.io/community/communication).
22
-
23
- Often (but not always) ideas flow through this pipeline:
24
-
25
- - **[Discord](https://modelcontextprotocol.io/community/communication)** - Real-time community discussions
26
- - **[Discussions](https://github.com/modelcontextprotocol/registry/discussions)** - Propose and discuss product/technical requirements
27
- - **[Issues](https://github.com/modelcontextprotocol/registry/issues)** - Track well-scoped technical work
28
- - **[Pull Requests](https://github.com/modelcontextprotocol/registry/pulls)** - Contribute work towards issues
9
+ ```bash
10
+ # Run directly with npx
11
+ npx @robinmordasiewicz/f5xc-terraform-mcp
29
12
 
30
- ### Quick start:
13
+ # Or install globally
14
+ npm install -g @robinmordasiewicz/f5xc-terraform-mcp
15
+ f5xc-terraform-mcp
16
+ ```
31
17
 
32
- #### Pre-requisites
18
+ ### Option 2: Binary Bundle (No Dependencies)
33
19
 
34
- - **Docker**
35
- - **Go 1.24.x**
36
- - **ko** - Container image builder for Go ([installation instructions](https://ko.build/install/))
37
- - **golangci-lint v2.4.0**
20
+ Download the standalone `.mcpb` binary - no Node.js or Docker required:
38
21
 
39
- #### Running the server
22
+ 1. Download from [GitHub Releases](https://github.com/robinmordasiewicz/terraform-provider-f5xc/releases/latest) - look for `f5xc-terraform-mcp-X.X.X.mcpb`
40
23
 
24
+ 2. Make executable and run:
41
25
  ```bash
42
- # Start full development environment
43
- make dev-compose
26
+ chmod +x f5xc-terraform-mcp-*.mcpb
27
+ ./f5xc-terraform-mcp-*.mcpb
44
28
  ```
45
29
 
46
- This starts the registry at [`localhost:8080`](http://localhost:8080) with PostgreSQL. The database uses ephemeral storage and is reset each time you restart the containers, ensuring a clean state for development and testing.
47
-
48
- **Note:** The registry uses [ko](https://ko.build) to build container images. The `make dev-compose` command automatically builds the registry image with ko and loads it into your local Docker daemon before starting the services.
30
+ ### Option 3: Portable Node.js (No Admin Rights)
49
31
 
50
- By default, the registry seeds from the production API with a filtered subset of servers (to keep startup fast). This ensures your local environment mirrors production behavior and all seed data passes validation. For offline development you can seed from a file without validation with `MCP_REGISTRY_SEED_FROM=data/seed.json MCP_REGISTRY_ENABLE_REGISTRY_VALIDATION=false make dev-compose`.
32
+ For users without admin privileges who cannot install Node.js system-wide:
51
33
 
52
- The setup can be configured with environment variables in [docker-compose.yml](./docker-compose.yml) - see [.env.example](./.env.example) for a reference.
34
+ 1. Download Node.js portable binaries from [nodejs.org/download/prebuilt-binaries](https://nodejs.org/en/download/prebuilt-binaries)
35
+ 2. Extract to user directory (e.g., `~/node/`)
36
+ 3. Add to PATH: `export PATH="$HOME/node/bin:$PATH"`
37
+ 4. Use npx as normal
53
38
 
54
- <details>
55
- <summary>Alternative: Running a pre-built Docker image</summary>
39
+ ## Configuration
56
40
 
57
- Pre-built Docker images are automatically published to GitHub Container Registry:
41
+ ### Claude Desktop
58
42
 
59
- ```bash
60
- # Run latest stable release
61
- docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:latest
43
+ Add to your Claude Desktop configuration (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):
62
44
 
63
- # Run latest from main branch (continuous deployment)
64
- docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:main
45
+ ```json
46
+ {
47
+ "mcpServers": {
48
+ "f5xc-terraform": {
49
+ "command": "npx",
50
+ "args": ["-y", "@robinmordasiewicz/f5xc-terraform-mcp"]
51
+ }
52
+ }
53
+ }
54
+ ```
65
55
 
66
- # Run specific release version
67
- docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:v1.0.0
56
+ Or with the binary bundle:
68
57
 
69
- # Run development build from main branch
70
- docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:main-20250906-abc123d
58
+ ```json
59
+ {
60
+ "mcpServers": {
61
+ "f5xc-terraform": {
62
+ "command": "/path/to/f5xc-terraform-mcp.mcpb"
63
+ }
64
+ }
65
+ }
71
66
  ```
72
67
 
73
- **Available tags:**
74
- - **Releases**: `latest`, `v1.0.0`, `v1.1.0`, etc.
75
- - **Continuous**: `main` (latest main branch build)
76
- - **Development**: `main-<date>-<sha>` (specific commit builds)
77
-
78
- </details>
68
+ ### Claude Code CLI
79
69
 
80
- #### Publishing a server
70
+ ```bash
71
+ claude mcp add f5xc-terraform -- npx -y @robinmordasiewicz/f5xc-terraform-mcp
72
+ ```
81
73
 
82
- To publish a server, we've built a simple CLI. You can use it with:
74
+ ### VSCode with Cline/Continue
83
75
 
84
- ```bash
85
- # Build the latest CLI
86
- make publisher
76
+ Add to your MCP settings:
87
77
 
88
- # Use it!
89
- ./bin/mcp-publisher --help
78
+ ```json
79
+ {
80
+ "mcpServers": {
81
+ "f5xc-terraform": {
82
+ "command": "npx",
83
+ "args": ["-y", "@robinmordasiewicz/f5xc-terraform-mcp"]
84
+ }
85
+ }
86
+ }
90
87
  ```
91
88
 
92
- See [the publisher guide](./docs/modelcontextprotocol-io/quickstart.mdx) for more details.
89
+ ## Available Tools
93
90
 
94
- #### Other commands
91
+ The server provides 6 consolidated tools optimized for token efficiency:
95
92
 
96
- ```bash
97
- # Run lint, unit tests and integration tests
98
- make check
99
- ```
93
+ | Tool | Description |
94
+ |------|-------------|
95
+ | `f5xc_terraform_discover` | Discovery meta-tool - lists available tools and their schemas |
96
+ | `f5xc_terraform_docs` | Search, get, or list provider documentation (resources, data sources, functions, guides) |
97
+ | `f5xc_terraform_api` | Search OpenAPI specs, get spec details, find endpoints, get schema definitions |
98
+ | `f5xc_terraform_subscription` | Get subscription tier requirements for resources |
99
+ | `f5xc_terraform_addon` | Get addon service activation information |
100
+ | `f5xc_terraform_get_summary` | Get provider overview with statistics |
100
101
 
101
- There are also a few more helpful commands for development. Run `make help` to learn more, or look in [Makefile](./Makefile).
102
+ ### Example Usage
102
103
 
103
- <!--
104
- For Claude and other AI tools: Always prefer make targets over custom commands where possible.
105
- -->
104
+ **Search documentation:**
105
+ ```
106
+ f5xc_terraform_docs(operation: "search", query: "http_loadbalancer")
107
+ ```
106
108
 
107
- ## Architecture
109
+ **Get full resource documentation:**
110
+ ```
111
+ f5xc_terraform_docs(operation: "get", name: "http_loadbalancer", type: "resource")
112
+ ```
108
113
 
109
- ### Project Structure
114
+ **Find API endpoints:**
115
+ ```
116
+ f5xc_terraform_api(operation: "find_endpoints", pattern: "/namespaces", method: "POST")
117
+ ```
110
118
 
119
+ **Check subscription requirements:**
111
120
  ```
112
- β”œβ”€β”€ cmd/ # Application entry points
113
- β”‚ └── publisher/ # Server publishing tool
114
- β”œβ”€β”€ data/ # Seed data
115
- β”œβ”€β”€ deploy/ # Deployment configuration (Pulumi)
116
- β”œβ”€β”€ docs/ # Documentation
117
- β”œβ”€β”€ internal/ # Private application code
118
- β”‚ β”œβ”€β”€ api/ # HTTP handlers and routing
119
- β”‚ β”œβ”€β”€ auth/ # Authentication (GitHub OAuth, JWT, namespace blocking)
120
- β”‚ β”œβ”€β”€ config/ # Configuration management
121
- β”‚ β”œβ”€β”€ database/ # Data persistence (PostgreSQL)
122
- β”‚ β”œβ”€β”€ service/ # Business logic
123
- β”‚ β”œβ”€β”€ telemetry/ # Metrics and monitoring
124
- β”‚ └── validators/ # Input validation
125
- β”œβ”€β”€ pkg/ # Public packages
126
- β”‚ β”œβ”€β”€ api/ # API types and structures
127
- β”‚ β”‚ └── v0/ # Version 0 API types
128
- β”‚ └── model/ # Data models for server.json
129
- β”œβ”€β”€ scripts/ # Development and testing scripts
130
- β”œβ”€β”€ tests/ # Integration tests
131
- └── tools/ # CLI tools and utilities
132
- └── validate-*.sh # Schema validation tools
121
+ f5xc_terraform_subscription(operation: "get", resource: "bot_defense_advanced_policy")
133
122
  ```
134
123
 
135
- ### Authentication
124
+ ## What's Included
125
+
126
+ - **144+ Terraform Resources** - Full documentation for all F5XC resources
127
+ - **270+ OpenAPI Specifications** - Complete API reference for F5XC services
128
+ - **Subscription Tier Info** - Which features require which subscription level
129
+ - **Addon Service Workflows** - Activation status and requirements
130
+ - **Example Configurations** - Working Terraform examples for each resource
136
131
 
137
- Publishing supports multiple authentication methods:
138
- - **GitHub OAuth** - For publishing by logging into GitHub
139
- - **GitHub OIDC** - For publishing from GitHub Actions
140
- - **DNS verification** - For proving ownership of a domain and its subdomains
141
- - **HTTP verification** - For proving ownership of a domain
132
+ ## Version Synchronization
142
133
 
143
- The registry validates namespace ownership when publishing. E.g. to publish...:
144
- - `io.github.domdomegg/my-cool-mcp` you must login to GitHub as `domdomegg`, or be in a GitHub Action on domdomegg's repos
145
- - `me.adamjones/my-cool-mcp` you must prove ownership of `adamjones.me` via DNS or HTTP challenge
134
+ The MCP server version is automatically synchronized with the Terraform provider releases. Both always share the same version number (e.g., v2.15.2).
146
135
 
147
- ## Community Projects
136
+ ## Links
148
137
 
149
- Check out [community projects](docs/community-projects.md) to explore notable registry-related work created by the community.
138
+ - [Terraform Provider](https://registry.terraform.io/providers/robinmordasiewicz/f5xc/latest)
139
+ - [GitHub Repository](https://github.com/robinmordasiewicz/terraform-provider-f5xc)
140
+ - [npm Package](https://www.npmjs.com/package/@robinmordasiewicz/f5xc-terraform-mcp)
141
+ - [F5 Distributed Cloud Documentation](https://docs.cloud.f5.com/)
150
142
 
151
- ## More documentation
143
+ ## License
152
144
 
153
- See the [documentation](./docs) for more details if your question has not been answered here!
145
+ MIT
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@robinmordasiewicz/f5xc-terraform-mcp",
3
- "version": "2.15.1",
3
+ "version": "2.15.3",
4
4
  "description": "MCP server for F5 Distributed Cloud Terraform provider - documentation, 270+ OpenAPI specs, subscription info, and addon activation workflows for AI assistants",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",