Verified websites as JSON commands for AI agents over plain curl or MCP.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
A site's commands with params ("name*" = required, ":a|b" = allowed values, "=x" = default). Pass command for full param docs, default fields and a ready clify_run call.
site name from clify_sites, e.g. crates, weather
one command name for full details
A site's commands with params ("name*" = required, ":a|b" = allowed values, "=x" = default). Pass command for full param docs, default fields and a ready clify_run call.
| Argument | Type | Description |
|---|---|---|
| site* | string | site name from clify_sites, e.g. crates, weather |
| command | string | one command name for full details |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"site"
],
"properties": {
"site": {
"type": "string",
"description": "site name from clify_sites, e.g. crates, weather"
},
"command": {
"type": "string",
"description": "one command name for full details"
}
}
}Call one command of a clify site and get JSON back. args holds the command's params (see clify_help). Lists return count, total and nextPage (args for the next page). Write commands return a dry-run preview unless confirm:true.
| Argument | Type | Description |
|---|---|---|
| args | object | params, e.g. {"name":"serde"} |
| site* | string | site name, e.g. crates |
| limit | integer | first N items of a list |
| fields | string | comma-separated keys to keep (dot paths ok); "*" for all |
| command* | string | command name, e.g. get-crate |
| confirm | boolean | true sends a write; otherwise writes return a preview |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"site",
"command"
],
"properties": {
"args": {
"type": "object",
"description": "params, e.g. {\"name\":\"serde\"}",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
}
},
"site": {
"type": "string",
"description": "site name, e.g. crates"
},
"limit": {
"type": "integer",
"maximum": 9007199254740991,
"description": "first N items of a list",
"exclusiveMinimum": 0
},
"fields": {
"type": "string",
"description": "comma-separated keys to keep (dot paths ok); \"*\" for all"
},
"command": {
"type": "string",
"description": "command name, e.g. get-crate"
},
"confirm": {
"type": "boolean",
"description": "true sends a write; otherwise writes return a preview"
}
}
}Search the catalogue of 135 real websites clify can call (package registries, government data, science, news, jobs, weather, culture…). Pass a keyword query to get the best sites with their matching commands. Without a query it pages through the catalogue, one line per site ("name (category, commands): about"); filter with category. Start here.
| Argument | Type | Description |
|---|---|---|
| limit | integer | max sites (default 6 with a query, 40 per page without) |
| query | string | what you need, e.g. "rust crate versions" or "weather forecast" |
| offset | integer | skip this many sites when paging the catalogue (see nextPage) |
| category | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 9007199254740991,
"description": "max sites (default 6 with a query, 40 per page without)",
"exclusiveMinimum": 0
},
"query": {
"type": "string",
"description": "what you need, e.g. \"rust crate versions\" or \"weather forecast\""
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "skip this many sites when paging the catalogue (see nextPage)"
},
"category": {
"enum": [
"culture",
"dev",
"gov-eu",
"gov-nordic",
"gov-us",
"jobs-market",
"maps-weather",
"news",
"sandbox",
"science",
"sports-ent"
],
"type": "string"
}
}
}crates.io: Get a crate's details: description, links, download totals, keywords, categories and default version Returns name, description, default_version, downloads, recent_downloads, num_versions, keywords, categories, repository, documentation, homepage, updated_at by default. (Same as clify_run site=crates command=get-crate.)
| Argument | Type | Description |
|---|---|---|
| name* | string | Crate name |
| limit | integer | |
| fields | string | keys to keep; "*" for all |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Crate name"
},
"limit": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"fields": {
"type": "string",
"description": "keys to keep; \"*\" for all"
}
}
}hn.algolia.com: Search stories/comments by relevance Returns title, points, num_comments, author, created_at, url, objectID by default. (Same as clify_run site=hnsearch command=search.)
| Argument | Type | Description |
|---|---|---|
| page | number | |
| tags | string | default story |
| limit | integer | |
| query* | string | |
| fields | string | keys to keep; "*" for all |
| hitsPerPage | number |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"query"
],
"properties": {
"page": {
"type": "number"
},
"tags": {
"enum": [
"story",
"comment",
"ask_hn",
"show_hn",
"poll"
],
"type": "string",
"description": "default story"
},
"limit": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"query": {
"type": "string"
},
"fields": {
"type": "string",
"description": "keys to keep; \"*\" for all"
},
"hitsPerPage": {
"type": "number"
}
}
}pypi.org: Get a package's PyPI page for its latest version: name and version, summary, pip install command, project links and metadata sidebar, and README text. Returns name_version, summary, pip_command, sidebar, description by default. (Same as clify_run site=pypi command=get-package.)
| Argument | Type | Description |
|---|---|---|
| name* | string | Package name as it appears on PyPI, e.g. requests |
| limit | integer | |
| fields | string | keys to keep; "*" for all |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Package name as it appears on PyPI, e.g. requests"
},
"limit": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"fields": {
"type": "string",
"description": "keys to keep; \"*\" for all"
}
}
}en.wikipedia.org: Short summary of an article (title, description, extract, url) Returns title, description, extract, content_urls.desktop.page by default. (Same as clify_run site=wikipedia command=summary.)
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| title* | string | article title, spaces as underscores, e.g. Y_Combinator |
| fields | string | keys to keep; "*" for all |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"title"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"title": {
"type": "string",
"description": "article title, spaces as underscores, e.g. Y_Combinator"
},
"fields": {
"type": "string",
"description": "keys to keep; \"*\" for all"
}
}
}