{
  "data": {
    "tool": {
      "category": "",
      "endpoint": "https://mcp.pixfaro.com/mcp",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/pixfaro-mcp.json",
      "kind": "mcp",
      "listed": "indexed",
      "liveUrl": "https://www.anchorterminal.com/api/v1/live/pixfaro-mcp.json",
      "markdownUrl": "https://www.anchorterminal.com/tools/pixfaro-mcp.md",
      "mcpTools": {
        "check": {
          "checker": "anchor-check/1.0",
          "totalTokens": 2432,
          "counts": {
            "error": 0,
            "note": 1,
            "warn": 4
          },
          "findings": [
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "edit_image",
              "message": "2 parameters without a description: model, overlay",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "generate_image",
              "message": "1 parameter without a description: overlay",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "render_template",
              "message": "1 parameter without a description: overlay",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC13",
              "severity": "warn",
              "tool": "render_template",
              "message": "slots (object with no properties)",
              "fix": "Declare the properties (or additionalProperties with a schema) and the array's items."
            },
            {
              "rule": "TC24",
              "severity": "note",
              "message": "8 of 8 tools have no outputSchema",
              "fix": "Declare outputSchema for tools that return structured data, and return structuredContent that matches it."
            }
          ]
        },
        "checkedAt": "2026-10-04T22:23:34Z",
        "count": 8,
        "note": "answered without the initialize handshake",
        "schemaTokens": 2432,
        "status": "ok",
        "tools": [
          {
            "name": "generate_image",
            "description": "Generate an image from a text prompt. Returns a hosted URL plus cost and balance. Slow models (mode \"async\" in list_models) return a j_… job id instead — poll it with check_job.",
            "inputSchema": {
              "properties": {
                "aspect_ratio": {
                  "description": "e.g. \"16:9\" (default 1:1). Ratios are per-model — list_models names the ones verified for each. Gemini models take a fixed set (no 4:1 or wider); the budget fal models compute any bounded W:H, so use one of those for banner shapes — up to 4:1 / 1:4, beyond which the derived strip gets too thin to send. Every fal model is 1K-only, so that is the practical bound.",
                  "type": "string"
                },
                "model": {
                  "default": "nano-banana-2",
                  "description": "Model id from list_models",
                  "type": "string"
                },
                "overlay": {
                  "oneOf": [
                    {
                      "const": "default",
                      "description": "Apply your saved brand kit (set with PUT /v1/brand-kit)",
                      "type": "string"
                    },
                    {
                      "description": "Optional brand overlay composited into a corner after generation. Provide EITHER text OR logo_id (an uploaded brand logo), not both.",
                      "properties": {
                        "color": {
                          "description": "text only; \"auto\" (default) or #RRGGBB",
                          "type": "string"
                        },
                        "font": {
                          "description": "text only; default space-grotesk",
                          "enum": [
                            "space-grotesk",
                            "inter",
                            "jetbrains-mono"
                          ],
                          "type": "string"
                        },
                        "logo_id": {
                          "description": "A logo uploaded via POST /v1/logos (mutually exclusive with text)",
                          "type": "string"
                        },
                        "logo_style": {
                          "description": "Logo treatment (logo_id only). RECOMMENDED default \"sticker\": crisp die-cut border + drop shadow, legible on any photo. \"shadow\": drop shadow only (use when the logo already contrasts the scene). \"outline\": border only, flat cut-out. \"none\": bare logo, its own alpha only (use only for a pre-processed logo on a controlled background).",
                          "enum": [
                            "sticker",
                            "shadow",
                            "outline",
                            "none"
                          ],
                          "type": "string"
                        },
                        "margin": {
                          "description": "\"safe\" (default) or a non-negative px number"
                        },
                        "opacity": {
                          "description": "0.2–1.0, default 0.9",
                          "type": "number"
                        },
                        "position": {
                          "description": "default bottom-right",
                          "enum": [
                            "top-left",
                            "top-right",
                            "bottom-left",
                            "bottom-right"
                          ],
                          "type": "string"
                        },
                        "size": {
                          "description": "text cap-height or logo width; default m",
                          "enum": [
                            "s",
                            "m",
                            "l"
                          ],
                          "type": "string"
                        },
                        "text": {
                          "description": "Handle to render, ≤64 chars, single line (mutually exclusive with logo_id)",
                          "type": "string"
                        },
                        "weight": {
                          "description": "text only; default 700",
                          "enum": [
                            400,
                            500,
                            700
                          ],
                          "type": "number"
                        }
                      },
                      "type": "object"
                    }
                  ]
                },
                "prompt": {
                  "description": "What to draw",
                  "type": "string"
                },
                "resolution": {
                  "description": "Output tier (default 1K); supported tiers and prices per model are in list_models",
                  "enum": [
                    "1K",
                    "2K",
                    "4K"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "prompt"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "readOnlyHint": false,
              "title": "Generate image"
            }
          },
          {
            "name": "edit_image",
            "description": "Edit a previously generated image by its img_… id with a natural-language instruction.",
            "inputSchema": {
              "properties": {
                "aspect_ratio": {
                  "description": "Omit to keep the source image's shape. If set, it is per-model — see list_models.",
                  "type": "string"
                },
                "image": {
                  "description": "img_… id of a previous generation",
                  "type": "string"
                },
                "instruction": {
                  "description": "What to change",
                  "type": "string"
                },
                "model": {
                  "default": "nano-banana-2",
                  "type": "string"
                },
                "overlay": {
                  "oneOf": [
                    {
                      "const": "default",
                      "description": "Apply your saved brand kit (set with PUT /v1/brand-kit)",
                      "type": "string"
                    },
                    {
                      "description": "Optional brand overlay composited into a corner after generation. Provide EITHER text OR logo_id (an uploaded brand logo), not both.",
                      "properties": {
                        "color": {
                          "description": "text only; \"auto\" (default) or #RRGGBB",
                          "type": "string"
                        },
                        "font": {
                          "description": "text only; default space-grotesk",
                          "enum": [
                            "space-grotesk",
                            "inter",
                            "jetbrains-mono"
                          ],
                          "type": "string"
                        },
                        "logo_id": {
                          "description": "A logo uploaded via POST /v1/logos (mutually exclusive with text)",
                          "type": "string"
                        },
                        "logo_style": {
                          "description": "Logo treatment (logo_id only). RECOMMENDED default \"sticker\": crisp die-cut border + drop shadow, legible on any photo. \"shadow\": drop shadow only (use when the logo already contrasts the scene). \"outline\": border only, flat cut-out. \"none\": bare logo, its own alpha only (use only for a pre-processed logo on a controlled background).",
                          "enum": [
                            "sticker",
                            "shadow",
                            "outline",
                            "none"
                          ],
                          "type": "string"
                        },
                        "margin": {
                          "description": "\"safe\" (default) or a non-negative px number"
                        },
                        "opacity": {
                          "description": "0.2–1.0, default 0.9",
                          "type": "number"
                        },
                        "position": {
                          "description": "default bottom-right",
                          "enum": [
                            "top-left",
                            "top-right",
                            "bottom-left",
                            "bottom-right"
                          ],
                          "type": "string"
                        },
                        "size": {
                          "description": "text cap-height or logo width; default m",
                          "enum": [
                            "s",
                            "m",
                            "l"
                          ],
                          "type": "string"
                        },
                        "text": {
                          "description": "Handle to render, ≤64 chars, single line (mutually exclusive with logo_id)",
                          "type": "string"
                        },
                        "weight": {
                          "description": "text only; default 700",
                          "enum": [
                            400,
                            500,
                            700
                          ],
                          "type": "number"
                        }
                      },
                      "type": "object"
                    }
                  ]
                },
                "resolution": {
                  "description": "Output tier; defaults to the source image's",
                  "enum": [
                    "1K",
                    "2K",
                    "4K"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "image",
                "instruction"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "readOnlyHint": false,
              "title": "Edit image"
            }
          },
          {
            "name": "render_template",
            "description": "Render a typeset card from a template — a finished, on-brand social image (quote card, post card) in about two seconds. Cheaper and more legible than generating type with a model. Get the templates and their slots from list_templates.",
            "inputSchema": {
              "properties": {
                "overlay": {
                  "oneOf": [
                    {
                      "const": "default",
                      "description": "Apply your saved brand kit (set with PUT /v1/brand-kit)",
                      "type": "string"
                    },
                    {
                      "description": "Optional brand overlay composited into a corner after generation. Provide EITHER text OR logo_id (an uploaded brand logo), not both.",
                      "properties": {
                        "color": {
                          "description": "text only; \"auto\" (default) or #RRGGBB",
                          "type": "string"
                        },
                        "font": {
                          "description": "text only; default space-grotesk",
                          "enum": [
                            "space-grotesk",
                            "inter",
                            "jetbrains-mono"
                          ],
                          "type": "string"
                        },
                        "logo_id": {
                          "description": "A logo uploaded via POST /v1/logos (mutually exclusive with text)",
                          "type": "string"
                        },
                        "logo_style": {
                          "description": "Logo treatment (logo_id only). RECOMMENDED default \"sticker\": crisp die-cut border + drop shadow, legible on any photo. \"shadow\": drop shadow only (use when the logo already contrasts the scene). \"outline\": border only, flat cut-out. \"none\": bare logo, its own alpha only (use only for a pre-processed logo on a controlled background).",
                          "enum": [
                            "sticker",
                            "shadow",
                            "outline",
                            "none"
                          ],
                          "type": "string"
                        },
                        "margin": {
                          "description": "\"safe\" (default) or a non-negative px number"
                        },
                        "opacity": {
                          "description": "0.2–1.0, default 0.9",
                          "type": "number"
                        },
                        "position": {
                          "description": "default bottom-right",
                          "enum": [
                            "top-left",
                            "top-right",
                            "bottom-left",
                            "bottom-right"
                          ],
                          "type": "string"
                        },
                        "size": {
                          "description": "text cap-height or logo width; default m",
                          "enum": [
                            "s",
                            "m",
                            "l"
                          ],
                          "type": "string"
                        },
                        "text": {
                          "description": "Handle to render, ≤64 chars, single line (mutually exclusive with logo_id)",
                          "type": "string"
                        },
                        "weight": {
                          "description": "text only; default 700",
                          "enum": [
                            400,
                            500,
                            700
                          ],
                          "type": "number"
                        }
                      },
                      "type": "object"
                    }
                  ]
                },
                "scale": {
                  "description": "device pixel ratio; 2 default, 3 costs $0.01 more",
                  "enum": [
                    1,
                    2,
                    3
                  ],
                  "type": "number"
                },
                "size": {
                  "description": "default 16:9",
                  "enum": [
                    "16:9",
                    "1:1",
                    "4:5",
                    "og"
                  ],
                  "type": "string"
                },
                "slots": {
                  "description": "The template's slot values, e.g. { \"quote\": \"…\", \"handle\": \"@you\" }. Image slots take an asset id from upload_asset, or \"default\" for your brand kit.",
                  "type": "object"
                },
                "style": {
                  "description": "Leave unset for the template default, \"auto\" for a random combination that avoids your last one, \"brand\" for your saved colours, or an object of style axes.",
                  "oneOf": [
                    {
                      "enum": [
                        "auto",
                        "brand"
                      ],
                      "type": "string"
                    },
                    {
                      "properties": {
                        "font": {
                          "type": "string"
                        },
                        "layout": {
                          "type": "string"
                        },
                        "palette": {
                          "type": "string"
                        },
                        "shadow": {
                          "description": "crisp offset shadow behind the type",
                          "type": "boolean"
                        }
                      },
                      "type": "object"
                    }
                  ]
                },
                "template": {
                  "description": "Template id from list_templates, e.g. \"quote-card\"",
                  "type": "string"
                }
              },
              "required": [
                "template",
                "slots"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "readOnlyHint": false,
              "title": "Render template"
            }
          },
          {
            "name": "upload_asset",
            "description": "Upload an image (PNG or JPEG, ≤5 MB) as a reusable asset — an avatar for a card, for example. Returns an ast_… id to pass into a template slot.",
            "inputSchema": {
              "properties": {
                "data": {
                  "description": "data URI or bare base64, e.g. \"data:image/png;base64,…\"",
                  "type": "string"
                },
                "kind": {
                  "description": "what the image is for; \"avatar\" for a card byline",
                  "enum": [
                    "avatar",
                    "logo",
                    "photo",
                    "image"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "data",
                "kind"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "readOnlyHint": false,
              "title": "Upload asset"
            }
          },
          {
            "name": "list_models",
            "description": "List available image models with pricing and latency.",
            "inputSchema": {
              "properties": {},
              "type": "object"
            },
            "annotations": {
              "readOnlyHint": true,
              "title": "List models"
            }
          },
          {
            "name": "list_templates",
            "description": "List card templates with their slots, style axes and exact price.",
            "inputSchema": {
              "properties": {},
              "type": "object"
            },
            "annotations": {
              "readOnlyHint": true,
              "title": "List templates"
            }
          },
          {
            "name": "get_balance",
            "description": "Show the current prepaid balance in USD.",
            "inputSchema": {
              "properties": {},
              "type": "object"
            },
            "annotations": {
              "readOnlyHint": true,
              "title": "Balance"
            }
          },
          {
            "name": "check_job",
            "description": "Check an async generation job by its j_… id. Slow models (mode \"async\" in list_models) return a job instead of an image — poll this until it succeeds or fails.",
            "inputSchema": {
              "properties": {
                "job_id": {
                  "description": "j_… id returned by generate_image / edit_image",
                  "type": "string"
                }
              },
              "required": [
                "job_id"
              ],
              "type": "object"
            },
            "annotations": {
              "readOnlyHint": true,
              "title": "Check job"
            }
          }
        ]
      },
      "name": "pixfaro.com MCP server",
      "note": "Indexed from the official MCP registry: facts and our own checks, not reviewed, so no score, grade or rank.",
      "packages": [
        {
          "registryType": "npm",
          "identifier": "@pixfaro/mcp",
          "version": "0.1.2",
          "transport": "stdio"
        }
      ],
      "pageJsonUrl": "https://www.anchorterminal.com/tools/pixfaro-mcp.json",
      "popularity": {
        "githubStars": 0,
        "npmWeekly": 55
      },
      "registryName": "com.pixfaro/mcp",
      "remotes": [
        {
          "type": "streamable-http",
          "url": "https://mcp.pixfaro.com/mcp"
        }
      ],
      "repository": "https://github.com/pixfaro/mcp",
      "reviewed": false,
      "slug": "pixfaro-mcp",
      "source": "the official MCP registry",
      "sourceUrl": "https://registry.modelcontextprotocol.io/v0.1/servers?search=com.pixfaro/mcp",
      "summary": "Generate images with any major model — one API key, one prepaid balance, one MCP.",
      "updatedAt": "2026-08-19T00:34:19Z",
      "url": "https://www.anchorterminal.com/tools/pixfaro-mcp",
      "vendor": "pixfaro.com",
      "vendorUrl": "https://pixfaro.com",
      "version": "0.1.2",
      "websiteUrl": "https://pixfaro.com",
      "where": "both",
      "why": [
        "vendor"
      ]
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/tools/pixfaro-mcp",
    "json": "https://www.anchorterminal.com/tools/pixfaro-mcp.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/tools/pixfaro-mcp.md",
    "slim": "https://www.anchorterminal.com/tools/pixfaro-mcp.min.md"
  },
  "markdown": "# pixfaro.com MCP server\n\n\u003e Indexed, not reviewed: facts from the official MCP registry and our own checks. No score, grade or rank, and not in the rankings until the panel reviews it. How the index works: https://www.anchorterminal.com/indexed/\n\n- Kind: MCP server, by pixfaro.com (https://pixfaro.com)\n- Listed because: It's published in the registry under pixfaro.com, a namespace the registry only gives to whoever proves they control that domain.\n- What the official MCP registry says: Generate images with any major model — one API key, one prepaid balance, one MCP.\n\n## Facts\n\n- MCP registry: `com.pixfaro/mcp` 0.1.2\n- Endpoint: https://mcp.pixfaro.com/mcp (streamable HTTP)\n- Package: npm `@pixfaro/mcp` (stdio)\n- Source: https://github.com/pixfaro/mcp\n- Website: https://pixfaro.com\n- npm downloads a week: 55\n- GitHub stars: 0\n- Registry entry updated: 2026-08-19\n\n## Tools\n\n- Tools it lists (8, about 2,432 tokens of context, `tools/list` without credentials, checked 2026-10-04 22:23 UTC):\n  - `generate_image` (writes): Generate an image from a text prompt. Returns a hosted URL plus cost and balance. Slow models (mode \"async\" in list_models) return a j_… job id instead — poll…\n  - `edit_image` (writes): Edit a previously generated image by its img_… id with a natural-language instruction.\n  - `render_template` (writes): Render a typeset card from a template — a finished, on-brand social image (quote card, post card) in about two seconds. Cheaper and more legible than…\n  - `upload_asset` (writes): Upload an image (PNG or JPEG, ≤5 MB) as a reusable asset — an avatar for a card, for example. Returns an ast_… id to pass into a template slot.\n  - `list_models` (read-only): List available image models with pricing and latency.\n  - `list_templates` (read-only): List card templates with their slots, style axes and exact price.\n  - `get_balance` (read-only): Show the current prepaid balance in USD.\n  - `check_job` (read-only): Check an async generation job by its j_… id. Slow models (mode \"async\" in list_models) return a job instead of an image — poll this until it succeeds or fails.\n- How its tools read to an agent (0 errors, 4 warnings, 1 note, about 2,432 tokens; rules at https://www.anchorterminal.com/check.md; not part of the score):\n  - warn TC11 edit_image: 2 parameters without a description: model, overlay\n  - warn TC11 generate_image: 1 parameter without a description: overlay\n  - warn TC11 render_template: 1 parameter without a description: overlay\n  - warn TC13 render_template: slots (object with no properties)\n  - note TC24 server: 8 of 8 tools have no outputSchema\n\n- JSON: https://www.anchorterminal.com/api/v1/tools/pixfaro-mcp.json\n- Being indexed says nothing about quality, and nobody can pay for it. Ask for a review: https://www.anchorterminal.com/builders/#claiming\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "Indexed",
        "url": "https://www.anchorterminal.com/indexed/"
      },
      {
        "name": "pixfaro.com MCP server",
        "url": ""
      }
    ],
    "description": "pixfaro.com MCP server, an MCP server by pixfaro.com, listed from the official MCP registry. Indexed, not reviewed: facts and our own checks, no score or ranking. Generate images with any major model — one API key, one prepaid balance, one MCP.",
    "facts": [
      "not reviewed",
      "not ranked",
      "facts only"
    ],
    "h1": "pixfaro.com MCP server",
    "image": "https://www.anchorterminal.com/assets/og/indexed.png",
    "path": "/tools/pixfaro-mcp",
    "published": "",
    "section": "indexed",
    "title": "pixfaro.com MCP server, indexed from the official MCP registry",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/tools/pixfaro-mcp"
  },
  "tokens": {
    "markdown": 900,
    "slim": 830
  },
  "version": 1
}
