MCPサーバー

Manpage MCP

ai.manpage/mcp

このMCPでできること

Searches and retrieves version-aware Linux manual pages with operating-system, package, and source provenance.

get_man_page
Read a manual page
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.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'anyOf': [{'title': 'Lookup by manual name', 'required': ['name'], 'properties': {'name': {'type': 'string', 'minLength': 1}, 'cursor': {'type': 'null'}, 'page_id': {'type': 'null'}}}, {'title': 'Read a returned page ID', 'required': ['page_id'], 'properties': {'name': {'type': 'null'}, 'package': {'type': 'null'}, 'page_id': {'type': 'string', 'minLength': 1}, 'product': {'type': 'null'}, 'section': {'type': 'null'}, 'version': {'type': 'null'}, 'os_version': {'enum': ['latest', None]}}}, {'title': 'Continue a manual', 'required': ['cursor'], 'properties': {'name': {'type': 'null'}, 'cursor': {'type': 'string', 'minLength': 1}, 'package': {'type': 'null'}, 'product': {'type': 'null'}, 'section': {'type': 'null'}, 'version': {'type': 'null'}, 'os_version': {'enum': ['latest', None]}}}], 'title': 'get_man_pageArguments', 'examples': [{'name': 'ls'}, {'name': 'tar', 'product': 'fedora'}, {'name': 'tar', 'product': 'fedora', 'section': '1', 'os_version': '44'}], 'properties': {'name': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'null'}], 'title': 'Name', 'default': None, 'examples': ['tar', 'gzip'], 'description': 'Required for name lookup. Manual name without its section suffix. Omit when supplying page_id or cursor.'}, 'cursor': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'null'}], 'title': 'Cursor', 'default': None, '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.'}, 'locale': {'type': 'string', 'title': 'Locale', 'default': 'en', 'examples': ['en'], 'minLength': 1, 'description': 'Optional manual language from list_targets; defaults to en. Repeat for search continuation; manual page IDs/cursors already pin the locale.'}, 'package': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'null'}], 'title': 'Package', 'default': None, 'examples': ['tar', 'bash', 'gzip'], 'description': 'Optional RPM package-name filter, which may differ from the command name. Applies to name lookups and searches, including search continuation.'}, 'page_id': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'null'}], 'title': 'Page Id', 'default': None, '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.'}, 'product': {'anyOf': [{'enum': ['fedora', 'centos-stream'], 'type': 'string'}, {'type': 'null'}], 'title': 'Product', 'default': None, 'examples': ['fedora', 'centos-stream'], '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.'}, 'section': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'null'}], 'title': 'Section', 'default': None, 'examples': ['1', '5', '8', '3p'], 'description': 'Optional manual section filter. Helps disambiguate commands, functions and file formats. Applies to name lookups and searches, including search continuation.'}, 'version': {'anyOf': [{'type': 'string', 'maxLength': 256, 'minLength': 1}, {'type': 'null'}], 'title': 'Version', 'default': None, 'examples': ['2:1.35-9.fc44', '1.35-9.fc44', '1.35'], '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.'}, 'max_chars': {'type': 'integer', 'title': 'Max Chars', 'default': 12000, 'maximum': 24000, 'minimum': 1000, 'description': 'Optional maximum content characters per response (1000–24000; default 12000). May be changed during manual continuation; follow next_cursor for more content.'}, 'os_version': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'null'}], 'title': 'Os Version', 'default': 'latest', 'examples': ['latest', '44', '10'], '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.'}, 'architecture': {'type': 'string', 'title': 'Architecture', 'default': 'x86_64', 'examples': ['x86_64'], 'minLength': 1, '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.'}}}
出力スキーマ
{'type': 'object', 'title': 'get_man_pageDictOutput', 'additionalProperties': True}
give_feedback
Give product feedback
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.
入力スキーマ
{'type': 'object', 'title': 'give_feedbackArguments', 'examples': [{'message': 'Search returned an unclear continuation error; restarting worked.', 'category': 'confusing_output', 'toolName': 'search_man_pages'}], 'required': ['message'], 'properties': {'message': {'type': 'string', 'title': 'Message', 'pattern': '\\S', 'maxLength': 2000, 'minLength': 1, 'description': 'Required feedback: your goal, what you tried, expected behavior, and what happened. Include any workaround. Must contain 1–2000 characters.'}, 'category': {'enum': ['tool_error', 'missing_capability', 'confusing_output', 'documentation', 'other'], 'type': 'string', 'title': 'Category', 'default': 'other', 'description': 'Optional triage category; defaults to other.'}, 'severity': {'enum': ['low', 'medium', 'high'], 'type': 'string', 'title': 'Severity', 'default': 'medium', 'description': 'Optional severity: high means blocked, medium means a workaround was found, and low means a minor annoyance. Defaults to medium.'}, 'toolName': {'anyOf': [{'type': 'string', 'maxLength': 128, 'minLength': 1}, {'type': 'null'}], 'title': 'Toolname', 'default': None, 'description': 'Optional name of the tool this feedback concerns.'}}}
出力スキーマ
{'type': 'object', 'title': 'give_feedbackDictOutput', 'additionalProperties': True}
list_targets
List available OS releases
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.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'title': 'list_targetsArguments', 'examples': [{}], 'properties': {}}
出力スキーマ
{'type': 'object', 'title': 'list_targetsDictOutput', 'additionalProperties': True}
search_man_pages
Search manual pages
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.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'title': 'search_man_pagesArguments', 'examples': [{'query': 'compress files'}, {'limit': 5, 'query': '--recursive', 'product': 'fedora'}], 'required': ['query'], 'properties': {'page': {'type': 'integer', 'title': 'Page', 'default': 1, 'minimum': 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.'}, 'limit': {'type': 'integer', 'title': 'Limit', 'default': 10, 'maximum': 50, 'minimum': 1, 'description': 'Optional maximum grouped search results per response (1–50; default 10). Follow next_page for more results, keeping the same limit.'}, 'query': {'type': 'string', 'title': 'Query', 'examples': ['compress files', 'how to extract files from an archive', '--recursive'], 'maxLength': 500, 'minLength': 1, 'description': 'Required on every search page. A topic, command-name prefix, or literal option. Must contain 1–500 characters.'}, 'locale': {'type': 'string', 'title': 'Locale', 'default': 'en', 'examples': ['en'], 'minLength': 1, 'description': 'Optional manual language from list_targets; defaults to en. Repeat for search continuation; manual page IDs/cursors already pin the locale.'}, 'package': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'null'}], 'title': 'Package', 'default': None, 'examples': ['tar', 'bash', 'gzip'], 'description': 'Optional RPM package-name filter, which may differ from the command name. Applies to name lookups and searches, including search continuation.'}, 'product': {'anyOf': [{'enum': ['fedora', 'centos-stream'], 'type': 'string'}, {'type': 'null'}], 'title': 'Product', 'default': None, 'examples': ['fedora', 'centos-stream'], 'description': 'Optional OS product filter. Omit or use null to search all available products.'}, 'section': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'null'}], 'title': 'Section', 'default': None, 'examples': ['1', '5', '8', '3p'], 'description': 'Optional manual section filter. Helps disambiguate commands, functions and file formats. Applies to name lookups and searches, including search continuation.'}, 'historical': {'type': 'boolean', 'title': '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.'}, 'os_version': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'null'}], 'title': 'Os Version', 'default': 'latest', 'examples': ['latest', '44', '10', None], '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.'}, 'architecture': {'type': 'string', 'title': 'Architecture', 'default': 'x86_64', 'examples': ['x86_64'], 'minLength': 1, '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.'}}}
出力スキーマ
{'type': 'object', 'title': 'search_man_pagesDictOutput', 'additionalProperties': True}
追加
search_man_pages
2026年10月4日2:40
追加
get_man_page
2026年10月4日2:40
追加
list_targets
2026年10月4日2:40
追加
give_feedback
2026年10月4日2:40