modelcontextprotocol / modelcontextprotocol/ext-apps
Specced type of `ui/notifications/tool-input` is incompatible with OAI 'custom tools'
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 2.9k
- Forks
- 387
- Avg merge
- 3h 21m
- Merged PRs (30d)
- 6
Description
Describe the bug
ui/notifications/tool-input is specced as
{
jsonrpc: "2.0",
method: "ui/notifications/tool-input",
params: {
arguments: Record<string, unknown> // Tool input arguments
}
}
Tools on OAI do not require tool arguments to be given as objects -- they can be raw strings. This can lead to better tool calling fidelity since it avoids various escaping issues that models trip up on in JSON calling, especially with nested strings.
However, arguments to such tools cannot be represented in ui/notifications/tool-input because it requires an object for its arguments.
To Reproduce
Attempt to implement apps in a system that allows
Expected behavior
We should be able to model OAI custom tools in this call. I suggest just making arguments unknown.
Logs
N/A
Additional context
N/A
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 by reading the specification for ui/notifications/tool-input and compare its arguments shape with the linked OpenAI custom-tools documentation. Confirm how raw-string arguments should be represented, then update the specification so the call can model them and verify that the resulting shape remains valid for object arguments.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- api
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100