Osama Khalil

Human-centered Brand & Community Builder!

📍 Saudi Arabia 🇸🇦

DOWNLOAD • RESUME •

Osama Khalil Developer Resources

Everything on this site that is meant to be read by a machine rather than a person: open-source code, an MCP server, and the structured files that describe osama.me to AI agents and crawlers. If you are looking for the human version, start at the homepage or The Lab.

Content API

A read-only JSON API over everything this site publishes. No key, no signup, no rate limit to negotiate. It is the same content the pages show, shaped for a program instead of a reader.

curl https://osama.me/api/v1                      # every endpoint, described
curl https://osama.me/api/v1/profile              # who I am, contact, links
curl https://osama.me/api/v1/events               # every event I have run
curl https://osama.me/api/v1/posts/how-i-built-a-40k-design-community-in-mena
curl "https://osama.me/api/v1/search?q=design%20battlefield"

The full contract lives in an OpenAPI 3.1 document at /openapi.json. Every operation has a unique operationId, a typed response schema, and a description, so it drops straight into an LLM function-calling setup. Errors are always JSON, never an HTML page:

{
  "error": {
    "code": "not_found",
    "message": "No event exists with the slug \"nope\".",
    "resolution": "List everything available at https://osama.me/api/v1/events.",
    "status": 404,
    "documentation_url": "https://osama.me/openapi.json"
  }
}

MCP server for this site

The same content as native tools, over the Model Context Protocol. Streamable HTTP transport, JSON-RPC 2.0 on POST, no authentication. Point any MCP client at it:

{
  "mcpServers": {
    "osama-me": {
      "type": "http",
      "url": "https://osama.me/api/mcp"
    }
  }
}

Thirteen read-only tools: get_profile, list_work, list_initiatives, list_products, list_projects, list_events, get_event, list_posts, get_post, list_media, list_pages, get_page, and search_content. Every page is also exposed as an MCP resource. Discovery lives at /.well-known/mcp.json, and the capability index at /.well-known/agent-skills/index.json.

Markdown content negotiation

Every public page here answers on one URL with two representations: HTML for browsers, Markdown for agents. The implementation follows acceptmarkdown.com and RFC 9110 section 12.5.1.

Ask for Markdown

curl -H "Accept: text/markdown" https://osama.me/
curl -H "Accept: text/markdown" https://osama.me/blog

Or add .md to any URL

curl https://osama.me/index.md
curl https://osama.me/events/farid-omara-in-amman.md
curl "https://osama.me/about?mode=agent"

Scoped context files exist for the busy areas: /developers/llms.txt, /blog/llms.txt, and /events/llms.txt. Markdown and 406 responses carry Vary: Accept. HTML responses advertise their Markdown sibling with a Link: rel="alternate" header. An Accept header this site cannot satisfy gets a 406 Not Acceptable that lists what is available, rather than a silent fallback.

Experiments and prototypes

The running experiments, each on its own osama.me subdomain, are listed on The Lab: a Three.js games portal, a Claude usage tracker, a booking app, and Halulu is Hungry.

Something here broken or missing? Email ok@osama.me.