{"ok":true,"site":{"host":"developers.napster.com","url":"https://developers.napster.com/docs","type":"live","desc":"Start building with the Napster API","tools":[{"name":"docs.listAllPages","kind":"answer","impl":"imperative","description":"Return the full list of every documentation page (slug + title). Use this once at session start to map what topics the site covers, then use docs.search to narrow down and docs.fetchPageContent to read specifics.","annotations":{"readOnlyHint":true},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/docs","pages":["/docs","/docs/building-your-omniagent/overview","/docs/api-reference","/docs/whats-new","/","/docs/ai-coding-tools"]},{"name":"docs.search","kind":"act","impl":"imperative","description":"Search ALL documentation for a user question in one call — the written guides AND the API reference (the OpenAPI spec). Returns three groups: `pages` (matching guide pages, each with `slug`, `title`, and a snippet), `endpoints` (matching API endpoints, each with `method`, `path`, `summary`, and `slug`), and `fields` (matching request/response fields, each with `name`, `type`, allowed values, `description`, and `usedIn` — the endpoints that use the field, each with its own `slug`). Use this for ANY documentation question — how-to, an endpoint, or a specific field; you never need to pick a different search tool. Then: read a guide with docs.fetchPageContent(slug); read an endpoint in full with docs.getApiEndpoint(path, method); open any page for the user with docs.openPage(slug).","annotations":{"readOnlyHint":true},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"query":{"type":"string","minLength":1}},"required":["query"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/docs","pages":["/docs","/docs/building-your-omniagent/overview","/docs/api-reference","/docs/whats-new","/","/docs/ai-coding-tools"]},{"name":"docs.fetchPageContent","kind":"answer","impl":"imperative","description":"Fetch the full content of one GUIDE documentation page as clean markdown (JSX components and imports stripped) so you can answer the user with grounded detail. Pass the `slug` exactly as returned by a prior docs.search or docs.listAllPages result — the user never types this. To read an API reference ENDPOINT (its parameters and schemas), use docs.getApiEndpoint with the endpoint path and method instead of this tool.","annotations":{"readOnlyHint":true},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"slug":{"type":"string","minLength":1}},"required":["slug"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/docs","pages":["/docs","/docs/building-your-omniagent/overview","/docs/api-reference","/docs/whats-new","/","/docs/ai-coding-tools"]},{"name":"docs.getApiEndpoint","kind":"answer","impl":"imperative","description":"Read one API reference endpoint in full — its parameters, request body fields (with types, required flags, and allowed values), and responses, rendered from the OpenAPI spec. Pass `path` and `method` exactly as returned by a docs.search `endpoints` result or a field's `usedIn` entry (e.g. path \"/public/agents\", method \"POST\"). Returns `{ path, method, slug, content }` — pass the returned `slug` to docs.openPage if you want to show the user the endpoint page. This is the correct way to answer detailed questions about an endpoint — do not build a page slug for docs.fetchPageContent.","annotations":{"readOnlyHint":true},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"path":{"type":"string","minLength":1},"method":{"type":"string","minLength":1}},"required":["path","method"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/docs","pages":["/docs","/docs/building-your-omniagent/overview","/docs/api-reference","/docs/whats-new","/","/docs/ai-coding-tools"]},{"name":"docs.openPage","kind":"act","impl":"imperative","description":"Navigate the user's browser to a documentation page. Call this whenever you reference a page in your answer, so the user can see what you are explaining. Pass a `slug` from any docs.search result — a guide `pages` slug, an `endpoints` slug, or a field `usedIn` entry's slug (an endpoint `path` also works; it is resolved to the real docs page before navigating). Returns `{ ok, slug }` on success, or `{ ok: false }` if nothing matched (in which case the browser is not navigated).","annotations":{"readOnlyHint":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"slug":{"type":"string","minLength":1}},"required":["slug"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/docs","pages":["/docs","/docs/building-your-omniagent/overview","/docs/api-reference","/docs/whats-new","/","/docs/ai-coding-tools"]}],"category":"Developer Tools","favicon":"/favicons/developers.napster.com.png","apiSurface":"spec","toolCount":5}}