Search the directory
const url = 'http://localhost:11044/api/v1/directory?q=example&type=SKILL&excludeInstalled=true';const options = {method: 'GET', headers: {'X-Embabel-Api-Key': '<X-Embabel-Api-Key>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'http://localhost:11044/api/v1/directory?q=example&type=SKILL&excludeInstalled=true' \ --header 'X-Embabel-Api-Key: <X-Embabel-Api-Key>'Search across all registered directories for skills, APIs, MCP servers, and realms. Optionally filter by type.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Search query
Filter by type: SKILL, API, MCP_SERVER, REALM
Exclude already-installed items
Responses
Section titled “Responses”Search results
An installable skill, API, MCP server or realm found in a registered directory. GET /directory answers a list of these; POST /directory/install takes one back as its body.
object
One-line summary from the directory source; never empty, a source without one gets a generic label
Source-specific extras such as repo, from, version, author, format or registry. On install of an API, a headers object of string values becomes the custom HTTP headers sent to it.
object
Display name; the install records the item under it and the installed filter matches on it (for a GitHub realm, the repo name without its realm- prefix)
What install fetches: the OpenAPI spec URL for an API, the git clone URL for a realm, the GitHub tree URL of a skill, the repository or project link of an MCP server. An API entry with a blank source is refused with 400.
Kind of item; selects the install flow
Page for a person to browse (GitHub page, docs site); null when the source gives none

