stacklok / stacklok/toolhive-studio
Align studio registry consumers with toolhive's v0.1 registry surface
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 167
- Forks
- 24
- Avg merge
- 11h 32m
- Merged PRs (30d)
- 91
Description
Summary
The toolhive backend is removing the legacy registry format and aligning its registry API with the v0.1 surface that stacklok/toolhive-registry-server exposes. Studio needs to follow.
Phase 1 — Remove registry_legacy_format handling
Once the BE stops emitting registry_legacy_format (stacklok/toolhive#5278), the corresponding FE branches are dead code.
Files:
renderer/src/common/components/settings/registry/registry-errors-message.ts—REGISTRY_LEGACY_FORMAT_CODE,isRegistryLegacyFormatError, legacy-format toastrenderer/src/common/components/error/registry-error.tsx—isLegacyFormatbranch- Corresponding tests
Blocked on: stacklok/toolhive#5278
Phase 2 — Switch to v0.1 API and retype RegistryItem
Toolhive is removing /api/v1beta/registry/{name}/servers and aligning its v0.1 surface with toolhive-registry-server's swagger (stacklok/toolhive#5279). Studio needs to:
- Switch from
/api/v1beta/registry/{name}/serversto the v0.1 endpoints — same pattern studio already uses for skills. - Adopt the per-version sub-resources (
/servers/{serverName}/versions,/versions/{version}) as they replace/versions/latest. - Retype
RegistryItemfromRegistryImageMetadata | RegistryRemoteServerMetadatato the upstream MCP shape. - Regenerate
common/api/generated/against the new OpenAPI spec.
Files (~15+): everything in renderer/src/features/registry-servers/ and renderer/src/features/mcp-servers/ that imports the legacy types, plus common/api/registry-types.ts.
Blocked on: stacklok/toolhive#5279
References
- BE phase 1: stacklok/toolhive#5278
- BE phase 2: stacklok/toolhive#5279
- Surface reference:
stacklok/toolhive-registry-serverdocs/thv-registry-api/swagger.yaml - Landed: stacklok/toolhive-catalog#1215, stacklok/toolhive-core#105, stacklok/toolhive#5273
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with docs/thv-registry-api/swagger.yaml and the changes in stacklok/toolhive#5278 and #5279, then inspect common/api/registry-types.ts and the registry consumer files under renderer/src/features/registry-servers/ and renderer/src/features/mcp-servers/. Regenerate common/api/generated/ and update the corresponding registry error tests; done means Studio no longer handles the legacy format and consumes the v0.1 endpoints and types.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- openapi, typescript
- Domain
- api, frontend
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100