{"components":{"schemas":{"ApifyActor":{"properties":{"actor":{"description":"`username/name`, as Apify addresses it.","type":"string"},"categories":{"items":{"type":"string"},"type":"array"},"rank":{"minimum":0,"type":"integer"},"runs_30d":{"description":"Runs started in the last 30 days, whatever their outcome.","format":"int64","minimum":0,"type":["integer","null"]},"runs_30d_succeeded":{"description":"Runs in the last 30 days that succeeded.","format":"int64","minimum":0,"type":["integer","null"]},"runs_total":{"format":"int64","minimum":0,"type":["integer","null"]},"title":{"type":["string","null"]},"users_30d":{"format":"int64","minimum":0,"type":["integer","null"]},"users_7d":{"format":"int64","minimum":0,"type":["integer","null"]},"users_total":{"format":"int64","minimum":0,"type":["integer","null"]}},"required":["rank","actor","categories"],"type":"object"},"ApifyResponse":{"properties":{"actors":{"items":{"$ref":"#/components/schemas/ApifyActor"},"type":"array"},"category":{"type":["string","null"]},"query":{"type":["string","null"]},"source":{"type":"string"},"total":{"description":"How many actors the store matched, of which `actors` is the first page.","format":"int64","minimum":0,"type":["integer","null"]}},"required":["actors","source"],"type":"object"},"AskRequest":{"properties":{"country":{"description":"ISO 3166-1 alpha-2 country the assistants answer from, default US.","type":["string","null"]},"engines":{"description":"Assistants to ask: chatgpt, perplexity, gemini, aimode, bing.\nAbsent asks all five.","items":{"type":"string"},"type":"array"},"prompt":{"description":"What to ask, e.g. \"What is the best web scraping API for an AI agent?\"","type":"string"}},"required":["prompt"],"type":"object"},"AskResponse":{"properties":{"asked_at":{"type":"string"},"country":{"type":"string"},"next":{"description":"What to do next, in words.","type":"string"},"prompt":{"type":"string"},"source":{"type":"string"},"tasks":{"items":{"$ref":"#/components/schemas/AskedTask"},"type":"array"}},"required":["prompt","country","asked_at","tasks","next","source"],"type":"object"},"AskedTask":{"properties":{"engine":{"type":"string"},"error":{"type":["string","null"]},"status":{"type":["string","null"]},"task":{"description":"Read it with `GET /agentrank/answer?task=`. Absent when the task was refused.","type":["string","null"]}},"required":["engine"],"type":"object"},"CitedSource":{"properties":{"domain":{"type":["string","null"]},"title":{"type":["string","null"]},"url":{"type":"string"}},"required":["url"],"type":"object"},"ClineResponse":{"properties":{"downloads":{"description":"Installs from Cline across every listed server.","format":"int64","minimum":0,"type":"integer"},"matched":{"description":"Servers matching the query, before `limit`.","minimum":0,"type":"integer"},"read_minutes_ago":{"description":"How old the cached read is, in minutes.","format":"int64","minimum":0,"type":"integer"},"servers":{"items":{"$ref":"#/components/schemas/ClineServer"},"type":"array"},"servers_listed":{"description":"Servers in the marketplace.","minimum":0,"type":"integer"},"source":{"type":"string"}},"required":["servers_listed","downloads","matched","servers","read_minutes_ago","source"],"type":"object"},"ClineServer":{"properties":{"author":{"type":["string","null"]},"category":{"type":["string","null"]},"downloads":{"format":"int64","minimum":0,"type":"integer"},"github_stars":{"format":"int64","minimum":0,"type":"integer"},"listed_at":{"type":["string","null"]},"mcp_id":{"description":"Cline's id, the server's GitHub path.","type":"string"},"name":{"type":"string"},"rank":{"minimum":0,"type":"integer"}},"required":["rank","name","mcp_id","downloads","github_stars"],"type":"object"},"DockerImage":{"properties":{"description":{"type":["string","null"]},"last_updated":{"type":["string","null"]},"name":{"description":"The image under `mcp/`, e.g. `playwright`.","type":"string"},"pulls":{"format":"int64","minimum":0,"type":"integer"},"rank":{"minimum":0,"type":"integer"},"stars":{"format":"int64","minimum":0,"type":["integer","null"]}},"required":["rank","name","pulls"],"type":"object"},"DockerResponse":{"properties":{"catalog_images":{"description":"Images in the namespace, machinery included, as Hub counts them.","format":"int64","minimum":0,"type":["integer","null"]},"images":{"description":"Server images among the 100 most pulled.","minimum":0,"type":"integer"},"machinery_pulls":{"description":"Pulls of the catalog's machinery images, kept apart.","format":"int64","minimum":0,"type":"integer"},"pulls":{"description":"Pulls across those server images.","format":"int64","minimum":0,"type":"integer"},"servers":{"items":{"$ref":"#/components/schemas/DockerImage"},"type":"array"},"source":{"type":"string"}},"required":["images","pulls","machinery_pulls","servers","source"],"type":"object"},"EndpointRow":{"properties":{"accounts":{"description":"Distinct accounts calling it, as Monid publishes it (`acc`).","format":"int64","minimum":0,"type":["integer","null"]},"calls":{"description":"Calls in the window, weighted as Monid ranks them.","format":"double","type":"number"},"calls_per_account":{"description":"`calls / accounts`: thousands here means a few pipelines, not many\nagents.","format":"double","type":["number","null"]},"category":{"type":["string","null"]},"change":{"description":"Change against the window before, as a fraction. Null when new.","format":"double","type":["number","null"]},"endpoint":{"description":"The endpoint as Monid names it under the provider, e.g. `search`.","type":"string"},"name":{"type":"string"},"previous_calls":{"description":"Weighted calls the week before — `rising` only.","format":"double","type":["number","null"]},"provider":{"type":"string"},"rank":{"minimum":0,"type":"integer"}},"required":["rank","provider","endpoint","name","calls"],"type":"object"},"ErrorResponse":{"description":"Error response body returned by all endpoints on failure.","properties":{"detail":{"type":"string"}},"required":["detail"],"type":"object"},"GithubMcpResponse":{"properties":{"matched":{"minimum":0,"type":"integer"},"read_minutes_ago":{"format":"int64","minimum":0,"type":"integer"},"servers":{"items":{"$ref":"#/components/schemas/GithubMcpServer"},"type":"array"},"servers_listed":{"minimum":0,"type":"integer"},"source":{"type":"string"}},"required":["servers_listed","matched","servers","read_minutes_ago","source"],"type":"object"},"GithubMcpServer":{"properties":{"display_name":{"type":["string","null"]},"name":{"description":"The registry name, e.g. `io.github.netdata/mcp-server`.","type":"string"},"pushed_at":{"type":["string","null"]},"rank":{"minimum":0,"type":"integer"},"remote":{"description":"Served over HTTP from the maker's endpoint, rather than installed.","type":"boolean"},"repository":{"description":"The repository whose stars these are.","type":["string","null"]},"stars":{"format":"int64","minimum":0,"type":"integer"}},"required":["rank","name","stars","remote"],"type":"object"},"McpsoResponse":{"properties":{"servers":{"items":{"$ref":"#/components/schemas/McpsoServer"},"type":"array"},"source":{"type":"string"}},"required":["servers","source"],"type":"object"},"McpsoServer":{"properties":{"error":{"type":["string","null"]},"github_stars":{"format":"int64","minimum":0,"type":["integer","null"]},"installs":{"format":"int64","minimum":0,"type":["integer","null"]},"name":{"type":["string","null"]},"quality_score":{"format":"int64","minimum":0,"type":["integer","null"]},"slug":{"type":"string"},"url":{"type":"string"},"views":{"description":"Visits to the server's page on mcp.so.","format":"int64","minimum":0,"type":["integer","null"]}},"required":["slug","url"],"type":"object"},"Mention":{"properties":{"count":{"description":"How many times the answer names it.","minimum":0,"type":"integer"},"order":{"description":"1 for the first of the looked-for tools the answer names, 2 for the next.","minimum":0,"type":"integer"},"tool":{"type":"string"}},"required":["tool","order","count"],"type":"object"},"MonidHeadline":{"properties":{"calls":{"description":"Every completed call in the window, free and paid, unweighted.","format":"int64","minimum":0,"type":["integer","null"]},"calls_previous_week":{"description":"Unweighted calls in the seven days before — `7d` only.","format":"int64","minimum":0,"type":["integer","null"]},"endpoints":{"format":"int64","minimum":0,"type":["integer","null"]},"free_share":{"description":"The share of `calls` that were free.","format":"double","type":["number","null"]},"paid_calls":{"format":"int64","minimum":0,"type":["integer","null"]},"providers":{"format":"int64","minimum":0,"type":["integer","null"]}},"type":"object"},"MonidResponse":{"properties":{"as_of":{"description":"The newest complete day of usage the figures cover, `YYYY-MM-DD`.","type":"string"},"categories":{"description":"Endpoint categories Monid files under, for `category`.","items":{"type":"string"},"type":"array"},"endpoints":{"items":{"$ref":"#/components/schemas/EndpointRow"},"type":"array"},"free_weight":{"description":"What a free call counts as, against a paid one, in `calls`.","format":"double","type":["number","null"]},"headline":{"$ref":"#/components/schemas/MonidHeadline"},"providers":{"items":{"$ref":"#/components/schemas/ProviderRow"},"type":"array"},"source":{"type":"string"},"view":{"type":"string"},"window":{"type":"string"}},"required":["as_of","window","view","headline","categories","source"],"type":"object"},"OfficialCounts":{"properties":{"active":{"format":"int64","minimum":0,"type":"integer"},"counted_at":{"type":"string"},"deprecated":{"format":"int64","minimum":0,"type":"integer"},"packaged":{"description":"Servers with a package to install, by registry: npm, pypi, oci, …","items":{"items":false,"prefixItems":[{"type":"string"},{"format":"int64","minimum":0,"type":"integer"}],"type":"array"},"type":"array"},"pages":{"format":"int64","minimum":0,"type":"integer"},"published_last_30_days":{"description":"Latest versions published in the 30 days before the count.","format":"int64","minimum":0,"type":"integer"},"remote":{"description":"Servers with a URL to call (served by their maker).","format":"int64","minimum":0,"type":"integer"},"servers":{"description":"Servers listed, each at its latest version.","format":"int64","minimum":0,"type":"integer"}},"required":["servers","active","deprecated","remote","packaged","published_last_30_days","pages","counted_at"],"type":"object"},"OfficialResponse":{"properties":{"counting":{"description":"True while the count is being taken; ask again in a few minutes.","type":"boolean"},"counts":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/OfficialCounts"}]},"notice":{"type":["string","null"]},"servers":{"description":"For a search: the servers whose name matches.","items":{"$ref":"#/components/schemas/OfficialServer"},"type":"array"},"source":{"type":"string"}},"required":["counting","servers","source"],"type":"object"},"OfficialServer":{"properties":{"name":{"type":"string"},"packages":{"items":{"type":"string"},"type":"array"},"published_at":{"type":["string","null"]},"remote":{"type":"boolean"},"status":{"type":["string","null"]},"title":{"type":["string","null"]},"version":{"type":["string","null"]}},"required":["name","remote","packages"],"type":"object"},"ProviderRow":{"properties":{"accounts_at_least":{"description":"The largest number of accounts calling any one of its endpoints — a\nfloor on the provider's accounts. See the module note.","format":"int64","minimum":0,"type":["integer","null"]},"calls":{"description":"Calls in the window, weighted as Monid ranks them.","format":"double","type":"number"},"change":{"description":"Change against the window before, as a fraction: 0.3 is +30%. Null when\nthere was no window before.","format":"double","type":["number","null"]},"endpoints":{"format":"int64","minimum":0,"type":["integer","null"]},"name":{"type":"string"},"provider":{"description":"Monid's slug for the provider, e.g. `tinyfish`, `hunterio`.","type":"string"},"rank":{"minimum":0,"type":"integer"},"top_endpoint":{"type":["string","null"]}},"required":["rank","provider","name","calls"],"type":"object"},"ReadResponse":{"properties":{"engine":{"type":["string","null"]},"error":{"type":["string","null"]},"mentions":{"description":"The looked-for tools the answer names, in the order it names them.","items":{"$ref":"#/components/schemas/Mention"},"type":"array"},"model":{"type":["string","null"]},"source":{"type":"string"},"sources":{"items":{"$ref":"#/components/schemas/CitedSource"},"type":"array"},"status":{"description":"QUEUED, PROCESSING, COMPLETED or FAILED.","type":"string"},"task":{"type":"string"},"text":{"type":["string","null"]}},"required":["task","status","mentions","sources","source"],"type":"object"},"SmitheryResponse":{"properties":{"query":{"type":"string"},"reachable":{"description":"With `all`: how many distinct servers the listing's pages reached.\nSmithery serves at most five pages of 100 and they overlap, so this is\nfar below `total`, and the ranking covers only these.","format":"int64","minimum":0,"type":["integer","null"]},"servers":{"items":{"$ref":"#/components/schemas/SmitheryServer"},"type":"array"},"source":{"type":"string"},"total":{"description":"How many servers Smithery matched, of which `servers` is the first page.","format":"int64","minimum":0,"type":["integer","null"]}},"required":["query","servers","source"],"type":"object"},"SmitheryServer":{"properties":{"created_at":{"type":["string","null"]},"display_name":{"type":["string","null"]},"exact":{"description":"Whether `qualified_name` is what was asked for — the server a caller\nmeans, against the ones a fuzzy search found near it.","type":"boolean"},"homepage":{"type":["string","null"]},"qualified_name":{"description":"Smithery's identifier, `namespace/slug` or a bare slug.","type":"string"},"remote":{"description":"Hosted by Smithery and called over HTTP, rather than run locally.","type":"boolean"},"use_count":{"format":"int64","minimum":0,"type":["integer","null"]},"verified":{"type":"boolean"}},"required":["qualified_name","exact","verified","remote"],"type":"object"}},"securitySchemes":{"bearerAuth":{"scheme":"bearer","type":"http"}}},"info":{"description":"Agent tool usage as the marketplaces that route it report it: Monid's calls and calling accounts per provider and endpoint, and Smithery's use count per MCP server. Each figure is one marketplace's own traffic, and every answer names its source and date.","license":{"name":"Proprietary"},"title":"Hedwig AI Toolkit – Agent Rank API","version":"0.1.0"},"openapi":"3.1.0","paths":{"/agentrank/answer":{"get":{"operationId":"read_handler","parameters":[{"description":"A task id from `POST /agentrank/answers`.","in":"query","name":"task","required":true,"schema":{"type":"string"}},{"description":"Comma-separated tools to look for in the answer, e.g. `Firecrawl,Apify,Exa`.","in":"query","name":"tools","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadResponse"}}},"description":"The task's status, and once complete the answer and the tools it names"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"cloro is not configured on this instance"}},"security":[{"bearerAuth":[]}],"tags":["agentrank"]}},"/agentrank/answers":{"post":{"operationId":"ask_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AskRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AskResponse"}}},"description":"One queued task per assistant asked"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"cloro is not configured on this instance"}},"security":[{"bearerAuth":[]}],"tags":["agentrank"]}},"/agentrank/apify":{"get":{"operationId":"apify_handler","parameters":[{"description":"Words to search the store for, e.g. `instagram`, `google maps`. Absent\nlists the whole store by popularity.","in":"query","name":"query","required":false,"schema":{"type":["string","null"]}},{"description":"An Apify category, e.g. `SOCIAL_MEDIA`, `LEAD_GENERATION`, `AI`.","in":"query","name":"category","required":false,"schema":{"type":["string","null"]}},{"description":"Actors to return, default 25, at most 100.","in":"query","name":"limit","required":false,"schema":{"minimum":0,"type":["integer","null"]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApifyResponse"}}},"description":"Apify Store actors with their users and runs"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Apify could not be reached"}},"security":[{"bearerAuth":[]}],"tags":["agentrank"]}},"/agentrank/cline":{"get":{"operationId":"cline_handler","parameters":[{"description":"Servers to return, most used first, default 25, at most 200.","in":"query","name":"limit","required":false,"schema":{"minimum":0,"type":["integer","null"]}},{"description":"Only servers whose name, id or author contains this.","in":"query","name":"query","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClineResponse"}}},"description":"Cline MCP Marketplace servers by installs"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Cline could not be reached"}},"security":[{"bearerAuth":[]}],"tags":["agentrank"]}},"/agentrank/docker":{"get":{"operationId":"docker_handler","parameters":[{"description":"Images to return, most pulled first, default 25, at most 100.","in":"query","name":"limit","required":false,"schema":{"minimum":0,"type":["integer","null"]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DockerResponse"}}},"description":"MCP Catalog images by pulls"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Docker Hub could not be reached"}},"security":[{"bearerAuth":[]}],"tags":["agentrank"]}},"/agentrank/github-mcp":{"get":{"operationId":"github_handler","parameters":[{"description":"Servers to return, most used first, default 25, at most 200.","in":"query","name":"limit","required":false,"schema":{"minimum":0,"type":["integer","null"]}},{"description":"Only servers whose name, id or author contains this.","in":"query","name":"query","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GithubMcpResponse"}}},"description":"GitHub MCP Registry servers by repository stars"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"GitHub's registry could not be reached"}},"security":[{"bearerAuth":[]}],"tags":["agentrank"]}},"/agentrank/mcpso":{"get":{"operationId":"mcpso_handler","parameters":[{"description":"Comma-separated mcp.so slugs (mcp.so/servers/<slug>), up to 50.","in":"query","name":"slugs","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpsoResponse"}}},"description":"Each named server's page views, installs and stars on mcp.so"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"}},"security":[{"bearerAuth":[]}],"tags":["agentrank"]}},"/agentrank/monid":{"get":{"operationId":"monid_handler","parameters":[{"description":"`7d` (default) or `30d`: the trailing window ending on `as_of`.","in":"query","name":"window","required":false,"schema":{"type":["string","null"]}},{"description":"`providers` (default), `endpoints`, `rising` (endpoints growing fastest\nweek over week) or `new` (endpoints with no previous week).","in":"query","name":"view","required":false,"schema":{"type":["string","null"]}},{"description":"Only this provider's rows, by Monid's slug or display name.","in":"query","name":"provider","required":false,"schema":{"type":["string","null"]}},{"description":"Endpoints in one category, e.g. `Web search`, `Lead gen`. Ignored for\nproviders.","in":"query","name":"category","required":false,"schema":{"type":["string","null"]}},{"description":"Rows to return, default 30.","in":"query","name":"limit","required":false,"schema":{"minimum":0,"type":["integer","null"]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonidResponse"}}},"description":"Monid's rankings, exact"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Monid could not be reached, or changed its document"}},"security":[{"bearerAuth":[]}],"tags":["agentrank"]}},"/agentrank/official":{"get":{"operationId":"official_handler","parameters":[{"description":"`all` to count every listed server, or a name to search for.","in":"query","name":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OfficialResponse"}}},"description":"Counts of every listed server, or the servers matching a name"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"The registry could not be reached"}},"security":[{"bearerAuth":[]}],"tags":["agentrank"]}},"/agentrank/smithery":{"get":{"operationId":"smithery_handler","parameters":[{"description":"A provider or server name, e.g. `exa`, `tinyfish/tinyfish`; or `all`\nfor every server Smithery's listing reaches, most used first.","in":"query","name":"query","required":true,"schema":{"type":"string"}},{"description":"Servers to return, default 10, at most 50 (100 with `all`).","in":"query","name":"limit","required":false,"schema":{"minimum":0,"type":["integer","null"]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SmitheryResponse"}}},"description":"Matching MCP servers with their use counts"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Smithery could not be reached"}},"security":[{"bearerAuth":[]}],"tags":["agentrank"]}}},"servers":[{"url":"https://toolkit.hedwigai.com"}]}