Skip to content

Software Engineer & Architect

I connect legacy protocols to modern AI.

Author of open-source MCP servers for Bluesky, the Fediverse, and even Gopher. Twenty years shipping production software in TypeScript and .NET.

agent @ rye.dev snapshot
→ GET /.well-known/api-catalog
  200 8ms · api-catalog links 5 resources
→ GET /llms.txt
  200 13ms · 7 top-level sections
→ GET /.well-known/mcp/server-card.json
  200 18ms · 6 tools — search_posts, get_post, list_posts…
→ GET /blog/making-my-portfolio-agent-readable.md
  200 23ms · "Making My Portfolio Agent-Readable: From Files to an Interface Agents Can Act On"
→ GET /openapi.json
  200 28ms · 6 documented paths
▮ agent found its way around in 90ms

20+ years shipping 4 open-source MCP servers 15 projects 100% agent-readable

02 — Built for agents

Built for humans and AI agents

This site is built for machines too. Point an agent at this domain and it finds its own way around — here's what it sees.

GET /.well-known/mcp/server-card.json published open ↗
{
  "serverInfo": {
    "name": "rye.dev",
    "version": "1.0.0",
    "title": "Cameron Rye Portfolio MCP Server",
    "description": "Read-only access to Cameron Rye's published blog posts, projects, resume, and other portfolio content. Useful for agents answering questions about the author or summarising/searching published writing."
  },
  "transport": {
    "type": "streamable-http",
    "endpoint": "https://rye.dev/mcp"
  },
  "capabilities": [
    "tools"
  ],
  "tools": [
    {
      "name": "search_posts",
      "description": "Full-text search across blog posts. Returns up to 10 matches with slug, title, date, and excerpt."
    },
    {
      "name": "get_post",
      "description": "Fetch a single blog post by slug. Returns frontmatter and full markdown body."
    },
    {
      "name": "list_posts",
      "description": "List recent blog posts in reverse-chronological order."
    },
    {
      "name": "list_projects",
      "description": "List portfolio projects with brief descriptions."
    },
    {
      "name": "get_project",
      "description": "Fetch a single project by slug. Returns frontmatter and full markdown body."
    },
    {
      "name": "get_about",
      "description": "Return the public profile / bio in markdown."
    }
  ],
  "documentation": "https://rye.dev/.well-known/agent-skills/index.json"
}
site pulse as of 2026-06-23 cached
web vitals p75LCP 1.6s ● INP 56ms ● CLS 0.00 ●· 28d
pageviews 30d 1,887 total
last deploy3193c1c "docs: align pulse plan Task 1 timestamp…" Jun 24

Web vitals (28-day p75): LCP good, INP good, CLS good. Pageviews last 30 days: 1887 total.

03 — Expertise

Technical Expertise

Protocols & AI

Model Context Protocol A2A ActivityPub AT Protocol Gopher OAuth/OIDC

Building

TypeScript Rust .NET / C# Preact Edge / Cloudflare Workers

Systems

Agent infrastructure API & protocol design libSQL/Turso RAG Distributed state

05 — Contact

Let's Connect

I'm not looking for new roles right now, but I'm always happy to talk shop — my open-source projects, MCP servers, or anything you've read here.

or view my resume