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
{{ message }}
Repository navigation
Commit f77981c
Browse filesBrowse the repository at this point in the historyBrowse files
feat: Expose registry endpoints on feature server for MCP access
Mount the existing REST registry routers under /registry on the feature
server so that fastapi_mcp automatically exposes registry introspection
(list/get for entities, feature views, data sources, feature services,
permissions, projects, saved datasets, lineage, search) as MCP tools.
The RegistryServer is created in-process from store.registry — no
external registry server is required. Auth is enforced via
inject_user_details on every mounted router.
Made-with: Cursor
Signed-off-by: Chaitany patel <[email protected]>
Made-with: Cursor
- [Sample: all remote servers](https://github.com/feast-dev/feast/blob/stable/infra/feast-operator/config/samples/v1_featurestore_all_remote_servers.yaml)
190
216
- [Sample: DB persistence](https://github.com/feast-dev/feast/blob/stable/infra/feast-operator/config/samples/v1_featurestore_db_persistence.yaml)
| `mcp.enabled` | bool | `false` | Enable MCP (Model Context Protocol) on the REST registry server |
70
+
71
+
When `registry.mcp.enabled` is `true`, the REST registry server exposes registry
72
+
metadata (entities, feature views, feature services) as MCP tool endpoints for
73
+
LLM agents. Requires `feast[mcp]` to be installed.
74
+
52
75
## Providers
53
76
54
77
The `provider` field defines the environment in which Feast will execute data flows. As a result, it also determines the default values for other fields.
Copy file name to clipboardExpand all lines: infra/feast-operator/api/v1/featurestore_types.go
+6Lines changed: 6 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -770,6 +770,7 @@ type WorkerConfigs struct {
770
770
771
771
// RegistryServerConfigs creates a registry server for the feast service, with specified container configurations.
772
772
// +kubebuilder:validation:XValidation:rule="self.restAPI == true || self.grpc == true || !has(self.grpc)", message="At least one of restAPI or grpc must be true"
773
+
// +kubebuilder:validation:XValidation:rule="!has(self.mcp) || !self.mcp.enabled || (has(self.restAPI) && self.restAPI == true)", message="MCP requires restAPI to be true"
773
774
typeRegistryServerConfigsstruct {
774
775
ServerConfigs`json:",inline"`
775
776
@@ -778,6 +779,11 @@ type RegistryServerConfigs struct {
778
779
779
780
// Enable gRPC registry server. Defaults to true if unset.
780
781
GRPC*bool`json:"grpc,omitempty"`
782
+
783
+
// Mcp enables MCP (Model Context Protocol) on the REST registry server.
784
+
// Requires restAPI to be true. Reuses the same McpConfig struct as the online store.
785
+
// +optional
786
+
Mcp*McpConfig`json:"mcp,omitempty"`
781
787
}
782
788
783
789
// CronJobContainerConfigs k8s container settings for the CronJob
0 commit comments