Skip to content
View Furkiozknn's full-sized avatar

Block or report Furkiozknn

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Furkiozknn/README.md
Furki Özkan — agent infrastructure, MCP and developer tooling. 28 public repositories, 5,247 tests.

I build the parts AI agents run on — MCP servers, a job contract, a pipeline engine — and then the tools that check whether any of it works. Each checker was tried on real outside projects before release. Independent, in Türkiye (UTC+3); some evenings, Godot.

directory · games & apps · all projects · where the numbers come from · hire me · x.com/Furkiozkann

English · Türkçe · 15-second reel: GIF · MP4 with sound

Featured

🛡️ mcp-vet — audits an MCP server before you install it. Reads the source, not the star count; every finding carries a file:line; it never executes what it audits. Zero dependencies.

mcp-vet auditing an MCP server and listing findings with file and line

🧩 godot-refcheck — finds the broken references and dead signal connections Godot only reports when a scene loads, or never. Repairs the ones with a single provable answer. Checked against 237 real projects.

godot-refcheck finding three broken references, repairing them with --fix, then passing clean

🗺️ buradane — "what do I need, and where is the nearest one?" 167,829 OpenStreetMap places across all 81 provinces of Türkiye. FastAPI + PostGIS, Next.js + MapLibre.

buradane: typing 'ücretsiz tuvalet' narrows 167,829 places on a map of Istanbul to the 19 nearest free toilets

🔎 repo-vet — your README is a promise. It tries the install command, the badges, the links and the release chain over the GitHub API, without cloning. Calibrated on 29 public repositories so it stays quiet on the ones that work.

repo-vet checking a repository's README claims over the GitHub API

Games & apps

Every ▶ link opens a GitHub Pages build in the browser: no install, no account. Each was checked to return 200 when this list was written. · Her ▶ bağlantısı tarayıcıda GitHub Pages sürümünü açar: kurulum yok, hesap yok.

  • 🌊 canli-dunyalar — single-file living 3D worlds in Three.js, tuned for laptop iGPUs · laptop ekran kartına uygun, tek dosyalık canlı 3D dünyalar.
    ▶ Vapur · ▶ Balon
  • 🚀 isik-tuneli — endless space-runner with real bloom and live-synthesized audio · ışımalı, sesi anlık sentezlenen sonsuz uzay koşusu. ▶ Play
  • 🎵 tek-tus-kosu — one-button rooftop runner with obstacles on the music's beat grid · engelleri müziğin vuruşuna dizilen tek tuşlu çatı koşusu. ▶ Play
  • 🔄 yercekimi-cevir — no jump button: one key flips gravity across 20 precision rooms · zıplama yok, tek tuş yerçekimini çevirir. ▶ Play
  • ⛏️ derin-kazi — dig, sell, upgrade and reach the core at 250 m · kaz, sat, geliştir, 250 m'deki çekirdeğe in. ▶ Play
  • 🪝 kanca — grappling-hook platformer about carrying momentum · tavana tutun, salın, hızını taşı. ▶ Play
  • 📖 masal — personalised Turkish bedtime stories with colouring pages · çocuğa özel uyku masalları ve boyama sayfaları. ▶ Open
  • 🗺️ buradane — nearest toilet, park or drinking water across Türkiye from OpenStreetMap · Türkiye'de en yakın tuvalet, park, içme suyu. (no hosted demo yet · henüz canlı demo yok)

More

Check other work — repo-vet: tries a README's install command, badges and links over the API · claude-code-intelligence: where your Claude Code tokens went, and when the quota resets · mcp-census: why the MCP Registry has three sizes · repo-ratchet: picks the repository to open next

Agent infrastructure — ai-job-gateway: submit, poll, signed webhook, one contract · ai-workflow-engine: YAML DAGs validated before they run · model-comparison-harness: one prompt, N providers, a judge · prompt-template-manager: prompts as diffs · asset-provenance-toolkit: which model made this file, written into the file

MCP servers for Claude Code — mini-creative-toolkit: 23 CPU-first media tools · local-notes-search-mcp: ask your own notes · voice-io-mcp: speech in and out, no key · nvidia-nim-mcp: NVIDIA's free tier, with fallbacks

Apps and agents — ajans-os: an agency OS that survives being killed mid-task · turkce-ajanlar ▸: Claude Code sub-agents that think in Turkish, searchable in the browser · godot-2d-sablon: a Godot starter whose jump was measured

▸ opens in the browser, nothing to install. The games and the other browser apps are listed under Games & apps.

How the repositories hold each other up: a layer of tools that check other work, a generation pipeline of four repositories around one HTTP job contract, the MCP servers, the games and web apps, and project-meta.json in every repository with a daily audit underneath

Four repositories share one job contract and no Python dependency. Four more exist to check work — a repository's README, an MCP server's source, a Godot project's references, a Claude Code session's token spend — and each was calibrated against real outside projects before it was published. Every repository, searchable, in one page →

Every project

Every public repository, with its test count — 5,247 tests, each traced to the run that printed it

Agent infrastructure, MCP and developer tooling

Project What it does Tests
🧩 godot-refcheck Godot names a broken reference only when that scene loads, and a dead signal connection never. Finds both, and repairs what has one provable answer. 133
🔎 repo-vet Your README is a promise: it tries the install command, the badges, the links and the tags, over the API, without cloning. 103
🛡️ mcp-vet Reads an MCP server's source before you install it. 31 rules, file:line on every finding, never runs what it audits. 319
🗺️ buradane The nearest toilet, park, fountain or library. 167,829 OSM places; all 973 district centres covered within 15 km. 347
📊 claude-code-intelligence Where the tokens went and when the limit resets. No prompt or file content exists in any type — a privacy review is a grep. 273
🎨 mini-creative-toolkit 23 CPU-first media tools in one MCP server. 22 report "network": "none" in their own payload, not in a README. 327
🏛️ ajans-os An agency OS built research-first. Its acceptance run is killed mid-task, reloaded from disk and resumed. 142
📚 masal A bedtime story around one child's name. Six themes, a branch on page three — twelve readings. 92
🇹🇷 turkce-ajanlar 70 Claude Code sub-agents that think in Turkish, not translate into it. Exported to Cursor, OpenCode, Copilot, Codex. 160
🔁 repo-ratchet Decides which repository to open next from twelve measured signals — and will not record an improvement that left no commit and no passing check. 131
🔖 asset-provenance-toolkit Which model made this file, written into the file. JPEG gets a marker spliced in with no re-encoding. 125
⚡ nvidia-nim-mcp NVIDIA NIM's free tier in Claude Code. Two of its seven tools need no API key at all. 80
⚖️ model-comparison-harness One prompt, N providers, one report — plus a judge model scoring each answer against your own rubric. 74
🔗 ai-workflow-engine Pipelines as YAML DAGs, validated before they run. An undeclared dependency is rejected at load time, typo and all. 80
✍️ prompt-template-manager Prompts versioned in git, so a change is a diff instead of an argument. StrictUndefined throughout. 61
🔍 local-notes-search-mcp Ask your own files a question, in any language the multilingual model covers. No server, no API key, no network. 64
🔢 mcp-census "How many MCP servers are there?" asked three ways, giving three different numbers — and a measurement of why. 55
🎙️ voice-io-mcp Speech in and out, needing no key at all. Refuses transcribe the audio at .env before it opens the file. 35
🛰️ ai-job-gateway The contract fal.ai, BFL and RunPod each reached independently. Idempotency across restarts, SSRF-guarded webhooks. 156
🚀 nova-drift Endless browser space-runner. Real bloom, live-synthesized audio — not one sound file in the repo. 38
🗂️ Furkiozknn.github.io The project directory, rebuilt every Monday from each repository's own project-meta.json. Nothing on it is hand-written. 37

Games — Godot 4, each one tested headlessly in CI

These counts are large because the suites play the game: yercekimi-cevir's 841 checks include finishing all 20 rooms and confirming a medal in each. Every game is built for the browser by its own CI and published to GitHub Pages; the ▶ links open it.

Project The one idea it is built on Tests
🎵 tek-tus-kosu
▶ Play in browser
One button, and every obstacle laid on the music's beat grid. A post-run histogram shows how early or late each press landed. 961
🔄 yercekimi-cevir
▶ Play in browser
There is no jump button — one key flips gravity and you fall onto the ceiling. 20 hand-built precision rooms. 841
⛏️ derin-kazi
▶ Play in browser
Dig, sell, upgrade, go deeper — with the fuel gauge as the real timer. Five layers down to the core at 250 m. 477
🪝 kanca
▶ Play in browser
Hook the ceiling, swing, release at the right moment and carry the momentum. Medal times measured by a bot, not guessed. 115
🧱 godot-2d-sablon Two Godot 4.7 starter projects whose jump feel was measured, not guessed: coyote time, jump buffering, variable jump height. 21
Total, across 26 repositories with suites 5,247

Every test count is traced to the suite run that printed it. The full ledger →

How this page stays true

Metadata in every repository, and what runs while nobody is watching

Each one has a project-meta.json at its root: identity, version, status, platform, the images its README actually shows, and the test count together with the runner line it came from and the date of that run.

Mechanical fields are read from the repository; editorial fields are written by hand and checked against the code. Nothing is filled in with a guess — an unknown value is null rather than a plausible-looking string, and a test count with no source line does not go in the file at all.

The schema and the rule it follows →

The schema and the rule it follows →

Drawn from the seven workflow files in .github/workflows and the site's own; projeler.yml runs only on demand and is left out. Times are UTC.

flowchart LR
  push(["every push"]) --> ci["ci.yml<br/>schema tests · own metadata ·<br/>every published number agrees ·<br/>workflow YAML parses"]
  push --> gates["guvenlik.yml · baglanti.yml<br/>zizmor · betterleaks ·<br/>local links and anchors"]

  daily(["daily 05:00"]) --> den["denetim.yml<br/>reads every repo's CI log<br/>and project-meta.json"]
  den -->|"findings changed"| issue1[["one 'Ekosistem denetimi' issue<br/>comment, or close when clean"]]

  mon1(["Mon 04:30"]) --> yen["yenile.yml<br/>clone all · uret.py"]
  yen --> gate{"dogrula.py<br/>koruma.py<br/>≤ 8 repos changed"}
  gate -->|"pass + token"| meta["push project-meta.json<br/>to each repo"]
  gate -->|"otherwise"| sum["diff in the run summary,<br/>nothing written"]

  mon2(["Mon 05:20"]) --> site["furkiozknn.github.io<br/>rebuilt from every<br/>project-meta.json"]

  mon3(["Mon 06:00"]) --> hft["haftalik.yml<br/>derle.py · haftalik.py"]
  hft -->|"activity this week"| issue2[["one 'Haftalık özet' issue<br/>post drafts as a comment"]]
Loading

The weekly summary and the project index are never committed: a committed index goes stale on the next push, and a weekly bot commit would inflate the contribution graph with work nobody did. They live in issues and run artifacts instead.

How I work — tests before claims, hermetic CI, honest READMEs

🧪 Tests before claims

Every count here is re-derived, not remembered. This page has lost three numbers that way: a “1,426 tests” figure that turned out to be a grep rather than a suite, a 1.4 MB load that measured 0.7 MB, and a commit count taken from clones that had not been fetched, undercounting by 53.

🔒 Hermetic CI

Suites run offline, so a CDN outage cannot redden a build. The gate is tested too — ajans-os plants a deliberate violation in its own tree and fails if its own validator misses it.

📄 Honest READMEs

Known limits are listed, not hidden: a measured seven-minute upscale stall on integrated graphics, a gateway column headed deliberately absent, voice cloning left out on purpose.

⚖️ Licences checked down the tree

rembg's default model is CC-BY-NC — caught by reading the dependency tree, and refused unless you opt in knowingly. buradane splits ODbL data from MIT code in a NOTICE file.

🔧 Windows and Turkish locales

Where things break that nobody documents: cp1254 killing a tool before it prints its first line, PowerShell 5.1 without &&, a heredoc quietly eating a backslash.

🔢 No generated stat cards

Every badge on this page carries a hand-checked value, traced to the run that printed it. A number is checkable, or it is not on the page. Check them →


A number on this page is checkable, or it is not on the page. Every test count is re-derived from the run that printed it — the ledger.

Work with me — MCP and agent infrastructure, and turning code that works into code that ships. Remote · Türkiye · European hours. What I can be hired for, and what it costs →

Project directory · Where the 5,247 comes from · project-meta.json · Hire me · All repositories · @Furkiozkann

Popular repositories Loading

  1. nvidia-nim-mcp nvidia-nim-mcp Public

    MCP server for NVIDIA NIM's free tier (image, vision, translation, chat, safety, embeddings) falling back to Groq, Mistral, Gemini or Cerebras when a model is rate-limited or retired. · NVIDIA NIM …

    Python 1

  2. kale-savunmasi kale-savunmasi Public

    Claude Game Arena #1, built by Claude Opus 5.5: low-poly 3D tower defense in a single HTML file, hold a seaside fortress for 15 waves · Claude Opus 5.5 yaptı: tek HTML dosyasında low-poly 3D kule s…

    HTML 1

  3. mcp-vet mcp-vet Public

    Static security auditor for MCP servers: reads the source before you install, quotes every finding (tool poisoning, exfiltration paths, install hooks) with file:line, never runs what it audits. · M…

    Python

  4. isik-tuneli isik-tuneli Public

    Işık Tüneli (Light Tunnel): endless browser space-runner with Three.js bloom and a Web Audio engine synthesized live, no sound files, no build step. Daily seeded run. · Işık Tüneli: Three.js ışımal…

    JavaScript

  5. mini-creative-toolkit mini-creative-toolkit Public

    CPU-first media tools as an MCP server and CLI: background removal, EXIF/GPS stripping, resize, GIFs, video trim. Most run offline and say so in their own reply. No GPU required. · CPU'da çalışan m…

    Python

  6. Furkiozknn Furkiozknn Public

    Source of the profile README: agent infrastructure, developer tooling and the MCP servers underneath. Every number is traced to the suite run that printed it. Hand-written SVG, no stat cards. · Pro…

    Python