About Agentregistry Inventory
Agentregistry Inventory is an MCP server published by den-vasyliev in the Cloud category: the Control Plane for AI Infrastructure Kubernetes-native registry for MCP servers, agents, skills & models.
The repository has 26 stars and 7 forks, with the last commit 3 months ago. Recent commit activity is the strongest signal that reported issues will get attention.
Install
git clone https://github.com/den-vasyliev/agentregistry-inventoryThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Tools (14)
analyze_agent_dependenciesAI-powered dependency analysis
Parameters not published.
delete_deploymentRemove a deployment
Parameters not published.
deploy_catalog_itemDeploy a catalog item to Kubernetes
Parameters not published.
generate_deployment_planAI-powered deployment planning
Parameters not published.
get_catalogGet entry details
Parameters not published.
get_deploymentDeployment details by name
Parameters not published.
get_discovery_mapCluster topology and resource counts
Parameters not published.
get_registry_statsCounts of all resource types
Parameters not published.
list_catalogList catalog entries (servers/agents/skills/models)
Parameters not published.
list_deploymentsList active deployments
Parameters not published.
Show all 14 tools
list_environmentsDiscovered environments from DiscoveryConfig
Parameters not published.
recommend_serversAI-powered server recommendations
Parameters not published.
trigger_discoveryForce re-scan of discovery
Parameters not published.
update_deployment_configUpdate deployment config
Parameters not published.
Ask AI
Ask AI about Agentregistry Inventory
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 2 hours ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- ✓License declaredUsable under a stated license.
- ✓Tests presentA test suite exists in the repository.
- ✓Dependencies pinnedA lockfile pins dependency versions.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
Releases
README
✨ What You Get
If it's running, it's in the catalog.
No CLI needed. Agent Registry ships an MCP server — connect it to Claude Code, Cursor, or any MCP-compatible client and manage your registry conversationally.
| Capability | What It Means |
|---|---|
| 🔍 Auto-Discovery | Scans your clusters for AI workloads — MCP servers, agents, skills, models — and catalogs them automatically. Zero manual work. |
| 📦 Unified Inventory | Everything in one place across dev, staging, prod. Git as the single source of truth. |
| ✍️ Create & Publish | Generate manifests via UI/API, submit for review, open PRs — or deploy directly. |
| 🚀 One-Click Deploy | Deploy from catalog to any environment. Controller handles the lifecycle. |
| 🔒 GitOps Native | GitOps and Gitless Ops workflows built-in. |
| 🌐 Multi-Cluster | Discover and deploy across clusters with workload identity. |
🚀 Quick Start
One command to run dev environment
git clone https://github.com/den-vasyliev/agentregistry-inventory.git
cd agentregistry-inventory && make dev
🎯 That's it. UI opens at http://localhost:3000 with sample data pre-loaded.
No Kubernetes cluster needed — uses envtest (embedded etcd + kube-apiserver).
☸️ Have a cluster?
kubectl apply -k https://github.com/den-vasyliev/agentregistry-inventory/config/crd
helm install agentregistry-inventory ./charts/agentregistry -n agentregistry --create-namespace
🌟 Why Agent Inventory?
| Without Agent Inventory | With Agent Inventory |
|---|---|
| 😵 Sprawl of AI tools across clusters | 📦 Single source of truth |
| 🔍 Manual discovery of MCP servers | 🤖 Auto-discovery & cataloging |
| 😰 No version control for AI configs | 📝 GitOps-native workflows |
| 🤷 "What agents are running in prod?" | 📊 Real-time inventory & status |
| 😱 Direct K8s yaml edits | 🚀 One-click deploy from UI/API |
🏗️ Architecture
┌─────────────────────────────────────────────────────────────┐
│ WEB UI (Next.js) │
│ embedded in controller at :8080 │
└───────────────────────────┬─────────────────────────────────┘
│ REST
▼
┌─────────────────────────────────────────────────────────────┐
│ CONTROLLER (Go Controller Runtime) │
│ ┌─────────────┐ ┌────────────────┐ ┌─────────────────────┐ │
│ │ HTTP API │ │ Reconcilers │ │ Auto-Discovery │ │
│ │ :8080 │ │ │ │ │ │
│ └─────────────┘ └────────────────┘ └─────────────────────┘ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │
│ │ MCP Server │ │ Metrics │ │ Health │ │
│ │ :8083 │ │ :8081 │ │ :8082 │ │
│ └─────────────┘ └─────────────┘ └─────────────────────┘ │
└───────────────────────────┬─────────────────────────────────┘
│ K8s API
▼
┌─────────────────────────────────────────────────────────────┐
│ CRDs (etcd) │
│ ┌─────────────────┐ ┌─────────────────┐ ┌──────────────┐ │
│ │ MCPServerCatalog│ │ AgentCatalog │ │ SkillCatalog │ │
│ └─────────────────┘ └─────────────────┘ └──────────────┘ │
│ ┌────────────────────┐ ┌─────────────────┐ │
│ │RegistryDeployment | │ DiscoveryConfig │ │
│ └────────────────────┘ └─────────────────┘ │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ RUNTIME (Kagent + KMCP +...) │
│ Agent ↔ MCP Server ↔ Model ↔ Skills │
└─────────────────────────────────────────────────────────────┘
📚 CRD Reference
- Kgateway — Gateway API for AI traffic
- Kagent — Kubernetes AI agent runtime
- KMCP — MCP server operator
📋 Inventory CRD Examples
📦 Publish a Catalog Entry
apiVersion: agentregistry.dev/v1alpha1
kind: MCPServerCatalog # Also: AgentCatalog, SkillCatalog, ModelCatalog
metadata:
name: filesystem-v1-0-0
namespace: agentregistry
spec:
name: "filesystem"
version: "1.0.0"
title: "Filesystem MCP Server"
description: "Provides file system access tools"
websiteUrl: "https://github.com/modelcontextprotocol/servers"
repository:
url: "https://github.com/modelcontextprotocol/servers"
source: github
packages:
- registryType: npm
identifier: "@modelcontextprotocol/server-filesystem"
version: "0.6.1"
transport:
type: stdio
remotes: # Optional: streamable-http endpoints
- type: streamable-http
url: "https://mcp.example.com/filesystem"
🚀 Deploy to Runtime
apiVersion: agentregistry.dev/v1alpha1
kind: RegistryDeployment
metadata:
name: filesystem-deployment
namespace: agentregistry
spec:
resourceName: "filesystem"
version: "1.0.0"
resourceType: mcp # mcp | agent
runtime: kubernetes # Required: deployment runtime
namespace: default # Target namespace
preferRemote: false # Use local package vs remote endpoint
environment: "" # Target environment (from DiscoveryConfig), empty = local cluster
config: # Optional: deployment configuration
LOG_LEVEL: "info"
The controller reconciles this → creates MCPServer/Agent CRs → tracks status.
🌍 Multi-Cluster Discovery
apiVersion: agentregistry.dev/v1alpha1
kind: DiscoveryConfig
metadata:
name: multi-cluster-discovery
namespace: agentregistry
spec:
environments:
- name: production
cluster:
name: prod-gke
projectId: my-gcp-project
zone: us-central1
useWorkloadIdentity: true
provider: gcp
discoveryEnabled: true
deployEnabled: false
namespaces: [ai-workloads, agents]
resourceTypes: [MCPServer, Agent, ModelConfig]
🔌 API Reference
Public API (Read-Only, no auth required)
curl http://localhost:8080/v0/servers
curl http://localhost:8080/v0/agents
curl http://localhost:8080/v0/skills
Admin API (Write)
# Auth disabled by default — just POST
curl -X POST http://localhost:8080/admin/v0/servers \
-H "Content-Type: application/json" \
-d @server.json
# With auth enabled (AGENTREGISTRY_AUTH_ENABLED=true)
curl -X POST http://localhost:8080/admin/v0/servers \
-H "Authorization: Bearer your-token" \
-H "Content-Type: application/json" \
-d @server.json
🤖 MCP Server
The controller embeds an MCP server on :8083. Connect any MCP-compatible client (Claude Code, Cursor, etc.) to browse, deploy, and manage registry resources conversationally.
Connect (auth disabled, default)
{
"mcpServers": {
"agentregistry": {
"type": "streamable-http",
"url": "http://localhost:8083/mcp"
}
}
}
Connect (auth enabled)
{
"mcpServers": {
"agentregistry": {
"type": "streamable-http",
"url": "http://localhost:8083/mcp",
"headers": {
"Authorization": "Bearer your-token"
}
}
}
}
Tools
| Tool | Description |
|---|---|
list_catalog |
List catalog entries (servers/agents/skills/models) |
get_catalog |
Get entry details |
get_registry_stats |
Counts of all resource types |
list_deployments |
List active deployments |
get_deployment |
Deployment details by name |
deploy_catalog_item |
Deploy a catalog item to Kubernetes |
delete_deployment |
Remove a deployment |
update_deployment_config |
Update deployment config |
list_environments |
Discovered environments from DiscoveryConfig |
get_discovery_map |
Cluster topology and resource counts |
trigger_discovery |
Force re-scan of discovery |
recommend_servers |
AI-powered server recommendations |
analyze_agent_dependencies |
AI-powered dependency analysis |
generate_deployment_plan |
AI-powered deployment planning |
☸️ Production Deployment
helm install agentregistry ./charts/agentregistry \
--namespace agentregistry \
--create-namespace \
--set replicaCount=2 \
--set controller.leaderElection=true
Key Configuration
| Setting | Default | Description |
|---|---|---|
replicaCount |
1 |
Set to 2+ for HA |
controller.leaderElection |
false |
Required for multi-replica |
controller.logLevel |
info |
Use debug for troubleshooting |
httpApi.serviceType |
ClusterIP |
Use LoadBalancer for external access |
disableAuth |
true |
Set to false to enable Bearer token auth |
🔐 Authentication
The admin API (/admin/*) is always authenticated and fail-closed: it requires a Bearer token from the agentregistry-api-tokens Kubernetes Secret and rejects every request when no tokens are configured, regardless of disableAuth. Public read endpoints (/v0/*) remain open. The disableAuth chart value (default false) governs Bearer-token enforcement on the MCP server and the auth flag served to the UI.
Enable Bearer Token Auth
# Create token secret
kubectl create secret generic agentregistry-api-tokens \
-n agentregistry \
--from-literal=admin-token=$(openssl rand -hex 32)
# Install with auth enabled
helm install agentregistry ./charts/agentregistry \
--namespace agentregistry \
--set disableAuth=false
Azure AD (MSAL Browser PKCE)
The embedded UI supports Azure AD login via MSAL.js — no client secret required.
# charts/agentregistry/values.yaml
azure:
tenantId: "your-tenant-id"
clientId: "your-client-id"
🧪 Development
make dev # Full stack: controller + UI dev server
make run # Controller only with embedded UI at :8080
make test # Run test suite
make lint # gofmt + go vet
make build # Build UI + controller binary
make generate # Regenerate CRD manifests + deepcopy
🔗 Ecosystem
| Project | Description | Link |
|---|---|---|
| Agentgateway | MCP/HTTP auth gateway | agentgateway.dev |
| MCP | Model Context Protocol specification | modelcontextprotocol.io |
| Kagent | Kubernetes AI agent runtime | github.com/kagent-dev/kagent |
| KMCP | MCP server operator for Kubernetes | github.com/kagent-dev/kmcp |
| MCP Go SDK | Official Go SDK | github.com/modelcontextprotocol/go-sdk |
💬 Join the Community
- 🐛 Issues — Report bugs or request features
- 🤝 PRs Welcome — We love contributions!
Made with ❤️ by the Agent Inventory team
README fetched from the repository 2 hours ago. The original is authoritative.