Osdev Wiki Mcp

io.github.0xmortuex由 GitHub 账号 0xmortuex 发布v0.1.0更新于 Oct 24, 2026

The OSDev wiki (wiki.osdev.org) offline and searchable: search, sections, links.

已验证STDIO仅桌面知识与记忆开发者工具

概览

AI 生成的概览

OSDev 维基的离线本地索引副本,让助手可以搜索、阅读页面或章节并跟踪链接。

可以做什么
以排序全文搜索检索维基并返回匹配片段,标题和重定向别名权重最高,完全匹配的标题会被标记。查看页面的编号标题大纲及其篇幅。读取整页或单个章节(含子章节),代码块原样保留,重定向会被跟随。查看页面外链(标出尚不存在的页面)与反向链接,包括经由重定向产生的链接。下载最新维基转储并重建索引,或查看转储来源、页面数量、索引年龄和位置。
适用场景
适合助手编写或讲解业余操作系统内核代码、需要描述符表、分页、中断控制器、定时器、ACPI、磁盘控制器、引导加载程序或工具链的准确细节时使用,尤其因为该维基本身设有机器人验证。
运行要求
作为本地 Python 进程运行(需 Python 3.10+ 及 SQLite FTS5)。安装软件包并执行一次更新,以下载约 5 MB 的转储并建立索引;助手也可自行触发更新。索引(约 18 MB)默认存放在用户数据目录,可用 OSDEV_WIKI_DIR 指定其他位置。首次下载和更新需要网络访问。
安装前请注意
首次运行或更新会从互联网下载维基归档并向磁盘写入索引,OSDEV_WIKI_DIR 决定数据存放位置。不要求任何凭据。内容为只读参考资料,主要风险是索引更新前内容可能过时或不完整。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Osdev Wiki Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

osdev-wiki-mcp

The OSDev wiki, offline and searchable, for your AI agent.

wiki.osdev.org is the reference for hobby operating-system development. It covers descriptor tables, paging, interrupt controllers, timers, ACPI, disk controllers, bootloaders and toolchains. Agents writing kernel code tend to reconstruct these details from memory and get bit layouts wrong. They also can't browse the wiki themselves, because it sits behind a bot challenge.

osdev-wiki-mcp downloads the wiki's public archive once, indexes it locally with SQLite full-text search, and gives the agent tools to search it, read a page or just one section of it, and follow links.

What it looks like

This is real output, from the 2025-12-30 dump:

> wiki_search("PIT", limit=3)1. Programmable Interval Timer *   The Programmable Interval Timer ([PIT]) chip (Intel 8253/8254) basically consists of an oscillator…2. PC Speaker   …When the [PIT] interrupts you, you need to program [PIT] timer 2 so that…3. APIC Timer   …Real Time Clock, TimeStamp Counter, [PIT] or even polling CMOS registers. In this tutorial…
> wiki_page("IDT", section="Gate Descriptor", max_chars=900)# Interrupt Descriptor Tablehttps://wiki.osdev.org/Interrupt_Descriptor_Table · last edited 2025-06-05 · categories: X86 CPU, Interrupts('IDT' redirects to 'Interrupt Descriptor Table'; 'Gate Descriptor' appears 2 times; showingsection 4 under 'Structure on IA-32'. Also: section 8 under 'Structure on x86-64')
### Gate Descriptor
Each entry in the table has a complex structure:
Gate Descriptor (32-bit):63..48 | 47 | 46..45 | 44 | 43..40 | 39..32Offset 31..16 | P | DPL 1..0 | 0 | Gate Type 3..0 | Reserved31..16 | 15..0Segment Selector 15..0 | Offset 15..0
- Offset: A 32-bit value, split in two parts. It represents the address of the entry point ...[... section truncated]
[Cut at max_chars=900; the full text is 1567 chars. Call again with max_chars=1767 to read the rest.]

Notice what the output does for the agent:

  • Abbreviations work. "PIT" and "IDT" are wiki redirects, and redirects are indexed as aliases of their target, so an abbreviation finds the right page first.
  • Bit-layout tables stay readable. The wiki draws descriptor and page-table layouts as HTML tables. These are rendered as one row per line, with bit ranges shown as 63..48.
  • Ambiguity is reported. When a heading appears twice on a page, the agent is told where the other copy is.
  • Truncation explains itself. A cut-off result says exactly what to call next.

Install

bash
pip install osdev-wiki-mcposdev-wiki-mcp --update          # one-time: download (~5 MB) and index (~15 s)claude mcp add osdev-wiki -- osdev-wiki-mcp

You can skip --update. The agent can call wiki_update itself: every other tool tells it to when there's no index yet.

The index (about 18 MB) lives in %LOCALAPPDATA%\osdev-wiki-mcp on Windows, ~/Library/Application Support/osdev-wiki-mcp on macOS, and $XDG_DATA_HOME/osdev-wiki-mcp (or ~/.local/share/osdev-wiki-mcp) elsewhere. Set OSDEV_WIKI_DIR to put it somewhere else. Python 3.10+ is required, with SQLite FTS5. python.org builds, uv-managed builds and most distro builds include FTS5, and the server tells you if yours doesn't.

Tools

ToolWhat it does
wiki_searchRanked full-text search with match snippets. Titles and redirect names count most, and an exact title match is marked *.
wiki_sectionsA page's outline: numbered headings with their sizes.
wiki_pageA page as plain text, or one section (by number or heading) including its subsections. Code blocks are kept verbatim and redirects are followed.
wiki_linksWhat a page links to (flagging links to pages that don't exist) and what links to it, including links made through a redirect.
wiki_updateFetch the newest dump and rebuild the index. It does nothing if the index is already current.
wiki_statusShows the source dump, page counts, the index's age and its location.

Where the content comes from, and its license

wiki.osdev.org can't be crawled: its API sits behind a Cloudflare bot challenge. Instead, wiki_update finds the newest WikiTeam dump of the wiki on archive.org (items named wiki-wiki.osdev.org-YYYYMMDD). It downloads that dump's history file, checks the MD5 against archive.org's manifest, and keeps the latest revision of each article. The dumps are periodic, so the index can be a few months behind the live wiki. wiki_status shows which dump you have.

This package contains no wiki content. It downloads the public dump to your machine and indexes it locally. On licensing, the wiki's own OSDev Wiki:Copyrights page says content added since June 6, 2011 is released under CC0. Its OSDev Wiki:License page says "the contents of this wiki is of mixed licensing", because older material predates that policy. All content belongs to the OSDev wiki and its contributors. Results link back to the page on wiki.osdev.org.

(Note that osdev0/wiki on GitHub is a separate, unrelated wiki project, not a mirror of wiki.osdev.org.)

Tests

bash
pip install -e ".[test]" "ruff==0.16.0" "mypy==2.3.0"ruff check src tests && mypy --strict srcpytest tests

The unit tests use a small fixture in the dump's real format, under tests/fixtures/mini-wiki.xml. It includes a page whose history is split across several <page> elements, which is how WikiTeam dumps store long histories. A ranking test runs against the real wiki when OSDEV_WIKI_REAL_DIR points at a built index. It checks 14 questions an OS developer actually asks ("PIT", "GDT tutorial", "page fault error code", "how to enter long mode", …), and the right page must rank in the top 3. CI builds the real index and runs that test too.

License

MIT, for the code. The wiki content is not included. See above.

来源:README.md,提交 94ae8e0

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.0最新Oct 11, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分