-
Notifications
You must be signed in to change notification settings - Fork 613
[BUG][API]: gRPC service registration unusable - multiple failures #2854
Copy link
Copy link
Open
Labels
SHOULDP2: Important but not vital; high-value items that are not crucial for the immediate releaseP2: Important but not vital; high-value items that are not crucial for the immediate releaseapiREST API Related itemREST API Related itembugSomething isn't workingSomething isn't working
Milestone
Description
🐞 Bug Summary
We've discovered a number of bugs related to the gRPC service registration functionality while trying to test/evaluate it.
- When attempting to register through the admin UI, you get immediately redirected to
http://localhost:4444/grpcwhich yields a 404 - When registering through the admin API, a 500 is raised due to an invalid method call on
MetadataCapture
curl -X 'POST' 'http://localhost:4444/admin/grpc' -H 'accept: application/json' -H 'Content-Type: application/json' -d '{
"name": "caikit.runtime.SampleLib.SampleLibService",
"target": "localhost:8989",
"description": "string",
"reflection_enabled": true,
"tls_enabled": false,
"visibility": "public"
}'- When using the API to list existing
grpcservices (http://localhost:4444/admin/grpc), a 500 is raised because of a response format validation (expecting a dict, receive a list)
^^^^^^^^^^^^^^^^\n File \"/Users/ghart/Projects/github/IBM/mcp-context-forge/.venv/lib/python3.12/site-packages/fastapi/routing.py\", line 448, in app\n content = await serialize_response(\n ^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/Users/ghart/Projects/github/IBM/mcp-context-forge/.venv/lib/python3.12/site-packages/fastapi/routing.py\", line 286, in serialize_response\n raise ResponseValidationError(\nfastapi.exceptions.ResponseValidationError: 1 validation error:\n {'type': 'model_attributes_type', 'loc': ('response',), 'msg': 'Input should be a valid dictionary or object to extract fields from', 'input': []}\n\n File \"/Users/ghart/Projects/github/IBM/mcp-context-forge/mcpgateway/middleware/rbac.py\", line 12986, in admin_list_grpc_services\n GET /admin/grpc", "@timestamp": "2026-02-11T20:11:31.714034Z", "hostname": "Mac", "process_id": 69855}
- With a small tweak to get service registration to work (fix PR inbound), the service registers correctly, but in the UI, the
View Methodsbutton statesNo methods discoverd for this service. Try re-reflecting the service.despite showingServices: 7 | Methods: 11in the panel.- Also, none of the methods show up as
Tools
- Also, none of the methods show up as
🧩 Affected Component
Select the area of the project impacted:
-
mcpgateway- API -
mcpgateway- UI (admin panel) -
mcpgateway.wrapper- stdio wrapper - Federation or Transports
- CLI, Makefiles, or shell scripts
- Container setup (Docker/Podman/Compose)
- Other (explain below)
🤔 Expected Behavior
These should all work like standard CRUD operations! Also, it's not clear why this API lives only in /admin rather than as a top-level API resource.
🧠 Environment Info
fe4e0134
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
SHOULDP2: Important but not vital; high-value items that are not crucial for the immediate releaseP2: Important but not vital; high-value items that are not crucial for the immediate releaseapiREST API Related itemREST API Related itembugSomething isn't workingSomething isn't working