-
Notifications
You must be signed in to change notification settings - Fork 195
Open
Labels
bugSomething isn't workingSomething isn't workingcliChanges that impact CLI functionalityChanges that impact CLI functionalitygoPull requests that update go codePull requests that update go code
Description
Summary
When [awesome-agent-skills-mcp](https://github.com/shadowrootdev/awesome-agent-skills-mcp) is launched by ToolHive as a npm converted to Docker container, list_skills fails to provide usable results. The container cannot sync the skills repo because git is not installed (spawn git ENOENT), and the tool response format is JSON-in-text rather than structured output matching the declared outputSchema.
Environment
- OS: Windows 11 (10.0.26200)
- Docker Desktop: 4.65.0
- Docker Engine: 29.2.1
Steps to Reproduce
- Start ToolHive with
awesome-agent-skills-mcpenabled (containerized). - Call
refresh_skillsorlist_skillsthrough ToolHive. - Inspect container logs (
docker logs <container-id>).
Actual Behavior
- Container logs show git sync failure:
Failed to initialize git repository: GitError: Error: spawn git ENOENT - Attempted command includes clone of:
https://github.com/VoltAgent/awesome-agent-skills.git list_skillsreturns empty data ({"skills":[],"total":0}) when sync failed.- ToolHive reports list failure / structured output mismatch (tool has
outputSchemabut response is not treated as structured).
Expected Behavior
refresh_skillsshould successfully clone/pull the skills repository.list_skillsshould return a populated, schema-valid structured object (not JSON serialized into a text field).- ToolHive should be able to parse the response without structured-content errors.
Evidence (from container)
Git missing in container:
docker exec <container-id> git --version -> executable not found
Relevant log lines:
Failed to initialize git repository: GitError: Error: spawn git ENOENTCloning repository from https://github.com/VoltAgent/awesome-agent-skills.git...Repository sync failed: Failed to initialize: Error: spawn git ENOENT
Tool response observed:
{"skills":[],"total":0} via content[0].text
Suspected Root Causes
- Container image missing git
- Repo sync cannot run, so skills registry stays empty.
- Tool output format mismatch
list_skillsdeclares anoutputSchemaobject but returns JSON string insidecontent: [{ type: "text", text: JSON.stringify(...) }], which ToolHive may not accept as structured output.
Proposed Fix
- Image fix: Include
gitin theawesome-agent-skills-mcpcontainer image (persistent fix; runtime install is not durable). - Response fix: Return schema-compatible structured output for tool calls (or ToolHive-compatible structured content), rather than JSON string embedded in text.
- Validation guard: Ensure
list_skillsalways returns schema-safe fields even when sync fails.
Impact
awesome-agent-skills-mcpis effectively non-functional in ToolHive for listing/refreshing skills in fresh containers.- End users cannot discover or use skills reliably.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingcliChanges that impact CLI functionalityChanges that impact CLI functionalitygoPull requests that update go codePull requests that update go code