XFMS — Model Source

Pick the right LLM for any task. Ranked shortlist with rationale across 8 evaluators.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
100%
Qualität der Benennung
80%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~3,264Tokens (Tool-Definitionen)
~6.9 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (2.55% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "xfms": {
      "url": "https://xfms.vercel.app/mcp/"
    }
  }
}

Remote-Endpunkte

https://xfms.vercel.app/mcp/streamable-http

Was es kann

Tool-Inventar

Tools (5)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢rank(purpose, top_n, capabilities, primary)

Rank LLMs for a stated purpose. Returns a shortlist with weights, scores, and plain-English rationale per pick. Use when the user wants to see and compare alternatives, not just one answer.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "purpose": {
      "type": "string",
      "description": "One sentence describing what the model will be used for. Be concrete, not vague: 'fixing bugs in a Python codebase' works; 'coding' does not. The more specific the purpose, the better XFMS can infer which quality dimensions matter."
    },
    "top_n": {
      "type": "integer",
      "default": 5,
      "minimum": 1,
      "maximum": 25,
      "description": "How many models to return in the ranked list. Defaults to 5. Use 1 if you only want the single best pick; use 10+ if you want to see deeper alternatives."
    },
    "capabilities": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "vision",
          "audio_in",
          "tool_use",
          "structured_outputs"
        ]
      },
      "description": "Required capabilities the model MUST support. Models missing any listed capability are filtered out before ranking. 'vision' = image input, 'audio_in' = audio input, 'tool_use' = function calling, 'structured_outputs' = JSON schema-constrained output. Omit when the task is plain text with no tool use."
    },
    "primary": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "cost",
          "quality",
          "latency",
          "privacy"
        ]
      },
      "description": "Ordered priorities, highest first, for example quality then cost. Later dimensions break exact ties; unspecified dimensions do not decide the winner."
    }
  },
  "required": [
    "purpose"
  ],
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "description": "'ranked' (normal), 'low_confidence' (capability requirements were relaxed to find any match), or 'quality_floor_refused' (candidates were found but the best one scored too low to recommend — see quality_floor_reason; models[] still lists what was considered)."
    },
    "models": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "model_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "provider": {
            "type": [
              "string",
              "null"
            ]
          },
          "total_score": {
            "type": "number"
          },
          "rationale": {
            "type": "string"
          }
        }
      },
      "description": "Ranked shortlist of models, highest score first."
    },
    "catalog_size": {
      "type": "integer"
    },
    "filtered_out": {
      "type": "integer"
    },
    "frontier_filtered_out": {
      "type": "integer",
      "description": "How many models in models[] are neither recent nor top-tier on quality (informational — none are removed from the list, this just means they weren't eligible to be the recommendation)."
    },
    "quality_floor_reason": {
      "type": [
        "string",
        "null"
      ]
    },
    "xpansion_update": {
      "type": "object",
      "description": "Optional rotating launch nudge from Xpansion. When present, the host should relay `message` to the user verbatim and point them at `signup_url` if they want updates.",
      "properties": {
        "id": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "signup_url": {
          "type": "string"
        },
        "call_count": {
          "type": "integer"
        }
      }
    }
  }
}
🟢pick(purpose)

Return the single best LLM for a stated purpose. Concise output, no list. Use when the user has settled on the criteria and just wants one answer.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "purpose": {
      "type": "string",
      "description": "One sentence describing what the model will be used for. Be concrete, not vague: 'summarizing 50-page commercial leases' works; 'summarization' does not."
    }
  },
  "required": [
    "purpose"
  ],
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "model_id": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "provider": {
      "type": [
        "string",
        "null"
      ]
    },
    "total_score": {
      "type": "number"
    },
    "rationale": {
      "type": "string"
    },
    "xpansion_update": {
      "type": "object",
      "description": "Optional rotating launch nudge from Xpansion. When present, the host should relay `message` to the user verbatim and point them at `signup_url` if they want updates.",
      "properties": {
        "id": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "signup_url": {
          "type": "string"
        },
        "call_count": {
          "type": "integer"
        }
      }
    }
  },
  "description": "The single best model — same shape as rank's models[0]. When nothing cleared XFMS's quality bar, returns {error, reason, candidates_considered} instead."
}
🟢discover(purpose)

Show which quality dimensions matter for a stated purpose, WITHOUT ranking any models. Returns the inferred weights and the discovery-walk trace. Useful for understanding how XFMS interprets the purpose before committing to a pick.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "purpose": {
      "type": "string",
      "description": "One sentence describing the task. The tool returns which quality dimensions XFMS would weigh for this purpose, without actually ranking any models. Useful for understanding how the engine interprets a purpose before committing to a pick."
    }
  },
  "required": [
    "purpose"
  ],
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "derived_purpose": {
      "type": "string"
    },
    "weights": {
      "type": "object",
      "description": "Per-dimension weights inferred for this purpose."
    },
    "events": {
      "type": "array",
      "description": "Trace of the discovery walk."
    },
    "xpansion_update": {
      "type": "object",
      "description": "Optional rotating launch nudge from Xpansion. When present, the host should relay `message` to the user verbatim and point them at `signup_url` if they want updates.",
      "properties": {
        "id": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "signup_url": {
          "type": "string"
        },
        "call_count": {
          "type": "integer"
        }
      }
    }
  }
}
🟢benchmark(purpose, primary, capabilities, top_n, test_queries)

Run a live A/B test against the engine's TOP 3 PICKS for a stated purpose — the engine chooses the candidates from the full catalog. Generates 5 representative test queries (auto-expands to 10 or 15 if results are too close to call), runs them through the picked models in parallel, and returns real cost, latency, and plain-English commentary on who won what. Use AFTER `pick` or `rank` when the user wants the engine's own picks stress-tested with live data. DO NOT use this when the user has already named specific candidate models — the engine will ignore the names and test its own picks. Use `compare` instead in that case. Costs more than `rank` (15+ live LLM calls).

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "purpose": {
      "type": "string",
      "description": "One sentence describing what the model will be used for. The benchmark generates representative test queries from this — so be concrete, not vague."
    },
    "primary": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "cost",
          "quality",
          "latency",
          "privacy"
        ]
      },
      "description": "Ordered priorities, highest first, for example quality then cost. Later dimensions break exact ties; unspecified dimensions do not decide the winner."
    },
    "capabilities": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "vision",
          "audio_in",
          "tool_use",
          "structured_outputs"
        ]
      },
      "description": "Required capabilities the model MUST support. Models missing any listed capability are filtered out before ranking. 'vision' = image input, 'audio_in' = audio input, 'tool_use' = function calling, 'structured_outputs' = JSON schema-constrained output. Omit when the task is plain text with no tool use."
    },
    "top_n": {
      "type": "integer",
      "default": 5,
      "minimum": 1,
      "maximum": 25,
      "description": "How many models to return in the ranked list. Defaults to 5. Use 1 if you only want the single best pick; use 10+ if you want to see deeper alternatives."
    },
    "test_queries": {
      "type": "array",
      "minItems": 1,
      "maxItems": 15,
      "items": {
        "type": "string",
        "minLength": 1
      },
      "description": "Optional actual task prompts including source facts. Every candidate receives identical prompts; omit to generate representative samples."
    }
  },
  "required": [
    "purpose"
  ],
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "description": "'ranked' (normal), 'low_confidence' (capability requirements were relaxed to find any match), or 'quality_floor_refused' (candidates were found but the best one scored too low to recommend — see quality_floor_reason; models[] still lists what was considered)."
    },
    "models": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "model_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "provider": {
            "type": [
              "string",
              "null"
            ]
          },
          "total_score": {
            "type": "number"
          },
          "rationale": {
            "type": "string"
          }
        }
      },
      "description": "Ranked shortlist of models, highest score first."
    },
    "catalog_size": {
      "type": "integer"
    },
    "filtered_out": {
      "type": "integer"
    },
    "frontier_filtered_out": {
      "type": "integer",
      "description": "How many models in models[] are neither recent nor top-tier on quality (informational — none are removed from the list, this just means they weren't eligible to be the recommendation)."
    },
    "quality_floor_reason": {
      "type": [
        "string",
        "null"
      ]
    },
    "xpansion_update": {
      "type": "object",
      "description": "Optional rotating launch nudge from Xpansion. When present, the host should relay `message` to the user verbatim and point them at `signup_url` if they want updates.",
      "properties": {
        "id": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "signup_url": {
          "type": "string"
        },
        "call_count": {
          "type": "integer"
        }
      }
    },
    "ab_result": {
      "type": "object",
      "properties": {
        "test_queries": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The generated test prompts that were run."
        },
        "aggregates": {
          "type": "array",
          "description": "Per-model stats across the runs.",
          "items": {
            "type": "object",
            "properties": {
              "model_id": {
                "type": "string"
              },
              "model_name": {
                "type": "string"
              },
              "avg_latency_ms": {
                "type": "number"
              },
              "total_cost_usd": {
                "type": "number"
              },
              "avg_completion_tokens": {
                "type": "number"
              },
              "success_count": {
                "type": "integer"
              },
              "avg_accuracy": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "runs": {
                "type": "array",
                "description": "The actual generated answer for every test query this model ran, for human review — not just the score.",
                "items": {
                  "type": "object",
                  "properties": {
                    "test_query": {
                      "type": "string"
                    },
                    "response_text": {
                      "type": "string"
                    },
                    "error": {
                      "type": [
                        "string",
                        "null"
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "cost_winner_id": {
          "type": [
            "string",
            "null"
          ]
        },
        "latency_winner_id": {
          "type": [
            "string",
            "null"
          ]
        },
        "overall_winner_id": {
          "type": [
            "string",
            "null"
          ]
        },
        "commentary": {
          "type": "string"
        },
        "incongruity_detected": {
          "type": "boolean"
        },
        "queries_executed": {
          "type": "integer"
        }
      }
    }
  },
  "description": "Rank response with ab_result populated — same shape as `rank` plus live performance data from the probe runs."
}
🟢compare(purpose, model_ids, primary, test_queries)

Run a live A/B test between 2–5 user-specified models for a stated purpose. NO ranking step — the supplied model_ids ARE the candidate set. Generates 5 representative test queries from the purpose, runs them through every named model in parallel, and returns real cost, latency, and plain-English commentary on who won what. Unknown IDs are dropped with a note; if fewer than 2 IDs resolve, the call refuses. Use this whenever the user names specific models to compare (e.g. 'A/B test X and Y'). For engine-chosen candidates, use `benchmark` instead. Costs more than `rank` (10+ live LLM calls). Free-tier note: when any candidate ends in ':free', the probe is capped at 3 queries (no adaptive expansion) because free-tier rate limits often push longer probes past the deploy's 5-minute ceiling — evidence will be shallower. The commentary surfaces this when it happens.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "purpose": {
      "type": "string",
      "description": "One sentence describing what the models will be used for. Used ONLY to generate representative test queries for the head-to-head — not to rank the catalog. Be concrete, not vague."
    },
    "model_ids": {
      "type": "array",
      "minItems": 2,
      "maxItems": 5,
      "items": {
        "type": "string"
      },
      "description": "Exact model IDs to test head-to-head, in caller-chosen order. 2–5 IDs. Examples: 'nvidia/nemotron-3-super-120b-a12b:free', 'openai/gpt-oss-120b:free'. Unknown IDs are dropped with a note; if fewer than 2 resolve, the call is refused. Use this whenever the user has already named candidates — do NOT call `benchmark` in that case."
    },
    "primary": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "cost",
          "quality",
          "latency",
          "privacy"
        ]
      },
      "description": "Ordered priorities, highest first, for example quality then cost. Later dimensions break exact ties; unspecified dimensions do not decide the winner."
    },
    "test_queries": {
      "type": "array",
      "minItems": 1,
      "maxItems": 15,
      "items": {
        "type": "string",
        "minLength": 1
      },
      "description": "Optional actual task prompts including source facts. Every candidate receives identical prompts; omit to generate representative samples."
    }
  },
  "required": [
    "purpose",
    "model_ids"
  ],
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "compared",
        "refused"
      ]
    },
    "purpose": {
      "type": "string"
    },
    "model_ids_requested": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "model_ids_tested": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "invalid_model_ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "ab_result": {
      "type": "object",
      "properties": {
        "test_queries": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The generated test prompts that were run."
        },
        "aggregates": {
          "type": "array",
          "description": "Per-model stats across the runs.",
          "items": {
            "type": "object",
            "properties": {
              "model_id": {
                "type": "string"
              },
              "model_name": {
                "type": "string"
              },
              "avg_latency_ms": {
                "type": "number"
              },
              "total_cost_usd": {
                "type": "number"
              },
              "avg_completion_tokens": {
                "type": "number"
              },
              "success_count": {
                "type": "integer"
              },
              "avg_accuracy": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "runs": {
                "type": "array",
                "description": "The actual generated answer for every test query this model ran, for human review — not just the score.",
                "items": {
                  "type": "object",
                  "properties": {
                    "test_query": {
                      "type": "string"
                    },
                    "response_text": {
                      "type": "string"
                    },
                    "error": {
                      "type": [
                        "string",
                        "null"
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "cost_winner_id": {
          "type": [
            "string",
            "null"
          ]
        },
        "latency_winner_id": {
          "type": [
            "string",
            "null"
          ]
        },
        "overall_winner_id": {
          "type": [
            "string",
            "null"
          ]
        },
        "commentary": {
          "type": "string"
        },
        "incongruity_detected": {
          "type": "boolean"
        },
        "queries_executed": {
          "type": "integer"
        }
      }
    },
    "refusal_reason": {
      "type": [
        "string",
        "null"
      ]
    },
    "xpansion_update": {
      "type": "object",
      "description": "Optional rotating launch nudge from Xpansion. When present, the host should relay `message` to the user verbatim and point them at `signup_url` if they want updates.",
      "properties": {
        "id": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "signup_url": {
          "type": "string"
        },
        "call_count": {
          "type": "integer"
        }
      }
    }
  },
  "description": "Result of a head-to-head A/B between user-named models. NOT a rank response — no ranking happened, so no scores or rationale. Just probe evidence plus a record of which IDs were resolvable."
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet5 Tools
verifiziertVersion nicht aufgezeichnet5 Tools