Status: accepted, 2026-09-23 (OPIK-8485)
The server advertises exactly five tools: read, list, write, schema
and read_skill.
write(operation, data) tool over an operation
registry. schema(operation) returns an operation’s input on demand, so
the surface doesn’t carry every schema.structuredContent copy.Fewer, general tools keep the surface small (0001) and make tool choice easy for the model. A new entity or operation is a registry entry, not a new tool.
tests/conformance/test_tool_inventory.py: the exact set and the budget.tests/conformance/test_schema_snapshots.py: input schemas change only on
purpose (UPDATE_SNAPSHOTS=1).tests/conformance/test_no_duplicate_payload.py: one copy per answer.tests/conformance/test_write_tool_surface.py: write and schema match
the registry.tests/conformance/test_tool_annotations.py: checks that every tool
declares a title and its hints, checks each description against the
host’s cut (DESCRIPTION_LIMIT), and pins the ones over it as strict
expected failures.write tool over a registry replaced the narrow write tools.read_skill added (#175).ask_ollie and run_experiment removed (#181).structuredContent removed (#201).EXPECTED_TOOLS in
tests/conformance/test_tool_inventory.py (OPIK-8496).