Search and read Linux manual pages with version-aware lookup and exact package provenance.
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.
Get full manual text by name, e.g. manual_name="ls"; no package needed. manual_name is the command name (also matches aliases); package is an optional filter. Tries exact casing first, then a case-insensitive name/alias match. Search API selects latest indexed packages per scope, preferring Fedora when distribution is omitted, then newest Fedora RPM version across scopes. Explicit filters always apply; package_version can select historical manuals. Exact command names (sections 1/8) precede other names and aliases within the preferred distro. No locale fallback. Returns manual text with a distro/release and package/version header. Source-only manuals raise an error with extraction status.
Get full manual text by name, e.g. manual_name="ls"; no package needed. manual_name is the command name (also matches aliases); package is an optional filter. Tries exact casing first, then a case-insensitive name/alias match. Search API selects latest indexed packages per scope, preferring Fedora when distribution is omitted, then newest Fedora RPM version across scopes. Explicit filters always apply; package_version can select historical manuals. Exact command names (sections 1/8) precede other names and aliases within the preferred distro. No locale fallback. Returns manual text with a distro/release and package/version header. Source-only manuals raise an error with extraction status.
| Argument | Type | Description |
|---|---|---|
| locale | string | |
| package | any | |
| release | any | |
| section | any | |
| repository | any | |
| manual_name* | string | |
| architecture | any | |
| distribution | any | |
| package_version | any |
{
"type": "object",
"required": [
"manual_name"
],
"properties": {
"locale": {
"type": "string",
"default": "en",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._+~-]*$",
"maxLength": 128
},
"package": {
"anyOf": [
{
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._+~-]*$",
"maxLength": 128
},
{
"type": "null"
}
],
"default": null
},
"release": {
"anyOf": [
{
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._+~-]*$",
"maxLength": 128
},
{
"type": "null"
}
],
"default": null
},
"section": {
"anyOf": [
{
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._+~-]*$",
"maxLength": 128
},
{
"type": "null"
}
],
"default": null
},
"repository": {
"anyOf": [
{
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._+~-]*$",
"maxLength": 128
},
{
"type": "null"
}
],
"default": null
},
"manual_name": {
"type": "string",
"pattern": "^[^\\s/\\\\]+$",
"maxLength": 256
},
"architecture": {
"anyOf": [
{
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._+~-]*$",
"maxLength": 128
},
{
"type": "null"
}
],
"default": null
},
"distribution": {
"anyOf": [
{
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._+~-]*$",
"maxLength": 128
},
{
"type": "null"
}
],
"default": null
},
"package_version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
}
}List indexed distribution/release/repository/architecture scopes and counts. Use the returned values verbatim; targets such as CentOS 8, EPEL 9 or Fedora 43 are available only if they have been indexed.
No arguments.
{
"type": "object",
"properties": {}
}Search manual text/metadata; return ranked hits, snippets and exact identities. Latest indexed package versions are used unless package_version is supplied. Omitted scope filters include all indexed distributions and releases. Supply query for relevance-ranked text search, or manual_name without query for name/alias lookup with Fedora-preferred recommendations and case-insensitive fallback. Pass next_cursor with identical arguments for the next live page; results can shift as indexing progresses. Filters are exact and case-sensitive.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| query | any | |
| cursor | any | |
| locale | string | |
| package | any | |
| release | any | |
| section | any | |
| repository | any | |
| manual_name | any | |
| architecture |
| any |
| distribution | any |
| package_version | any |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1
},
"query": {
"anyOf": [
{
"type": "string",
"pattern": "^[\\s\\S]*\\S[\\s\\S]*$",
"maxLength": 1000,
"minLength": 1
},
{
"type": "null"
}
],
"default": null
},
"cursor": {
"anyOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "null"
}
],
"default": null
},
"locale": {
"type": "string",
"default": "en",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._+~-]*$",
"maxLength": 128
},
"package": {
"anyOf": [
{
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._+~-]*$",
"maxLength": 128
},
{
"type": "null"
}
],
"default": null
},
"release": {
"anyOf": [
{
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._+~-]*$",
"maxLength": 128
},
{
"type": "null"
}
],
"default": null
},
"section": {
"anyOf": [
{
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._+~-]*$",
"maxLength": 128
},
{
"type": "null"
}
],
"default": null
},
"repository": {
"anyOf": [
{
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._+~-]*$",
"maxLength": 128
},
{
"type": "null"
}
],
"default": null
},
"manual_name": {
"anyOf": [
{
"type": "string",
"pattern": "^[^\\s/\\\\]+$",
"maxLength": 256
},
{
"type": "null"
}
],
"default": null
},
"architecture": {
"anyOf": [
{
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._+~-]*$",
"maxLength": 128
},
{
"type": "null"
}
],
"default": null
},
"distribution": {
"anyOf": [
{
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._+~-]*$",
"maxLength": 128
},
{
"type": "null"
}
],
"default": null
},
"package_version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
}
}