fips-agents-cli 0.4.0__tar.gz → 0.6.0__tar.gz

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 (62) hide show
  1. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/PKG-INFO +127 -5
  2. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/README.md +126 -4
  3. fips_agents_cli-0.6.0/planning/agent-registry-roadmap.md +156 -0
  4. fips_agents_cli-0.6.0/planning/agent-template-gaps.md +321 -0
  5. fips_agents_cli-0.6.0/planning/composable-agent-capabilities.md +126 -0
  6. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/pyproject.toml +1 -1
  7. fips_agents_cli-0.6.0/retrospectives/2026-04-10_full-stack-integration/RETRO.md +64 -0
  8. fips_agents_cli-0.6.0/src/fips_agents_cli/commands/create.py +2135 -0
  9. fips_agents_cli-0.6.0/src/fips_agents_cli/tools/project.py +532 -0
  10. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/src/fips_agents_cli/version.py +1 -1
  11. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/tests/test_create.py +118 -0
  12. fips_agents_cli-0.6.0/tests/test_project.py +405 -0
  13. fips_agents_cli-0.4.0/src/fips_agents_cli/commands/create.py +0 -792
  14. fips_agents_cli-0.4.0/src/fips_agents_cli/tools/project.py +0 -284
  15. fips_agents_cli-0.4.0/tests/test_project.py +0 -192
  16. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/.claude/commands/create-release.md +0 -0
  17. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/.claude/docs-state.json +0 -0
  18. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/.github/agents/README.md +0 -0
  19. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/.github/agents/create-release.agent.md +0 -0
  20. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/.github/workflows/test.yml +0 -0
  21. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/.github/workflows/workflow.yaml +0 -0
  22. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/.gitignore +0 -0
  23. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/CLAUDE.md +0 -0
  24. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/LICENSE +0 -0
  25. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/RELEASE_CHECKLIST.md +0 -0
  26. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/docs/PUBLISHING.md +0 -0
  27. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/docs/QUICK_START_PUBLISHING.md +0 -0
  28. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/docs/README.md +0 -0
  29. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/llms.txt +0 -0
  30. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/planning/AGENT_FRAMEWORK_PLAN.md +0 -0
  31. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/planning/GENERATOR_IMPLEMENTATION_PLAN.md +0 -0
  32. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/planning/IMPLEMENTATION_SUMMARY.md +0 -0
  33. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/planning/MVP-PLAN.md +0 -0
  34. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/planning/PLAN.md +0 -0
  35. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/planning/PROMPT_ISSUE.md +0 -0
  36. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/research/BAML_RESEARCH_REPORT.md +0 -0
  37. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/research/Ignite-CLI-Architecture-Analysis.md +0 -0
  38. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/retrospectives/2026-04-06_issue-triage-v0.3.0/RETRO.md +0 -0
  39. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/scripts/README.md +0 -0
  40. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/scripts/release.sh +0 -0
  41. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/src/fips_agents_cli/__init__.py +0 -0
  42. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/src/fips_agents_cli/__main__.py +0 -0
  43. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/src/fips_agents_cli/cli.py +0 -0
  44. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/src/fips_agents_cli/commands/__init__.py +0 -0
  45. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/src/fips_agents_cli/commands/generate.py +0 -0
  46. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/src/fips_agents_cli/commands/model_car.py +0 -0
  47. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/src/fips_agents_cli/commands/patch.py +0 -0
  48. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/src/fips_agents_cli/tools/__init__.py +0 -0
  49. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/src/fips_agents_cli/tools/filesystem.py +0 -0
  50. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/src/fips_agents_cli/tools/generators.py +0 -0
  51. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/src/fips_agents_cli/tools/git.py +0 -0
  52. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/src/fips_agents_cli/tools/github.py +0 -0
  53. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/src/fips_agents_cli/tools/patching.py +0 -0
  54. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/src/fips_agents_cli/tools/validation.py +0 -0
  55. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/tests/__init__.py +0 -0
  56. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/tests/conftest.py +0 -0
  57. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/tests/test_filesystem.py +0 -0
  58. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/tests/test_generate.py +0 -0
  59. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/tests/test_generators.py +0 -0
  60. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/tests/test_github.py +0 -0
  61. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/tests/test_model_car.py +0 -0
  62. {fips_agents_cli-0.4.0 → fips_agents_cli-0.6.0}/tests/test_validation.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fips-agents-cli
3
- Version: 0.4.0
3
+ Version: 0.6.0
4
4
  Summary: CLI tool for creating and managing FIPS-compliant AI agent projects
5
5
  Project-URL: Homepage, https://github.com/rdwj/fips-agents-cli
6
6
  Project-URL: Repository, https://github.com/rdwj/fips-agents-cli
@@ -38,7 +38,7 @@ A command-line tool for creating and managing FIPS-compliant AI agent projects.
38
38
  ## Features
39
39
 
40
40
  - 🚀 Quick project scaffolding from templates
41
- - 📦 MCP server, AI agent, and ModelCar project generation
41
+ - 📦 MCP server, AI agent, Go gateway, chat UI, sandbox, and ModelCar project generation
42
42
  - 🔧 Automatic project customization (pyproject.toml, module names, entry points)
43
43
  - ⚡ Component generation (tools, resources, prompts, middleware) with Jinja2 templates
44
44
  - 🎨 Beautiful CLI output with Rich
@@ -100,6 +100,15 @@ fips-agents create mcp-server my-mcp-server
100
100
  # AI agent
101
101
  fips-agents create agent my-research-agent
102
102
 
103
+ # Go HTTP gateway (proxies to an agent backend)
104
+ fips-agents create gateway my-gateway
105
+
106
+ # Chat UI (connects to a gateway or agent)
107
+ fips-agents create ui my-chat-ui
108
+
109
+ # Code execution sandbox (sidecar for agents)
110
+ fips-agents create sandbox my-sandbox
111
+
103
112
  # ModelCar (HuggingFace model as container)
104
113
  fips-agents create model-car ibm-granite/granite-3.1-2b-instruct \
105
114
  quay.io/user/models:granite-3.1-2b-instruct
@@ -143,9 +152,9 @@ fips-agents patch --help
143
152
 
144
153
  The `create` command group scaffolds new projects from templates.
145
154
 
146
- #### Shared Options (mcp-server and agent)
155
+ #### Shared Options (mcp-server, agent, gateway, ui)
147
156
 
148
- Both `create mcp-server` and `create agent` accept the same options:
157
+ All `create` subcommands (except `model-car`) accept the same options:
149
158
 
150
159
  | Option | Description |
151
160
  |--------|-------------|
@@ -219,6 +228,81 @@ fips-agents create agent my-agent --github --org redhat-ai-americas
219
228
  fips-agents create agent my-agent --yes --local
220
229
  ```
221
230
 
231
+ #### `create gateway`
232
+
233
+ ```bash
234
+ fips-agents create gateway <project-name> [OPTIONS]
235
+ ```
236
+
237
+ Creates a Go HTTP gateway project from the [gateway-template](https://github.com/redhat-ai-americas/gateway-template) repository. The gateway proxies OpenAI-compatible `/v1/chat/completions` requests to an agent backend, with SSE streaming support, heartbeat keepalives, health/readiness probes, and an A2A agent discovery card.
238
+
239
+ **Arguments:**
240
+
241
+ - `project-name` — Name for your gateway project
242
+
243
+ **Options:** Same shared options as above.
244
+
245
+ **Examples:**
246
+
247
+ ```bash
248
+ # Create gateway project
249
+ fips-agents create gateway my-gateway
250
+
251
+ # Create with GitHub repo
252
+ fips-agents create gateway my-gateway --github --org my-org
253
+ ```
254
+
255
+ #### `create ui`
256
+
257
+ ```bash
258
+ fips-agents create ui <project-name> [OPTIONS]
259
+ ```
260
+
261
+ Creates a chat UI project from the [ui-template](https://github.com/redhat-ai-americas/ui-template) repository. A Go server with embedded HTML/CSS/JS that provides a browser-based chat interface. Includes a built-in reverse proxy to the backend API, SSE streaming, and markdown rendering.
262
+
263
+ **Arguments:**
264
+
265
+ - `project-name` — Name for your UI project
266
+
267
+ **Options:** Same shared options as above.
268
+
269
+ **Examples:**
270
+
271
+ ```bash
272
+ # Create UI project
273
+ fips-agents create ui my-chat-ui
274
+
275
+ # Create with GitHub repo
276
+ fips-agents create ui my-chat-ui --github --private
277
+ ```
278
+
279
+ #### `create sandbox`
280
+
281
+ ```bash
282
+ fips-agents create sandbox <project-name> [OPTIONS]
283
+ ```
284
+
285
+ Creates a code execution sandbox project from the [code-sandbox](https://github.com/fips-agents/code-sandbox) repository. The sandbox provides a FastAPI-based sidecar for secure code execution inside agent pods, with multiple language profiles (base, data-science).
286
+
287
+ **Arguments:**
288
+
289
+ - `project-name` -- Name for your sandbox project
290
+
291
+ **Options:** Same shared options as above.
292
+
293
+ **Examples:**
294
+
295
+ ```bash
296
+ # Create sandbox project
297
+ fips-agents create sandbox my-sandbox
298
+
299
+ # Create with GitHub repo
300
+ fips-agents create sandbox my-sandbox --github --private
301
+
302
+ # Non-interactive mode
303
+ fips-agents create sandbox my-sandbox --yes --local
304
+ ```
305
+
222
306
  #### `create model-car`
223
307
 
224
308
  ```bash
@@ -551,6 +635,36 @@ pytest
551
635
  # See AGENTS.md for the /plan-agent slash command workflow
552
636
  ```
553
637
 
638
+ ### Gateway
639
+
640
+ ```bash
641
+ cd my-gateway
642
+ make build # Build the Go binary
643
+ make run # Run locally (set BACKEND_URL to your agent)
644
+ make build-openshift PROJECT=my-gateway # Build on OpenShift
645
+ make deploy PROJECT=my-gateway # Deploy via Helm
646
+ ```
647
+
648
+ ### Chat UI
649
+
650
+ ```bash
651
+ cd my-chat-ui
652
+ make build # Build the Go binary
653
+ make run # Run locally (set API_URL to your gateway/agent)
654
+ make build-openshift PROJECT=my-chat-ui # Build on OpenShift
655
+ make deploy PROJECT=my-chat-ui # Deploy via Helm
656
+ ```
657
+
658
+ ### Sandbox
659
+
660
+ ```bash
661
+ cd my-sandbox
662
+ make install # Install dependencies
663
+ make test # Run tests
664
+ make build # Build container
665
+ make build PROFILE=data-science # Build with profile
666
+ ```
667
+
554
668
  ### ModelCar
555
669
 
556
670
  ```bash
@@ -625,7 +739,7 @@ fips-agents-cli/
625
739
  │ ├── cli.py # Main CLI application
626
740
  │ ├── version.py # Version information
627
741
  │ ├── commands/ # CLI command implementations
628
- │ │ ├── create.py # create mcp-server, create agent
742
+ │ │ ├── create.py # create mcp-server, agent, gateway, ui
629
743
  │ │ ├── generate.py # generate tool/resource/prompt/middleware
630
744
  │ │ ├── model_car.py # create model-car
631
745
  │ │ └── patch.py # patch command
@@ -747,6 +861,14 @@ MIT License - see LICENSE file for details
747
861
 
748
862
  ## Changelog
749
863
 
864
+ ### Version 0.5.0
865
+
866
+ - Feature: Added `create gateway` command for scaffolding Go HTTP gateway projects from the gateway-template
867
+ - Feature: Added `create ui` command for scaffolding chat UI projects from the ui-template
868
+ - Feature: Go project customization pipeline (`customize_go_project`) handles go.mod, Helm charts, Containerfile, Makefile, and static HTML
869
+ - Fix: Agent scaffolding now replaces `agent-template` in all Helm chart templates, preventing resource name collisions
870
+ - Fix: Agent scaffolding now replaces `OWNER/REPO` placeholder in Containerfile with actual GitHub repo
871
+
750
872
  ### Version 0.4.0
751
873
 
752
874
  - Feature: Added `create agent` command for scaffolding AI agent projects from the agent-loop template
@@ -5,7 +5,7 @@ A command-line tool for creating and managing FIPS-compliant AI agent projects.
5
5
  ## Features
6
6
 
7
7
  - 🚀 Quick project scaffolding from templates
8
- - 📦 MCP server, AI agent, and ModelCar project generation
8
+ - 📦 MCP server, AI agent, Go gateway, chat UI, sandbox, and ModelCar project generation
9
9
  - 🔧 Automatic project customization (pyproject.toml, module names, entry points)
10
10
  - ⚡ Component generation (tools, resources, prompts, middleware) with Jinja2 templates
11
11
  - 🎨 Beautiful CLI output with Rich
@@ -67,6 +67,15 @@ fips-agents create mcp-server my-mcp-server
67
67
  # AI agent
68
68
  fips-agents create agent my-research-agent
69
69
 
70
+ # Go HTTP gateway (proxies to an agent backend)
71
+ fips-agents create gateway my-gateway
72
+
73
+ # Chat UI (connects to a gateway or agent)
74
+ fips-agents create ui my-chat-ui
75
+
76
+ # Code execution sandbox (sidecar for agents)
77
+ fips-agents create sandbox my-sandbox
78
+
70
79
  # ModelCar (HuggingFace model as container)
71
80
  fips-agents create model-car ibm-granite/granite-3.1-2b-instruct \
72
81
  quay.io/user/models:granite-3.1-2b-instruct
@@ -110,9 +119,9 @@ fips-agents patch --help
110
119
 
111
120
  The `create` command group scaffolds new projects from templates.
112
121
 
113
- #### Shared Options (mcp-server and agent)
122
+ #### Shared Options (mcp-server, agent, gateway, ui)
114
123
 
115
- Both `create mcp-server` and `create agent` accept the same options:
124
+ All `create` subcommands (except `model-car`) accept the same options:
116
125
 
117
126
  | Option | Description |
118
127
  |--------|-------------|
@@ -186,6 +195,81 @@ fips-agents create agent my-agent --github --org redhat-ai-americas
186
195
  fips-agents create agent my-agent --yes --local
187
196
  ```
188
197
 
198
+ #### `create gateway`
199
+
200
+ ```bash
201
+ fips-agents create gateway <project-name> [OPTIONS]
202
+ ```
203
+
204
+ Creates a Go HTTP gateway project from the [gateway-template](https://github.com/redhat-ai-americas/gateway-template) repository. The gateway proxies OpenAI-compatible `/v1/chat/completions` requests to an agent backend, with SSE streaming support, heartbeat keepalives, health/readiness probes, and an A2A agent discovery card.
205
+
206
+ **Arguments:**
207
+
208
+ - `project-name` — Name for your gateway project
209
+
210
+ **Options:** Same shared options as above.
211
+
212
+ **Examples:**
213
+
214
+ ```bash
215
+ # Create gateway project
216
+ fips-agents create gateway my-gateway
217
+
218
+ # Create with GitHub repo
219
+ fips-agents create gateway my-gateway --github --org my-org
220
+ ```
221
+
222
+ #### `create ui`
223
+
224
+ ```bash
225
+ fips-agents create ui <project-name> [OPTIONS]
226
+ ```
227
+
228
+ Creates a chat UI project from the [ui-template](https://github.com/redhat-ai-americas/ui-template) repository. A Go server with embedded HTML/CSS/JS that provides a browser-based chat interface. Includes a built-in reverse proxy to the backend API, SSE streaming, and markdown rendering.
229
+
230
+ **Arguments:**
231
+
232
+ - `project-name` — Name for your UI project
233
+
234
+ **Options:** Same shared options as above.
235
+
236
+ **Examples:**
237
+
238
+ ```bash
239
+ # Create UI project
240
+ fips-agents create ui my-chat-ui
241
+
242
+ # Create with GitHub repo
243
+ fips-agents create ui my-chat-ui --github --private
244
+ ```
245
+
246
+ #### `create sandbox`
247
+
248
+ ```bash
249
+ fips-agents create sandbox <project-name> [OPTIONS]
250
+ ```
251
+
252
+ Creates a code execution sandbox project from the [code-sandbox](https://github.com/fips-agents/code-sandbox) repository. The sandbox provides a FastAPI-based sidecar for secure code execution inside agent pods, with multiple language profiles (base, data-science).
253
+
254
+ **Arguments:**
255
+
256
+ - `project-name` -- Name for your sandbox project
257
+
258
+ **Options:** Same shared options as above.
259
+
260
+ **Examples:**
261
+
262
+ ```bash
263
+ # Create sandbox project
264
+ fips-agents create sandbox my-sandbox
265
+
266
+ # Create with GitHub repo
267
+ fips-agents create sandbox my-sandbox --github --private
268
+
269
+ # Non-interactive mode
270
+ fips-agents create sandbox my-sandbox --yes --local
271
+ ```
272
+
189
273
  #### `create model-car`
190
274
 
191
275
  ```bash
@@ -518,6 +602,36 @@ pytest
518
602
  # See AGENTS.md for the /plan-agent slash command workflow
519
603
  ```
520
604
 
605
+ ### Gateway
606
+
607
+ ```bash
608
+ cd my-gateway
609
+ make build # Build the Go binary
610
+ make run # Run locally (set BACKEND_URL to your agent)
611
+ make build-openshift PROJECT=my-gateway # Build on OpenShift
612
+ make deploy PROJECT=my-gateway # Deploy via Helm
613
+ ```
614
+
615
+ ### Chat UI
616
+
617
+ ```bash
618
+ cd my-chat-ui
619
+ make build # Build the Go binary
620
+ make run # Run locally (set API_URL to your gateway/agent)
621
+ make build-openshift PROJECT=my-chat-ui # Build on OpenShift
622
+ make deploy PROJECT=my-chat-ui # Deploy via Helm
623
+ ```
624
+
625
+ ### Sandbox
626
+
627
+ ```bash
628
+ cd my-sandbox
629
+ make install # Install dependencies
630
+ make test # Run tests
631
+ make build # Build container
632
+ make build PROFILE=data-science # Build with profile
633
+ ```
634
+
521
635
  ### ModelCar
522
636
 
523
637
  ```bash
@@ -592,7 +706,7 @@ fips-agents-cli/
592
706
  │ ├── cli.py # Main CLI application
593
707
  │ ├── version.py # Version information
594
708
  │ ├── commands/ # CLI command implementations
595
- │ │ ├── create.py # create mcp-server, create agent
709
+ │ │ ├── create.py # create mcp-server, agent, gateway, ui
596
710
  │ │ ├── generate.py # generate tool/resource/prompt/middleware
597
711
  │ │ ├── model_car.py # create model-car
598
712
  │ │ └── patch.py # patch command
@@ -714,6 +828,14 @@ MIT License - see LICENSE file for details
714
828
 
715
829
  ## Changelog
716
830
 
831
+ ### Version 0.5.0
832
+
833
+ - Feature: Added `create gateway` command for scaffolding Go HTTP gateway projects from the gateway-template
834
+ - Feature: Added `create ui` command for scaffolding chat UI projects from the ui-template
835
+ - Feature: Go project customization pipeline (`customize_go_project`) handles go.mod, Helm charts, Containerfile, Makefile, and static HTML
836
+ - Fix: Agent scaffolding now replaces `agent-template` in all Helm chart templates, preventing resource name collisions
837
+ - Fix: Agent scaffolding now replaces `OWNER/REPO` placeholder in Containerfile with actual GitHub repo
838
+
717
839
  ### Version 0.4.0
718
840
 
719
841
  - Feature: Added `create agent` command for scaffolding AI agent projects from the agent-loop template
@@ -0,0 +1,156 @@
1
+ # Agent Registry — Research and Roadmap
2
+
3
+ **Date:** 2026-04-10
4
+ **Status:** Research complete, not yet planned for implementation
5
+
6
+ ## Concept
7
+
8
+ `fips-agents create registry my-registry` deploys a self-hosted registry to OpenShift with a UI for browsing and managing registered agents, MCP servers, tools, and prompts. Teams register their deployed services with `fips-agents register`, making them discoverable across the organization.
9
+
10
+ ## Industry Landscape (April 2026)
11
+
12
+ ### What exists
13
+
14
+ **Agent discovery standards:**
15
+ - **A2A Agent Cards** — JSON metadata at `/.well-known/agent.json` describing an agent's capabilities, endpoints, and auth. Linux Foundation stewardship. No registry standard yet (active discussion in a2aproject/A2A#741).
16
+ - **MCP Server Cards** — `.well-known` metadata for MCP servers, on the 2026 MCP roadmap. The official MCP Registry (registry.modelcontextprotocol.io) has ~2,000 entries but is public/community-oriented, not enterprise.
17
+ - **Agent Connect Protocol (ACP)** — Cisco-led (AGNTCY/Linux Foundation), defines REST/OpenAPI for invoking and configuring agents. Complements A2A.
18
+
19
+ **Cloud provider registries:**
20
+ - **AWS Agent Registry** (preview April 2026) — private governed catalog for agents, tools, skills, MCP servers. Semantic search, approval workflows, IAM + OAuth, CloudTrail audit. Auto-discovers from live A2A/MCP endpoints.
21
+ - **Microsoft Entra Agent Registry** — agent identity and governance in the Microsoft ecosystem.
22
+ - **Google Vertex AI Agent Builder** — tool governance layer with admin-curated catalogs.
23
+
24
+ **Open source:**
25
+ - **mcp-gateway-registry** (agentic-community) — OAuth (Keycloak/Entra), per-tool RBAC, audit trails, reverse proxy to MCP servers. Closest to what we'd want.
26
+ - **kagent** — Kubernetes-native agentic AI, CRD-based. Early stage.
27
+
28
+ **Prompt registries:**
29
+ - MLflow Prompt Registry, Langfuse, PromptLayer, LangSmith — versioning, environment aliases, A/B testing. Standalone products, not integrated with agent/tool registries.
30
+
31
+ **Red Hat direction:**
32
+ - MCP registry, catalog, and gateway stack planned for OpenShift AI
33
+ - MCP servers as items in the AI Assets catalog
34
+ - Longer-term "MCP-as-a-Service" vision
35
+
36
+ ### What's missing
37
+
38
+ No single open-source system unifies agents, MCP servers, tools, and prompts in one governed catalog with Kubernetes-native lifecycle. The pieces exist in isolation:
39
+ - AWS has the richest registry but is cloud-locked
40
+ - MCP has a public registry but no enterprise governance
41
+ - Prompt registries are standalone products
42
+ - RBAC is protocol-specific (no cross-protocol standard)
43
+ - A2A deliberately punts on the registry problem
44
+
45
+ ### RBAC for agents
46
+
47
+ Traditional RBAC is insufficient — agents chain multi-step plans autonomously. Emerging model is **dynamic RBAC**: bind an agent's declared purpose + operational context + verified identity to minimal, temporary permissions. Per-tool RBAC (mcp-gateway-registry), relationship-based access (Oso ReBAC), and IAM-based governance (AWS) are the main approaches.
48
+
49
+ ## What We'd Build
50
+
51
+ ### Phase 1: Discovery registry (near-term, after composable capabilities)
52
+
53
+ A lightweight catalog service that stores and serves metadata:
54
+
55
+ ```
56
+ fips-agents create registry my-registry # Deploy to OpenShift
57
+ fips-agents register # Register current project
58
+ ```
59
+
60
+ **What it stores:**
61
+ - Agent Cards (A2A-compatible JSON) — name, description, capabilities, endpoint, version
62
+ - MCP Server Cards — name, tools list, endpoint, transport
63
+ - Tool manifests — name, description, parameters, which agent/MCP server provides them
64
+ - Prompt entries — name, description, version, variables, template preview
65
+
66
+ **How registration works:**
67
+ - `fips-agents register` reads the current project type and metadata:
68
+ - Agent: reads `/.well-known/agent.json` from the running service (or generates from agent.yaml)
69
+ - MCP server: reads tool list from the running server (or from project structure)
70
+ - Prompts: reads from `prompts/` directory
71
+ - Pushes the metadata to the registry's API
72
+ - Registry stores it and makes it browsable
73
+
74
+ **UI:**
75
+ - Browse agents, MCP servers, tools, prompts in a web dashboard
76
+ - Search by name, capability, description
77
+ - View agent cards, tool schemas, prompt templates
78
+ - Show deployment status (healthy/unhealthy via health probes)
79
+ - Links to OpenShift console for the underlying deployments
80
+
81
+ **Tech stack:**
82
+ - Go server (consistent with gateway/UI templates) or Python FastAPI
83
+ - PostgreSQL for metadata storage
84
+ - OpenShift Route for the UI
85
+ - Helm chart for deployment
86
+ - Periodic health checks against registered endpoints
87
+
88
+ ### Phase 2: Governance (later)
89
+
90
+ Add approval workflows, RBAC, and audit:
91
+ - Admin approval required before an agent/tool is visible to others
92
+ - Role-based access: who can register, who can discover, who can invoke
93
+ - Audit trail: who registered what, when, who accessed it
94
+ - Integration with OpenShift RBAC (ServiceAccounts, Roles)
95
+ - Keycloak/OIDC for auth (follow mcp-gateway-registry pattern)
96
+
97
+ ### Phase 3: Enterprise tool/prompt catalog (distant)
98
+
99
+ - Curated enterprise tools that any agent can use (governed, versioned)
100
+ - Enterprise prompt library with approval workflows
101
+ - Agent RBAC: which agents can use which tools (policy-based)
102
+ - Integration with Red Hat's AI Hub / OpenShift AI catalog
103
+
104
+ ## CLI Integration
105
+
106
+ ```bash
107
+ # Deploy a registry
108
+ fips-agents create registry my-registry
109
+ cd my-registry && make deploy PROJECT=my-registry
110
+
111
+ # Register the thing you're working on
112
+ cd ../my-agent
113
+ fips-agents register # auto-detect project type, register with default registry
114
+ fips-agents register --registry my-registry # explicit registry
115
+ fips-agents register --type agent # force type
116
+ fips-agents register --type mcp-server
117
+
118
+ # Browse
119
+ fips-agents registry list # list all registered items
120
+ fips-agents registry list --type agent # filter by type
121
+ fips-agents registry search "web search" # semantic search
122
+ ```
123
+
124
+ The `register` command could also be a post-deploy hook in the Makefile:
125
+ ```makefile
126
+ deploy: ## Deploy to OpenShift and register
127
+ helm upgrade --install ...
128
+ fips-agents register --registry $(REGISTRY_URL)
129
+ ```
130
+
131
+ ## Open Questions
132
+
133
+ 1. **Storage**: PostgreSQL vs CRDs? CRDs are more Kubernetes-native but harder to query. PostgreSQL is simpler for search and UI.
134
+ 2. **Health monitoring**: Should the registry actively poll registered endpoints, or rely on passive registration updates?
135
+ 3. **Scope**: Should the registry be namespace-scoped, cluster-scoped, or multi-cluster?
136
+ 4. **Red Hat alignment**: How does this relate to Red Hat's planned MCP catalog in OpenShift AI? Complement or conflict?
137
+ 5. **Standards**: Should agent cards be A2A-native, or a superset that includes MCP/tool/prompt metadata?
138
+ 6. **Auth for registration**: How does `fips-agents register` authenticate with the registry? OpenShift token? API key?
139
+
140
+ ## Relationship to Other Roadmap Items
141
+
142
+ - **HTTP mode** (Phase 1 of composable capabilities) must ship first — agents need `/.well-known/agent.json` to be registerable
143
+ - **A2A agent cards** are already in the gateway template — the registry reads these
144
+ - **MCP server template** already produces discoverable tools — the registry catalogs them
145
+ - **Multi-agent orchestration** benefits most from a registry — orchestrator agents can discover specialized agents dynamically
146
+
147
+ ## References
148
+
149
+ - A2A Protocol: https://a2a-protocol.org/latest/specification/
150
+ - A2A Registry Discussion: https://github.com/a2aproject/A2A/discussions/741
151
+ - MCP Registry: https://registry.modelcontextprotocol.io/
152
+ - MCP 2026 Roadmap: https://blog.modelcontextprotocol.io/posts/2026-mcp-roadmap/
153
+ - mcp-gateway-registry: https://github.com/agentic-community/mcp-gateway-registry
154
+ - AWS Agent Registry: https://aws.amazon.com/blogs/machine-learning/the-future-of-managing-agents-at-scale-aws-agent-registry-now-in-preview/
155
+ - AGNTCY ACP Spec: https://github.com/agntcy/acp-spec
156
+ - kagent: https://kagent.dev/