- Notifications
You must be signed in to change notification settings - Fork962
Closed
Description
Description
When running the conformance tests we saw that a lot of the tools schemas were usingstring
types rather thanenum
types. I would think that the MCP Host would be able to make better use of the fields if it understood the values were constrained.
Specifically, we're looking at:
list_issues
:direction
,sort
andstate
update_issue
:state
search_code
:order
search_issues
:order
andsort
search_users
:order
andsort
Error: Received unexpected error: inputSchema mismatch for tool "list_issues": conformance_test.inputSchema{ Type: "object", Properties: map[string]any{ "direction": map[string]any{ ... // 1 ignored entry - "enum": []any{string("asc"), string("desc")}, "type": string("string"), }, ... "sort": map[string]any{ ... // 1 ignored entry - "enum": []any{string("created"), string("updated"), string("comments")}, "type": string("string"), }, "state": map[string]any{ ... // 1 ignored entry - "enum": []any{string("open"), string("closed"), string("all")}, "type": string("string"), }, }, Required: {"owner", "repo"}, } inputSchema mismatch for tool "update_issue": conformance_test.inputSchema{ Type: "object", Properties: map[string]any{ ... "state": map[string]any{ ... // 1 ignored entry - "enum": []any{string("open"), string("closed")}, "type": string("string"), }, "title": map[string]any{"type": string("string"), ...}, }, Required: {"owner", "repo", "issue_number"}, } inputSchema mismatch for tool "search_code": conformance_test.inputSchema{ Type: "object", Properties: map[string]any{ "order": map[string]any{ ... // 1 ignored entry - "enum": []any{string("asc"), string("desc")}, "type": string("string"), }, ... } inputSchema mismatch for tool "search_issues": conformance_test.inputSchema{ Type: "object", Properties: map[string]any{ "order": map[string]any{ ... // 1 ignored entry - "enum": []any{string("asc"), string("desc")}, "type": string("string"), }, ... "sort": map[string]any{ ... // 1 ignored entry - "enum": []any{ - string("comments"), string("reactions"), string("reactions-+1"), - string("reactions--1"), string("reactions-smile"), - string("reactions-thinking_face"), string("reactions-heart"), - string("reactions-tada"), string("interactions"), string("created"), - string("updated"), - }, "type": string("string"), }, }, Required: {"q"}, } inputSchema mismatch for tool "search_users": conformance_test.inputSchema{ Type: "object", Properties: map[string]any{ "order": map[string]any{ ... // 1 ignored entry - "enum": []any{string("asc"), string("desc")}, "type": string("string"), }, ... "sort": map[string]any{ ... // 1 ignored entry - "enum": []any{string("followers"), string("repositories"), string("joined")}, "type": string("string"), }, }, Required: {"q"}, }
Metadata
Metadata
Assignees
Labels
No labels