Skip to content
Conduit

mcp server

mcp-rack

One-page board of every MCP server I have published, plus the servers I run alongside them.

SarutobiSasuke8/mcp-rackcommunitylistedunreviewed

Set up

Runs on your computer. Pick your agent and operating system.

This project does not publish an install method we can turn into a config. Follow the README instead.

README

synced Oct 28, 2026

MCP Rack

Live at https://mcprack.dev/

One page for every MCP server I have published, with its package, transport, licence and official-registry status; a curated rack of the servers I run alongside them; and release notes written here first.

It is a portfolio surface, not a directory. It links out to the repositories and to the official MCP Registry rather than trying to index everything.

The board

Every listing on https://mcprack.dev/servers/, in board order. This table is generated from src/content/servers.json by npm run board; CI fails if it drifts from the data file.

#ServerWhat it doesStackTransportStatusRegistryPackage
01gimp-agent-mcpThe whole of GIMP 3 for AI agents: everyday edits, one undo step, pixel checks, and recipes. Tested on Windows, Linux and macOS.PythonstdiobetaIn registrypypi gimp-agent-mcp 0.5.0
02jobscout-mcpPrivacy-first job discovery across sources: normalisation, deduplication and provenance for every listing.TypeScriptstdiobetaIn registrynpm @sarutobi-sasuke/jobscout-mcp 0.2.1
03website-content-mcpA site-scoped content gateway: the pages, structure and text of a website in a form agents can reason over.TypeScriptstdio + Streamable HTTPbetaNot listed yetnpm @sarutobi-sasuke/website-content-mcp 0.3.1
04agent-handoff-mcpLocal-first, bounded, auditable handoffs between AI agents. A coordination primitive, not a message bus. 0.1.0 beta.TypeScriptstdio + Streamable HTTPbetaIn registrynpm @sarutobi-sasuke/agent-handoff-mcp 0.1.0
05credential-broker-mcpAgents use gated APIs through scoped, audited requests without ever seeing the secret. 0.1.1 on npm.TypeScriptstdioalphaIn registrynpm @sarutobi-sasuke/credential-broker-mcp 0.1.1
06obsidian-github-mcpPermissioned proposal gateway for Obsidian vaults stored on GitHub: agents propose, humans merge. 0.1.0 alpha.TypeScriptStreamable HTTPalphaIn registrynpm @sarutobi-sasuke/obsidian-github-mcp 0.1.0
07source-pack-mcpStructured research source packs: facts, quotes, numbers, primary links and a coverage map, with provenance.TypeScriptstdio + Streamable HTTPalphaNot listed yetsource only
08meeting-context-routerProposal-first routing from meeting tools into governed CRM and knowledge-system updates.TypeScriptstdioalphaNot listed yetsource only
09mcp-dashboardCost and benefit dashboard for your MCP toolbox across Claude Code, Codex, Gemini CLI and Cursor.Pythonlocal web UIpreviewNot listed yetpypi mcp-dashboard 1.0.0
10sports-oracle-teneo-agentTeneo agent wrapping the Sports Oracle API: live NBA, NHL, MLB, NFL, F1, soccer, tennis and MMA data for agents.GoREST + MCPexperimentalNot listed yetsource only
11Unofficial Telegram Personal ProxyA local MCP tool for Telegram folders, reviewed outreach and follow-up tracking. Private preview in active development.TypeScriptlocal stdiopreviewNot listed yetprivate preview
12Aseprite Agent MCPPixel-art authoring with atomic previews, strict asset checks and verified Phaser exports. 0.3.0 alpha.Pythonlocal stdioalphaIn registrypypi aseprite-agent-mcp 0.3.0
13astraeus-postgres-mcpRead-only Postgres for agents, through a policy layer instead of a connection string.TypeScriptstdio + Streamable HTTPalphaNot listed yetsource only
14mcp-host-gatewayA hosted MCP edge: bearer auth, per-plan tool grants and rate limits in front of Streamable HTTP MCP servers.TypeScriptStreamable HTTPalphaNot listed yetsource only
15mcp-eval-harnessContract tests for MCP servers: expected tools, schema checks and golden fixtures, with CLI exit codes that can gate a release.TypeScriptCLI (stdio or Streamable HTTP targets)alphaNot listed yetsource only

Stack

Astro 7, static output, no client framework, no tracking. Geist and Geist Mono self-hosted through Fontsource. Content collections for servers, the rack and posts. RSS, sitemap, llms.txt, servers.json and JSON-LD on every page. Deployed to GitHub Pages by the workflow in .github/workflows/pages.yml.

src/content/servers.json     the board: one object per published server
src/content/rack.json        the rack: one card per server actually in use
src/content/posts/*.md       release notes, field notes, build logs
src/lib/site.ts              names, links, base-path helper
src/components/              Header, Footer, ServerRow, RackCard, PostCard, ShareLinks
src/layouts/                 BaseLayout (head, SEO, theme, scripts), PostLayout
src/pages/                   routes, plus rss.xml, servers.json and llms.txt endpoints
scripts/check-style.mjs      the style gate: em dashes and marketing filler fail the build
scripts/generate-og.mjs      Open Graph images, generated before each build

Working on it

npm install
npm run dev        # http://localhost:4321/mcp-rack
npm run verify     # data validation, README board check, tests, style gate, type check, build

Add a server

Add an object to src/content/servers.json. The schema in src/lib/servers.ts is the contract, shared by the site build (src/content.config.ts) and the validator: slug, name, tagline (under 180 characters), summary, highlights, lang, transport, package (or null), registry (or null), status, license, repo, docs, install (or null), tags, order, and optionally hosted. The server page, the board row, the footer link, the OG image, servers.json and llms.txt all follow from it.

Then run:

npm run validate   # schema, unknown fields, id equals slug, unique slugs and order values
npm run board      # regenerate the board table in this README

CI runs npm run validate and npm run board:check, so an invalid entry or a stale README fails the pull request. After a build, scripts/check-output.mjs also checks that the rows on /servers/ and the home page match the data file, in order.

Hosted endpoints

A listing may carry an optional hosted object: { "url": "https://...", "label": "...", "kind": "remote-mcp" | "demo", "live": false }. While live is false the server page and /hosted say "coming soon" and do not link the URL; catalog.json, servers.json, llms.txt and the Markdown page say the same. Flip live to true once the endpoint answers and the page shows a "Use it hosted" action. /hosted lists hosted products only. There is no checkout or pricing on the site. Catalogue schema 1.2.0 adds hosted (null when absent) as an additive field; consumers that pin 1.1.0 must update their validator.

Write a release note

Create src/content/posts/<slug>.md with frontmatter:

title: "gimp-agent-mcp 0.5: one undo step, three platforms"
description: "One or two sentences. Under 200 characters."
pubDate: 2026-09-08
category: Release notes        # Release notes | Field notes | Build log | Guides | Perspective
server: gimp-agent-mcp         # optional; links the post to its server page
version: "0.5.0"               # optional

Reading time is computed from the body. Setting draft: true keeps a post out of the build.

Maturity and review evidence

status supports experimental, alpha, preview, beta and stable. Review metadata is separate from the build timestamp: set reviewedAt (YYYY-MM-DD) together with review (kind, summary, evidence URLs), or leave both null. Metadata reviews check documentation and releases; runtime reviews name actual checks and environments.

Stable requires a runtime review, supportedScope and a maturityEvidence URL pointing to a completed promotion receipt. The content validator rejects incomplete promotions. Existing beta labels remain maintainer snapshots until their evidence is reassessed. Catalogue schema 1.1.0 adds these fields and the stable enum; consumers that pin 1.0.0 must update their validator.

Curated records have their own selectionBasis. Leave their review date unset until a real review takes place.

Curated records

One card per server actually wired into my tools. Add a card to src/content/rack.json when a server earns its slot; remove it when it stops being used.

Deploying

Push to main. The workflow runs the style gate, the type check and the build, then publishes dist/ to GitHub Pages.

To serve from a custom domain, set two repository variables (Settings, Secrets and variables, Actions, Variables): SITE_URL to the origin (for example https://mcp.alexeiudall.com) and SITE_BASE to /. Add the domain under Settings, Pages, and a CNAME DNS record pointing at sarutobisasuke8.github.io.

Licence, content and brand

Source code is MIT licensed. See LICENSE.

The MCP Rack name, Rack R symbol and associated brand assets are reserved. See TRADEMARKS.md. Articles, editorial copy, curated selections and original visual assets have separate reuse terms in CONTENT-LICENSE.md.

2026-09-07 website sweep

The current site adds curated positioning, a journal with topic filters, maker suggestions, listing standards, and agent interfaces. Production defaults target https://mcprack.dev/. Earlier GitHub Pages URL and subpath instructions above describe the previous deployment. Follow LAUNCH.md for the current launch checklist. The custom domain is live: https://sarutobisasuke8.github.io/mcp-rack/ redirects to https://mcprack.dev/.

Machine interfaces: /catalog.json, /catalog.schema.json, /servers.json, /llms.txt, /llms-full.txt, /servers/{slug}.md, /blog/{slug}.md, and /rss.xml. Metadata comes from the same collections as HTML pages. Build timestamps are not review dates. New journal categories include Guides and Perspective. Draft articles are excluded from public endpoints.

↑↓ navigate openesc close