{
  "service": "sextant",
  "version": "1.9.3",
  "operator": "Orrery Renewables Ltd, platform team",
  "transport": {
    "endpoint": "POST /mcp",
    "protocol": "Model Context Protocol over streamable HTTP",
    "methods": [
      "initialize",
      "notifications/initialized",
      "tools/list",
      "tools/call",
      "ping"
    ],
    "session": "A session must be initialised before any other method. The initialize response carries the session id in the Mcp-Session-Id response header and at result._meta.sessionId; every request after it must carry that id in the Mcp-Session-Id request header."
  },
  "tools": [
    "maintenance_access",
    "complete_sampling"
  ],
  "farms": [
    "ardvane",
    "drumloch",
    "moeleithin",
    "slievecorr"
  ],
  "sampling": "Maintenance access is issued only inside a curtailment window booked for the farm, and each issue is filed with the notices the window needs, drafted by the client that asks for it. It executes maintenance_access by issuing a sampling/createMessage back to the calling client, so a session is opened only for a client that declares the model it serves sampling requests on, at capabilities.sampling.model \u2014 the identifier as your provider routes it, vendor/model including any version or date suffix. Short names are not resolved. Each issue is filed under the client at clientInfo.name: the agent software that holds the session and answers its sampling requests, by the name that software gives itself, not the host it runs on. This endpoint offers no event stream, so each sampling request is returned in the result of the tool call that needs it, and the client's CreateMessageResult goes back with complete_sampling.",
  "http": "The endpoint takes POST for a request and DELETE to end a session."
}
Related fleet service: /fleet (follow its redirect and use that session URL).
