Manpage MCP
Search and read Linux manual pages with version-aware lookup and exact package provenance.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"mcp": {
"url": "https://manpage.ai/mcp"
}
}
}Remote-Endpunkte
https://manpage.ai/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (4)
🟢give_feedback(message, category, toolName, severity)
Report unexpected tool errors, missing capabilities, confusing output, or unclear docs. Only message is required. Describe your goal, what you tried, what you expected, and any workaround. Feedback is saved for the maintainers to review.
Eingabe-Schema
{
"type": "object",
"properties": {
"message": {
"description": "Required feedback: your goal, what you tried, expected behavior, and what happened. Include any workaround. Must contain 1–2000 characters.",
"maxLength": 2000,
"minLength": 1,
"pattern": "\\S",
"title": "Message",
"type": "string"
},
"category": {
"default": "other",
"description": "Optional triage category; defaults to other.",
"enum": [
"tool_error",
"missing_capability",
"confusing_output",
"documentation",
"other"
],
"title": "Category",
"type": "string"
},
"toolName": {
"anyOf": [
{
"maxLength": 128,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional name of the tool this feedback concerns.",
"title": "Toolname"
},
"severity": {
"default": "medium",
"description": "Optional severity: high means blocked, medium means a workaround was found, and low means a minor annoyance. Defaults to medium.",
"enum": [
"low",
"medium",
"high"
],
"title": "Severity",
"type": "string"
}
},
"required": [
"message"
],
"title": "give_feedbackArguments",
"examples": [
{
"message": "Search returned an unclear continuation error; restarting worked.",
"category": "confusing_output",
"toolName": "search_man_pages"
}
]
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true,
"title": "give_feedbackDictOutput"
}🟢list_targets
List OS releases with readable manuals. Required fields: none; call with {}. Use product and os_version from a result in get_man_page or search_man_pages. An empty list means no current documentation is available.
Eingabe-Schema
{
"type": "object",
"properties": {},
"title": "list_targetsArguments",
"examples": [
{}
]
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true,
"title": "list_targetsDictOutput"
}🟢get_man_page(name, product, os_version, section, package, ...)
Read a manual. Required fields depend on the retrieval mode: 1. Name lookup: name. Example: {"name":"ls"}. Optional product pins a distro. Without OS/version filters, select the newest upstream version across active catalogs. Different packages or sections remain ambiguous; provenance identifies the chosen distro. 2. ID lookup: page_id copied from a previous result; omit name-based filters. 3. Continuation: cursor copied from get_man_page.next_cursor; omit name-based filters. A matching page_id may also be supplied. max_chars is optional in every mode. With product, os_version defaults to latest (null also means latest): the newest numbered release with readable documentation for the requested architecture/locale. Pass an explicit release such as 44 to pin it. Responses identify the actual OS release. A missing manual never falls back to an older OS. page_id and cursor retain their own release. Version accepts exact EVR (2:1.35-9.fc44), version-release (1.35-9.fc44), or upstream version (1.35). No operators or ranges: >=1.35 is invalid. RPM ~ and ^ characters are allowed in exact versions. Omit version for current documentation. An unavailable version never falls back; alternatives list only readable manuals. Ambiguity returns page_id choices. Alternatively pass only page_id from search, or only cursor to continue a long page. max_chars bounds each response; next_cursor=null means finished.
Eingabe-Schema
{
"type": "object",
"properties": {
"name": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Required for name lookup. Manual name without its section suffix. Omit when supplying page_id or cursor.",
"examples": [
"tar",
"gzip"
],
"title": "Name"
},
"product": {
"anyOf": [
{
"enum": [
"fedora",
"centos-stream"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional product filter. Omit to select the newest upstream package version across published OS catalogs. Use a product from list_targets. Omit when supplying page_id or cursor.",
"examples": [
"fedora",
"centos-stream"
],
"title": "Product"
},
"os_version": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": "latest",
"description": "Optional OS release, distinct from the package version. Without product, omitted/latest/null compares upstream versions across active catalogs. With product, it selects the newest numbered release. Keep the default with page_id or cursor, which already pin the release.",
"examples": [
"latest",
"44",
"10"
],
"title": "Os Version"
},
"section": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional manual section filter. Helps disambiguate commands, functions and file formats. Applies to name lookups and searches, including search continuation.",
"examples": [
"1",
"5",
"8",
"3p"
],
"title": "Section"
},
"package": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional RPM package-name filter, which may differ from the command name. Applies to name lookups and searches, including search continuation.",
"examples": [
"tar",
"bash",
"gzip"
],
"title": "Package"
},
"version": {
"anyOf": [
{
"maxLength": 256,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional exact package EVR, version-release, or upstream version; not an OS release. Omit for current documentation. Operators/ranges are unsupported. Omit for page_id/cursor retrieval.",
"examples": [
"2:1.35-9.fc44",
"1.35-9.fc44",
"1.35"
],
"title": "Version"
},
"architecture": {
"default": "x86_64",
"description": "Optional target CPU architecture from list_targets; defaults to x86_64. Includes compatible noarch packages. Repeat this filter for search continuation; manual page IDs/cursors already pin the architecture.",
"examples": [
"x86_64"
],
"minLength": 1,
"title": "Architecture",
"type": "string"
},
"locale": {
"default": "en",
"description": "Optional manual language from list_targets; defaults to en. Repeat for search continuation; manual page IDs/cursors already pin the locale.",
"examples": [
"en"
],
"minLength": 1,
"title": "Locale",
"type": "string"
},
"page_id": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Alternative to name + product: copy page_id verbatim from a previous manual or search result. Omit name-based filters. May accompany a cursor for that same page.",
"title": "Page Id"
},
"cursor": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Alternative to name + product: copy next_cursor from get_man_page to continue that manual. Omit name-based filters. A null next_cursor means no more content.",
"title": "Cursor"
},
"max_chars": {
"default": 12000,
"description": "Optional maximum content characters per response (1000–24000; default 12000). May be changed during manual continuation; follow next_cursor for more content.",
"maximum": 24000,
"minimum": 1000,
"title": "Max Chars",
"type": "integer"
}
},
"title": "get_man_pageArguments",
"anyOf": [
{
"title": "Lookup by manual name",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"page_id": {
"type": "null"
},
"cursor": {
"type": "null"
}
}
},
{
"title": "Read a returned page ID",
"required": [
"page_id"
],
"properties": {
"name": {
"type": "null"
},
"product": {
"type": "null"
},
"section": {
"type": "null"
},
"package": {
"type": "null"
},
"version": {
"type": "null"
},
"os_version": {
"enum": [
"latest",
null
]
},
"page_id": {
"type": "string",
"minLength": 1
}
}
},
{
"title": "Continue a manual",
"required": [
"cursor"
],
"properties": {
"name": {
"type": "null"
},
"product": {
"type": "null"
},
"section": {
"type": "null"
},
"package": {
"type": "null"
},
"version": {
"type": "null"
},
"os_version": {
"enum": [
"latest",
null
]
},
"cursor": {
"type": "string",
"minLength": 1
}
}
}
],
"examples": [
{
"name": "ls"
},
{
"name": "tar",
"product": "fedora"
},
{
"name": "tar",
"product": "fedora",
"os_version": "44",
"section": "1"
}
]
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true,
"title": "get_man_pageDictOutput"
}🟢search_man_pages(query, product, os_version, package, section, ...)
Find manuals by topic, command prefix or literal option such as --recursive. Required field: query, including when continuing a search. All other fields are optional. Example: {"query":"compress files"}. Read a result with get_man_page(page_id=...). Returns context-preserving excerpts and page_id values for get_man_page. Aliases of the same document are grouped. Without product, an exact manual-name match selects the newest upstream version per package/name/section across active OS catalogs. Equal versions use deterministic distro ties; unrelated implementations stay separate. Topic/prefix searches use the newest numbered release per product for architecture/locale. Pass os_version=null to search all releases without collapsing distro variants. An explicit release pins OS selection. Current package builds are searched by default. Set historical=true to include readable older package versions within the selected OS releases, without automatic upstream-version selection. Responses name the actual OS targets searched. Repeat the query/filters with next_page to continue; null means finished or the configured page cap was reached.
Eingabe-Schema
{
"type": "object",
"properties": {
"query": {
"description": "Required on every search page. A topic, command-name prefix, or literal option. Must contain 1–500 characters.",
"examples": [
"compress files",
"how to extract files from an archive",
"--recursive"
],
"maxLength": 500,
"minLength": 1,
"title": "Query",
"type": "string"
},
"product": {
"anyOf": [
{
"enum": [
"fedora",
"centos-stream"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional OS product filter. Omit or use null to search all available products.",
"examples": [
"fedora",
"centos-stream"
],
"title": "Product"
},
"os_version": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": "latest",
"description": "Optional OS release. With a product, latest selects its newest release. Without product, default latest selects newest upstream versions for exact names across active catalogs. Null searches all releases without collapsing variants. An explicit release pins selection.",
"examples": [
"latest",
"44",
"10",
null
],
"title": "Os Version"
},
"package": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional RPM package-name filter, which may differ from the command name. Applies to name lookups and searches, including search continuation.",
"examples": [
"tar",
"bash",
"gzip"
],
"title": "Package"
},
"section": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional manual section filter. Helps disambiguate commands, functions and file formats. Applies to name lookups and searches, including search continuation.",
"examples": [
"1",
"5",
"8",
"3p"
],
"title": "Section"
},
"architecture": {
"default": "x86_64",
"description": "Optional target CPU architecture from list_targets; defaults to x86_64. Includes compatible noarch packages. Repeat this filter for search continuation; manual page IDs/cursors already pin the architecture.",
"examples": [
"x86_64"
],
"minLength": 1,
"title": "Architecture",
"type": "string"
},
"locale": {
"default": "en",
"description": "Optional manual language from list_targets; defaults to en. Repeat for search continuation; manual page IDs/cursors already pin the locale.",
"examples": [
"en"
],
"minLength": 1,
"title": "Locale",
"type": "string"
},
"historical": {
"default": false,
"description": "Optional; defaults to false (current package builds). True includes readable older package builds within the selected OS releases. Use os_version=null as well to search across OS releases.",
"title": "Historical",
"type": "boolean"
},
"limit": {
"default": 10,
"description": "Optional maximum grouped search results per response (1–50; default 10). Follow next_page for more results, keeping the same limit.",
"maximum": 50,
"minimum": 1,
"title": "Limit",
"type": "integer"
},
"page": {
"default": 1,
"description": "Search page (default 1). Repeat query, filters and limit. The configured maximum defaults to 5; responses include max_pages and next_page. Each request searches the current catalog; updates can shift results.",
"minimum": 1,
"title": "Page",
"type": "integer"
}
},
"required": [
"query"
],
"title": "search_man_pagesArguments",
"examples": [
{
"query": "compress files"
},
{
"query": "--recursive",
"product": "fedora",
"limit": 5
}
]
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true,
"title": "search_man_pagesDictOutput"
}Community
Nachweis