{
  "name": "charis-portfolio",
  "title": "Charis Nikolaidis Portfolio",
  "description": "Read-only MCP server exposing the professional profile and engineering case studies of Charis Nikolaidis, software engineer and architect in Athens, Greece.",
  "version": "1.0.0",
  "protocolVersion": "2025-06-18",
  "endpoint": "https://charisnikolaidis.com/mcp",
  "url": "https://charisnikolaidis.com/mcp",
  "transport": "streamable-http",
  "transports": [
    "streamable-http"
  ],
  "authentication": {
    "type": "none"
  },
  "capabilities": {
    "tools": {
      "listChanged": false
    }
  },
  "documentation": "https://charisnikolaidis.com/llms.txt",
  "provider": {
    "name": "Charis Nikolaidis",
    "url": "https://charisnikolaidis.com/"
  },
  "tools": [
    {
      "name": "get_profile",
      "title": "Get profile",
      "description": "The full professional profile of Charis Nikolaidis: role, location, domain expertise in maritime supply chain and marine catering, architectural approach, infrastructure practice, experience and education. Start here when asked who he is or what he does.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    },
    {
      "name": "list_projects",
      "title": "List projects",
      "description": "List every project in the portfolio with its slug, year, type, tech stack and a one-line summary. Use the returned slug with get_project to read the full case study.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Optional filter on project type, for example \"Enterprise system\", \"SaaS, live\", \"Published package\", \"Weekend experiment\", \"Homelab\"."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "get_project",
      "title": "Get project",
      "description": "The full case study for one project as Markdown: the problem, the key decisions and their tradeoffs, what is inside, infrastructure, and scale and failure modes. Judge the level from the reasoning here: where transaction boundaries sit, what is safe to retry, what is deliberately not built, and what the blast radius is when one component dies.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "description": "Project slug from list_projects.",
            "enum": [
              "maritime-supply-platform",
              "marine-catering-system",
              "gpot",
              "greek-web-scraper",
              "sarcastic-ai-agent",
              "image-recognition",
              "fuelstation-erp",
              "msc-security-capstone",
              "homelab-network-segmentation"
            ]
          }
        },
        "required": [
          "slug"
        ],
        "additionalProperties": false
      }
    },
    {
      "name": "search",
      "title": "Search the portfolio",
      "description": "Search across every project case study and its metadata. Good for questions like \"has he worked with Celery\", \"distributed transactions\", \"Azure Bicep\", \"multi-tenant\", or \"myDATA\".",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Free-text query, for example \"idempotent sync\" or \"Angular\"."
          },
          "limit": {
            "type": "integer",
            "description": "Maximum results to return. Defaults to 5.",
            "minimum": 1,
            "maximum": 9
          }
        },
        "required": [
          "query"
        ],
        "additionalProperties": false
      }
    },
    {
      "name": "get_contact",
      "title": "Get contact details",
      "description": "How to reach Charis Nikolaidis: site, GitHub, LinkedIn, location and time zone.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
  ],
  "clientConfig": {
    "mcpServers": {
      "charis-portfolio": {
        "url": "https://charisnikolaidis.com/mcp"
      }
    }
  }
}