| 🧰 30 new MCP servers | Everyday dev tools for AI agents — test runner, import-graph impact analysis, secret scanning, linters for GitHub Actions, Kubernetes, Dockerfiles, Terraform plans and OpenAPI, plus safe tools for spreadsheets, PDFs, archives and media. See them ↓ |
| 📚 A "hard way" guide for every one | Each new server ships with a companion guide that rebuilds it from an empty file — 38 guides in total |
| λ vex-lang | My second language: type inference, enums with exhaustive match, Option/Result with ?, generics, and its own bytecode VM |
| 🤖 13 OSdev MCP servers | Agents boot kernels in QEMU, rewind them, single-step over the gdbstub, and decode ACPI, devicetrees, page tables and linker maps — jump to them ↓ |
| 💾 MORT OS grew up | Users, permissions and sudo, a hierarchical MortFS v2, a home launcher and Settings app, a power menu with lock / sleep / restart / shutdown, and a live RTC clock |
| 🌐 Vex profiles & import | Side-by-side profiles with their own tabs, passwords and sync, plus importing from Chrome, Edge, Brave and Firefox |
| ⚡ FlashMind lecture mode | Record a lecture in class and get a live transcript turned into notes, cards and exam alerts |
| 📰 ai-news-tracker | Rebuilt as a serverless pipeline: a scheduled Action ingests ~75 sources, dedupes and clusters stories, and publishes JSON + Atom feeds that the Vex start page reads |
I wanted to know what's underneath, so I built Mort — a statically-typed language whose whole compiler (lexer, parser, type checker, C code generator) is written from scratch in Python with zero libraries. Then I wrote MORT OS in it. Mort compiles to C instead of being interpreted for one reason: an interpreter can't boot.
|
What MORT OS does today
|
// examples/fib.mx
fn fib(n: int) -> int {
if n < 2 { return n; }
return fib(n - 1) + fib(n - 2);
}
fn main() -> int {
let i = 0;
while i < 10 {
print(fib(i));
i = i + 1;
}
return 0;
} |
The desktop, the power menu, and httpd serving a page — a web server, on an OS, over a TCP/IP stack, every layer in one language I wrote.
Around the OS — and a second language
| Project | What it is |
|---|---|
| mortnet | TCP/IP stack written from scratch in Mort — NIC driver → ARP → IPv4 → ICMP → UDP → DHCP → DNS → TCP → HTTP — vendored into MORT OS |
| MortHardware | Reusable bare-metal drivers pulled out of MORT OS: PCI, RTL8139, AC'97 audio, UHCI USB |
| mort-repo | Package registry for mpkg, the MORT OS package manager |
| vex-lang | Language #2 — type inference, enums and exhaustive match, Option/Result with ?, generics, compiled to its own bytecode VM |
| nanomort | The whole idea in one Python file under 800 lines — a typed language that compiles to C and still boots a kernel |
AI agents can edit and build a kernel, but they can't see it boot — and they make up hardware facts. These MCP servers close that gap. Every one works below the OS: no SSH, no guest agent, nothing installed in the guest. They grew out of my own MORT OS dev loop.
|
An AI agent took this screenshot. It booted MORT OS headless, pressed Also for agents claude-code-skills — 46 Claude Code skills for the unglamorous work that ships software. Before I add a skill, I check the existing ecosystem and only keep it if no well-known skill already does the job. ClaudeCode-Brain — turns local Claude Code history into a searchable, backlinked Obsidian vault. |
30 more servers for the jobs an AI assistant usually fumbles. They work offline, and they either only read or show a dry run before changing anything. Secrets are redacted by default.
What each one does — 30 servers
Code & repo
| Server | It answers… |
|---|---|
| impact-mcp | What breaks if I change this file? Dependents, affected tests, cycles (Python, JS/TS) |
| testrun-mcp | Run pytest, unittest, jest or vitest and get small structured failures, flaky detection, rerun-failed |
| stacktrace-mcp | A root-cause report from a crash in Python, Node, Java, Go, Rust or .NET |
| gitrisk-mcp | Hotspots, who knows this code, change coupling, bus factor |
| debt-mcp | Every TODO/FIXME with its real age and author from git blame |
| secretscan-mcp | Committed secrets in the tree and in git history, with rotation checklists |
| depaudit-mcp | Known vulnerabilities in your lockfiles, transitive deps included, via OSV.dev |
| license-mcp | What licenses are my dependencies under, and can I ship this? |
| envdoctor-mcp | .env vs .env.example, undocumented and unused variables across 11 languages |
| regexlab-mcp | Test a regex in real engines side by side, with ReDoS confirmed by timing |
| structdiff-mcp | Semantic diffs of JSON, YAML, TOML, CSV, .env and INI, with RFC 6902 patches |
Infra & CI
| Server | It answers… |
|---|---|
| workflowlint-mcp | GitHub Actions audit: pwn requests, script injection, unpinned actions, token permissions |
| kubelint-mcp | 76 rules for Kubernetes manifests, no cluster or kubectl needed |
| dockerlint-mcp | 47 rules for Dockerfiles and compose files, layer-cache analysis |
| tfplan-mcp | Risk-ranked review of a Terraform/OpenTofu plan: destroys, open firewalls, IAM broadening |
| oaslint-mcp | OpenAPI lint and breaking changes between Swagger 2.0, 3.0 and 3.1 |
| netcheck-mcp | Is my site healthy? TLS, DNS, headers, SPF/DMARC — with its own DNS resolver |
| har-mcp | Slowest requests, failures and the critical path in a browser HAR trace |
| logs-mcp | Huge log files in constant memory: error clusters, timelines, request tracing |
| ports-mcp | What is using this port? Free it with a two-step confirmed kill |
Files & media
| Server | It does… |
|---|---|
| sheet-mcp | Read and edit .xlsx without destroying formulas, charts or macros |
| sqlscope-mcp | Explore an SQLite database, read-only by construction |
| duckdb-mcp | Sandboxed SQL over local CSV, Parquet and JSON |
| pdf-toolkit-mcp | Read, search, extract tables, merge and split PDFs — pure Python |
| mdvault-mcp | Obsidian-style notes: BM25 search, backlinks, link-updating rename |
| icskit-mcp | Local .ics calendars: agenda, free time, DST-correct recurrence |
| unpack-mcp | Zip/tar inspection and extraction that blocks zip-slip and decompression bombs |
| subtitle-mcp | Resync, shift, convert and repair SRT/VTT subtitles |
| picture-mcp | Resize, convert, compress to a target size, strip GPS/EXIF |
| ffmpeg-mcp | Compress to a target size, trim, GIF, extract audio — on PyPI as mediakit-mcp |
38 tutorials where you start from an empty file and end up with something that really works. Every chapter is taken from code that runs, and every step is checked — the OS guides in real QEMU.
| Guide | You end up with |
|---|---|
| Write an OS in your own language | A compiler in plain Python, then a kernel in your new language that boots, persists files, and serves a web page |
| TCP/IP stack the hard way | Ethernet frames up to an HTTP server, based on mortnet and checked by golden tests |
| Kernel gdbstub the hard way | A gdbstub inside your own kernel — UART, RSP framing, single-step, int3 breakpoints |
| ACPI the hard way | RSDP, MADT, FADT, shutdown, PCIe ECAM and HPET, from scratch |
| MCP server the hard way | An MCP server that lets an AI debug a kernel, from raw RSP bytes to triple-fault diagnosis |
| qemu-mcp the hard way | qemu-mcp rebuilt module by module — QMP, screenshots, typing, serial, snapshots |
| Roblox anticheat the hard way | A production-grade server-side anticheat, every line explained |
| vex-lang the hard way | A typed language with inference, a bytecode compiler and a VM |
…and one for every everyday MCP server — 30 more guides
Each one rebuilds its server from scratch: the file formats, the safety rules, the edge cases, and the tests.
debt-mcp · depaudit-mcp · dockerlint-mcp · duckdb-mcp · envdoctor-mcp · ffmpeg-mcp · gitrisk-mcp · har-mcp · icskit-mcp · impact-mcp · kubelint-mcp · license-mcp · logs-mcp · mdvault-mcp · netcheck-mcp · oaslint-mcp · pdf-mcp · picture-mcp · ports-mcp · regexlab-mcp · secretscan-mcp · sheet-mcp · sqlscope-mcp · stacktrace-mcp · structdiff-mcp · subtitle-mcp · testrun-mcp · tfplan-mcp · unpack-mcp · workflowlint-mcp
Vex — a browser built for youA Chromium desktop browser (castLabs Electron, so Widevine DRM works) with a built-in AI agent that can work on your tabs, ad & tracker blocking, one-click Tor, an encrypted password vault with 2FA autofill, sidebar apps, profiles, and a UI you can rearrange to the pixel. |
FlashMind — the AI study engine I use for schoolPaste notes, upload a PDF, snap a photo (OCR in English and Turkish), record a lecture, or just name a topic. FlashMind turns it into notes, a flashcard deck and a Turkish-style exam with AI-graded open questions. Reviews are scheduled by an FSRS-4.5 algorithm I wrote myself. It's vanilla JS, with no framework. |
🔒 Security & OSINT — 6 projects
| Project | Description | Live |
|---|---|---|
| ReconX | Domain recon in the browser — DNS, WHOIS, SSL, headers, tech stack, subdomains | Demo |
| PassCrack | Password analyzer that simulates real attacks — crack times, patterns, entropy, 100% in-browser | Demo |
| NetMap | Visual traceroute — packets hop across an interactive world map | Demo |
| CipherLab | 13 ciphers and hashes, each with visual step-by-step breakdowns | Demo |
| CodeLens | Paste code, get an AI security audit and a quality report card | Demo |
| ai-proxy | Cloudflare Worker that keeps AI API keys out of client code, with streaming passthrough | — |
🤖 AI tools — 6 projects
| Project | Description | Live |
|---|---|---|
| ai-news-tracker | Serverless AI news pipeline — ~75 sources, clustering, scoring, JSON + Atom feeds | — |
| LoopholeMap | Paste a regulation, see its loopholes as a severity-ranked D3 graph | Demo |
| AIJudge | Describe an argument, get a verdict with legal-style reasoning and shareable ruling cards | Demo |
| TermsTrap | Flags data selling, forced arbitration and auto-renewals in any Terms of Service | Demo |
| DebateBot | Strongest arguments on both sides, with evidence chains and fallacy detection | Demo |
| LexScope | Turns dense legislation into navigable sections with plain-English summaries | Demo |
🛠 Apps, desktop & extensions — 9 projects
| Project | Description | Live |
|---|---|---|
| mortuexOS | My portfolio as a desktop OS in the browser — boot sequence, windows, terminal, 9 apps | Demo |
| Nexus | Process Lasso-style Windows optimizer (WPF) — per-process rules, crash-safe Game Mode, undo for every tweak | — |
| RoSuite | Free RoPro alternative for Chrome/Brave — server browser, player info, trade calculator | — |
| Zine | Manga reader with a print-zine design language — React 19 + MangaDex | — |
| mun-tracker | Mobile-first tracker for 43 Model UN conferences in Turkey | Demo |
| ChatRoom | Anonymous real-time chat rooms on a Cloudflare KV backend | Demo |
| BillForge | CUSA legislative bill editor with auto-numbering and live preview | Demo |
| MiniOS | The browser-OS experiment that grew into mortuexOS | Demo |
| Vencord + plugins | My Vencord build: ChatExporter, MessageLoggerEnhanced, InactivityTracker, QuickNotes, RoleMembers and more | — |
🎮 Fun & data — 3 projects
| Project | Description | Live |
|---|---|---|
| TypeRush | Typing game with quotes, real code snippets, live WPM and achievements | Demo |
| GitPulse | Any GitHub username → a visual developer profile | Demo |
| steamogames | Live Steam player stats — concurrent players, peaks and trends | — |
No third-party stats services on this page. The cards come from a workflow in this repo, and the banner and diagrams are hand-written SVGs.
Every web project above is open source, and most are live on GitHub Pages. Not sure where to start? Boot MORT OS or try FlashMind.










