{
  "$schema": "https://modelcontextprotocol.io/schema/server-card.json",
  "name": "oussamaelhaidi-portfolio",
  "title": "Elhaidi Oussama Portfolio",
  "description": "Read-only MCP server exposing the portfolio of Elhaidi Oussama: profile and availability, selected work and apps, work history, and any published write-ups.",
  "version": "1.0.0",
  "serverUrl": "https://oelhaidi.com/.well-known/mcp",
  "transport": "streamable-http",
  "documentationUrl": "https://oelhaidi.com/agents.md",
  "authentication": {
    "type": "none"
  },
  "capabilities": {
    "tools": {}
  },
  "tools": [
    {
      "name": "get_profile",
      "description": "Get the profile of Elhaidi Oussama: role, location, years of experience, services, availability and contact channels.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    },
    {
      "name": "list_projects",
      "description": "List selected products, design systems, plugins and case studies with links.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum number of projects to return."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "list_topics",
      "description": "List published write-ups with their descriptions, dates and tags.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    },
    {
      "name": "get_topic",
      "description": "Get the full markdown of one published write-up by its slug.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "description": "Topic slug. One of: ."
          }
        },
        "required": [
          "slug"
        ],
        "additionalProperties": false
      }
    },
    {
      "name": "search_site",
      "description": "Keyword search across the profile, projects and published writing.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Search terms."
          }
        },
        "required": [
          "query"
        ],
        "additionalProperties": false
      }
    },
    {
      "name": "get_contact_info",
      "description": "Get how to contact Elhaidi Oussama, and what an enquiry should include.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
  ]
}