{
  "$schema": "https://modelcontextprotocol.io/schemas/server-card/2025-06-18.json",
  "name": "nichify",
  "displayName": "Nichify",
  "version": "0.2.0",
  "protocolVersion": "2025-06-18",
  "description": "First-party MCP server exposing an authenticated agent's Nichify account: niche analyses, Vinted monitorings, closure events, and pipeline runs. Gated by self-serve Personal Access Tokens issued at /account/keys.",
  "endpoint": "https://nichify.app/mcp",
  "transport": "streamable-http",
  "mcp_url": "https://nichify.app/mcp",
  "manifest_url": "https://nichify.app/.well-known/mcp/manifest.json",
  "publisher": {
    "name": "Nichify",
    "url": "https://nichify.app",
    "email": "contact@nichify.app"
  },
  "capabilities": {
    "tools": true,
    "prompts": false,
    "resources": true,
    "subscriptions": false,
    "mcp_apps": {
      "enabled": true,
      "ui_resource_prefixes": [
        "ui://nichify/analyses",
        "ui://nichify/analysis/",
        "ui://nichify/monitorings"
      ],
      "renderable_tools": [
        "list_analyses",
        "get_analysis",
        "list_monitorings"
      ],
      "spec": "@modelcontextprotocol/ext-apps draft"
    }
  },
  "transports": [
    {
      "type": "streamable-http",
      "endpoint": "https://nichify.app/mcp",
      "description": "JSON-RPC 2.0 over HTTP POST (MCP Streamable HTTP transport, spec 2025-06-18). Single JSON envelopes and batch arrays supported; SSE streams are reserved for future streaming tools."
    }
  ],
  "auth": {
    "type": "bearer",
    "scheme": "nch_",
    "issuance_url": "https://nichify.app/account/keys",
    "description": "Personal Access Tokens are issued per user from the account dashboard and scoped to ['read']. Session cookies (browser) are accepted as a fallback for first-party web clients."
  },
  "manifest": "https://nichify.app/mcp/manifest",
  "documentation": "https://nichify.app/llms-full.txt",
  "tools_preview_url": "https://nichify.app/mcp/manifest",
  "resources": [
    {
      "uri": "https://nichify.app/llms.txt",
      "name": "llms-short",
      "description": "Short, agent-friendly product summary with Accept-Language negotiation (fr/en/de/nl).",
      "mimeType": "text/plain"
    },
    {
      "uri": "https://nichify.app/llms-full.txt",
      "name": "llms-full",
      "description": "Full agent-readable product context, capabilities, scoring methodology, pricing, competitors.",
      "mimeType": "text/plain"
    },
    {
      "uri": "https://nichify.app/agent-instructions.md",
      "name": "agent-instructions",
      "description": "Authoritative when-to-use / when-not-to-use instructions for AI agents calling Nichify.",
      "mimeType": "text/markdown"
    },
    {
      "uri": "https://nichify.app/pricing.md",
      "name": "pricing",
      "description": "Machine-readable pricing tiers and quotas with Accept-Language negotiation (fr/en/de/nl).",
      "mimeType": "text/markdown"
    },
    {
      "uri": "https://nichify.app/feeds/faq.jsonld",
      "name": "faq-jsonld",
      "description": "FAQ Schema.org JSON-LD with Accept-Language negotiation (fr/en/de/nl).",
      "mimeType": "application/ld+json"
    },
    {
      "uri": "https://nichify.app/openapi.json",
      "name": "openapi",
      "description": "OpenAPI 3.1 specification of the public surface.",
      "mimeType": "application/json"
    },
    {
      "uri": "ui://nichify/analyses",
      "name": "analyses-list-ui",
      "description": "MCP Apps card listing the caller's recent niche analyses as HTML. Emitted via _meta.ui.resourceUri on list_analyses.",
      "mimeType": "text/html"
    },
    {
      "uri": "ui://nichify/analysis/{id}",
      "name": "analysis-ui",
      "description": "MCP Apps card rendering one analysis as HTML (KPIs + top items). Emitted via _meta.ui.resourceUri on get_analysis.",
      "mimeType": "text/html"
    },
    {
      "uri": "ui://nichify/monitorings",
      "name": "monitorings-ui",
      "description": "MCP Apps card listing the caller's Vinted monitorings as HTML. Emitted via _meta.ui.resourceUri on list_monitorings.",
      "mimeType": "text/html"
    }
  ],
  "license": "Authenticated tools respect per-account scoping. Public resources are readable for AI search and citation but not licensed for model training or dataset resale. See robots.txt Content-Signal directives."
}
