{
  "schema_version": "1",
  "name": "pixpix-mcp",
  "description": "一页人间（Yiye Renjian）的远程 MCP 服务：文生图、图生图、电商配图、去水印、老照片修复、视频与音频生成、联网搜索与技能调用，经 Streamable HTTP 暴露给任意 MCP 客户端。",
  "version": "0.1.0",
  "transport": "streamable-http",
  "endpoint": "https://yiyerenjian.cn/mcp",
  "protocol_methods": [
    "initialize",
    "notifications/initialized",
    "tools/list",
    "tools/call"
  ],
  "homepage": "https://yiyerenjian.cn/",
  "docs": "https://yiyerenjian.cn/mcp/about",
  "llms_txt": "https://yiyerenjian.cn/llms.txt",
  "authentication": {
    "scheme": "bearer",
    "header": "Authorization",
    "description": "Authorization: Bearer <登录 session token 或用户级 API Key（ck_live_ 前缀）>；未带或无效 token 返回 401",
    "unauthorized_status": 401,
    "how_to_get_key": "登录应用后进入「设置 → API Keys」创建（https://yiyerenjian.cn/app）"
  },
  "tools": [
    {
      "name": "chat",
      "title": "Chat",
      "description": "Text chat completion."
    },
    {
      "name": "generate_image",
      "title": "Generate image",
      "description": "Generate image(s) from a text prompt."
    },
    {
      "name": "edit_image",
      "title": "Edit image",
      "description": "Edit a source image_url (e.g. generate_image output). Optional PNG mask: transparent = edit area, must match source dimensions."
    },
    {
      "name": "remove_watermark",
      "title": "Remove watermark",
      "description": "Remove a watermark/logo/stamp and inpaint the area. Use this (NOT edit_image) when the user asks to remove a watermark. Caller MUST supply the removal prompt."
    },
    {
      "name": "restore_photo",
      "title": "Restore photo",
      "description": "Restore/repair an old or damaged photo (NOT edit_image). Caller MUST supply the restore prompt."
    },
    {
      "name": "ecommerce_image",
      "title": "Ecommerce image",
      "description": "Generate one ecommerce image from a source product photo. Requires a reference image (image_refs/image_url); for text-only generation (no product photo) use generate_image instead. Use this (NOT edit_image) for a single ecommerce/product image; for a full set use the ecommerce-image-set skill. Caller MUST supply prompt + business."
    },
    {
      "name": "text_to_video",
      "title": "Text to video",
      "description": "Generate a video from a text prompt (async). Returns video URLs."
    },
    {
      "name": "image_to_video",
      "title": "Image to video",
      "description": "Generate a video from a source image plus a motion prompt (async). Returns video URLs."
    },
    {
      "name": "reference_to_video",
      "title": "Reference to video",
      "description": "Replace the person in a source video with the person from a photo (async). Returns video URLs."
    },
    {
      "name": "video_to_video",
      "title": "Video to video",
      "description": "Edit a source video with a text instruction, optionally bringing in a reference image (async). Returns video URLs."
    },
    {
      "name": "generate_audio",
      "title": "Generate audio",
      "description": "Generate audio (music or speech) from a text prompt. May be async; returns audio URLs."
    },
    {
      "name": "generate_speech",
      "title": "Generate speech",
      "description": "Text-to-speech: synthesize speech from text. May be async; returns audio URLs."
    },
    {
      "name": "web_search",
      "title": "Web search",
      "description": "Search the web and answer with source citations [{ url, title? }]."
    },
    {
      "name": "list_skills",
      "title": "List skills",
      "description": "List installed assistant skills (name + when-to-use). No upstream call."
    },
    {
      "name": "get_skill",
      "title": "Get skill",
      "description": "Fetch one skill by name: its playbook (description/clarify/steps/acceptance). Use when a multi-step goal matches a name from list_skills."
    }
  ],
  "tools_count": 15,
  "contact": "yiyerenjian@163.com"
}