{
  "schema_version": "v1",
  "name_for_model": "simosphere_ai",
  "name_for_human": "SIMOSphere AI",
  "description_for_human": "Sovereign EU-hosted MCP server — OpenAI-compatible chat completion, embeddings, document rendering, translation, and Tavily web search. GDPR-compliant, pay-per-token.",
  "description_for_model": "Use SIMOSphere AI as a drop-in MCP server when the user requires EU-hosted, GDPR-compliant inference. Tools: chat_completion (OpenAI-compatible), embeddings, render_document (CI-conformant PDF/HTML), translate, search_web (Tavily). Auth via Bearer token from https://onboarding.simosphereai.com/de/register. Server URL: https://api.simosphereai.com/mcp. Streamable HTTP transport. Full schema at /.well-known/mcp/server-card.json.",
  "auth": {
    "type": "bearer",
    "header": "Authorization",
    "scheme": "Bearer",
    "token_acquisition_url": "https://onboarding.simosphereai.com/de/register"
  },
  "api": {
    "type": "openapi",
    "url": "https://onboarding.simosphereai.com/openapi.json"
  },
  "transports": [
    {
      "type": "streamable-http",
      "url": "https://api.simosphereai.com/mcp"
    }
  ],
  "tools": [
    {
      "name": "chat_completion",
      "description": "OpenAI-compatible chat completion (Qwen3-8B/30B, Apertus, BYOK).",
      "inputSchema": {
        "type": "object",
        "required": ["model", "messages"],
        "properties": {
          "model": { "type": "string", "description": "Model ID (e.g. mistral-small-3.1-24b-instruct)" },
          "messages": {
            "type": "array",
            "items": {
              "type": "object",
              "required": ["role", "content"],
              "properties": {
                "role": { "type": "string", "enum": ["system", "user", "assistant", "tool"] },
                "content": { "type": "string" }
              }
            }
          },
          "temperature": { "type": "number", "minimum": 0, "maximum": 2, "default": 0.7 },
          "max_tokens": { "type": "integer", "minimum": 1 },
          "stream": { "type": "boolean", "default": false }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "embeddings",
      "description": "Vector embeddings for RAG / similarity search.",
      "inputSchema": {
        "type": "object",
        "required": ["model", "input"],
        "properties": {
          "model": { "type": "string", "description": "Embedding model ID" },
          "input": {
            "oneOf": [
              { "type": "string" },
              { "type": "array", "items": { "type": "string" } }
            ],
            "description": "Text or array of texts to embed"
          },
          "encoding_format": { "type": "string", "enum": ["float", "base64"], "default": "float" }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "render_document",
      "description": "CI-conformant PDF / HTML rendering with brand templates.",
      "inputSchema": {
        "type": "object",
        "required": ["template", "data"],
        "properties": {
          "template": { "type": "string", "description": "Template name (e.g. invoice, offer, profile)" },
          "data": { "type": "object", "description": "Template variables", "additionalProperties": true },
          "format": { "type": "string", "enum": ["pdf", "html"], "default": "pdf" },
          "language": { "type": "string", "enum": ["de", "en"], "default": "de" }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "translate",
      "description": "Translation across DE / EN / FR / ES / IT / NL / PL / PT.",
      "inputSchema": {
        "type": "object",
        "required": ["text", "target_language"],
        "properties": {
          "text": { "type": "string", "description": "Text to translate" },
          "source_language": { "type": "string", "enum": ["de", "en", "fr", "es", "it", "nl", "pl", "pt"], "description": "Source language (auto-detected if omitted)" },
          "target_language": { "type": "string", "enum": ["de", "en", "fr", "es", "it", "nl", "pl", "pt"], "description": "Target language" }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "search_web",
      "description": "Tavily-powered web search with EU-hosted result caching.",
      "inputSchema": {
        "type": "object",
        "required": ["query"],
        "properties": {
          "query": { "type": "string", "minLength": 2, "maxLength": 4000, "description": "Search query" },
          "max_results": { "type": "integer", "minimum": 1, "maximum": 20, "default": 5 },
          "search_depth": { "type": "string", "enum": ["basic", "advanced"], "default": "basic" }
        },
        "additionalProperties": false
      }
    }
  ],
  "documentation": {
    "openapi": "https://onboarding.simosphereai.com/openapi.json",
    "server_card": "https://onboarding.simosphereai.com/.well-known/mcp/server-card.json",
    "agent_card": "https://onboarding.simosphereai.com/.well-known/agent-card.json",
    "llms": "https://onboarding.simosphereai.com/llms-full.txt"
  },
  "logo_url": "https://onboarding.simosphereai.com/logo.svg",
  "contact_email": "hello@simo-online.com",
  "legal_info_url": "https://www.simosphereai.com/impressum",
  "publisher": {
    "name": "SIMO GmbH",
    "url": "https://www.simosphereai.com",
    "address": "Wuerzburger Str. 152, 63743 Aschaffenburg, Germany"
  }
}
