FutureSmart AI Demos

Search evidence-backed AI-tool reviews, rankings, use cases, comparisons & toolkits (read-only).

Sollte ich dies verwenden

Qualität und Sicherheit

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

Befunde (3)

  • LOWTool 'tools_in_ranking' description lacks action verbin tools_in_ranking
  • LOWTool 'rankings_for_tool' description lacks action verbin rankings_for_tool
  • LOWTool 'get_use_case' description lacks action verbin get_use_case

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

Kontextkosten

~3,026Tokens (Tool-Definitionen)
~1.3 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (2.36% 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": {
    "catalogue": {
      "url": "https://mcp.aidemos.com/mcp"
    }
  }
}

Remote-Endpunkte

https://mcp.aidemos.com/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (17)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢answer(question, ranking, criterion, scenario)

ANSWER a buyer question in ONE call: which tool is best at a specific capability, with proof. Returns the resolved verdict our testing team's evidence supports — a named winner FOR THE ASKED CRITERION, every tested tool ranked with a comparable score /5, the CONDITIONS each result holds under (e.g. 'clean tables yes; nested headers no'), dissenting observations preserved as openable links, the tie-break reason, and artifact proof URLs. Answers are materialized from the evidence substrate — the same question returns the same answer. Honestly refuses (coverage: not_tested) when we never tested the topic. Start HERE for any 'which tool is best at X' / 'A or B for X' question; use get_evidence for the raw cells behind it.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "question": {
      "type": "string",
      "description": "The buyer question in natural language, e.g. 'Which document extraction tool best preserves table structure from scanned PDFs?'. Alternative: pass ranking + criterion explicitly."
    },
    "ranking": {
      "type": "string",
      "description": "Ranking slug (skips routing)."
    },
    "criterion": {
      "type": "string",
      "description": "Criterion slug or exact name (with `ranking`)."
    },
    "scenario": {
      "type": "string",
      "description": "Optional scenario/condition of interest."
    }
  },
  "additionalProperties": false
}
🟢list_use_cases(limit, offset)

List published use-case pages (how-to guides): id, title, slug, url, persona, category, updated_at.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500,
      "description": "Max items to return. Omit for all."
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "description": "Items to skip (paging)."
    }
  },
  "additionalProperties": false
}
🟢list_rankings(limit, offset)

List published ranking pages ("best X"): id, title, slug, url, use_case, persona, category, tools_count, winner, tested_as_of, updated_at.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500,
      "description": "Max items to return. Omit for all."
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "description": "Items to skip (paging)."
    }
  },
  "additionalProperties": false
}
🟢list_tools(limit, offset)

List published AI tool pages: id, name, slug, url, domain, personas[], categories[].

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500,
      "description": "Max items to return. Omit for all."
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "description": "Items to skip (paging)."
    }
  },
  "additionalProperties": false
}
🟢list_compares(limit, offset)

List published head-to-head comparison pages: id, title, slug, url, tool_a, tool_b, personas[], shared_use_cases[], updated_at.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500,
      "description": "Max items to return. Omit for all."
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "description": "Items to skip (paging)."
    }
  },
  "additionalProperties": false
}
🟢list_toolkits(limit, offset)

List published toolkit pages (curated bundles): id, title, slug, url, category.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500,
      "description": "Max items to return. Omit for all."
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "description": "Items to skip (paging)."
    }
  },
  "additionalProperties": false
}
🟢list_personas

List personas with published-page counts per type {use_cases, rankings, tools, compares, toolkits}. The slugs are valid input for get_persona.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢list_categories

List the category vocabulary in use with per-type counts and a source flag ("collection"|"derived"), sorted by total.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢search(query, mode, type, persona, category, ...)

Search the published catalogue across use cases, rankings, tools, comparisons, and toolkits. Returns ranked light refs [{ kind, id, title, slug, url, snippet, score, meta }] — then call get_tool / get_ranking / get_use_case for full detail. `mode`: keyword (substring), semantic (meaning, via embeddings — finds pages by what they cover), or hybrid (default, fuses both). Optional filters: type[], persona, category.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "description": "Free-text search query."
    },
    "mode": {
      "type": "string",
      "enum": [
        "keyword",
        "semantic",
        "hybrid"
      ],
      "description": "Search mode."
    },
    "type": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "use_case",
          "ranking",
          "tool",
          "compare",
          "toolkit"
        ]
      },
      "description": "Restrict to these kinds (default: all)."
    },
    "persona": {
      "type": "string",
      "description": "Restrict to items tagged with this persona slug."
    },
    "category": {
      "type": "string",
      "description": "Restrict to this category (case-insensitive)."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "description": "Max results (default 20)."
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}
⚪tools_in_ranking(ranking_id)

Given a ranking id, return the ranking {id,title,slug} and its ranked tools [{id,name,slug,url,rank,badge}] (badge: Best/Usable/Needs work/Unstable/Failed).

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "ranking_id": {
      "type": [
        "string",
        "integer"
      ],
      "description": "Ranking id (from list_rankings)."
    }
  },
  "required": [
    "ranking_id"
  ],
  "additionalProperties": false
}
⚪rankings_for_tool(tool_id)

Given a tool id, return the tool {id,name,slug} and every ranking it appears in [{id,title,slug,url,use_case,rank,badge}].

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "tool_id": {
      "type": [
        "string",
        "integer"
      ],
      "description": "Tool id (from list_tools)."
    }
  },
  "required": [
    "tool_id"
  ],
  "additionalProperties": false
}
🟢get_persona(slug)

Given a persona slug (from list_personas), return everything tagged with it: persona, use_cases[], rankings[], compares[], toolkits[], tools[]. Mirrors a persona landing page.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "minLength": 1,
      "description": "Persona slug, e.g. \"students\"."
    }
  },
  "required": [
    "slug"
  ],
  "additionalProperties": false
}
🟢get_tool(slug, fields, proof)

Full tool detail as a JSON+Markdown envelope: identity, pricing, per-feature scores, fit, FAQ, relationships (JSON) + our_take / in-depth review (Markdown). Includes `proof`: real artifact URLs (input/output screenshots, recordings) from the runs that tested it, each with the /evidence permalink for the finding it proves — you can cite evidence from THIS call. null if unknown. Pass `fields` to project to only the keys you need (token-efficient).

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "minLength": 1,
      "description": "Tool seo_slug, e.g. \"affinda\" (from list_tools)."
    },
    "fields": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "id",
          "name",
          "slug",
          "url",
          "heading",
          "website",
          "domain",
          "category",
          "sub_category",
          "content_type",
          "personas",
          "tags",
          "rating",
          "testing_history",
          "features",
          "pricing",
          "fit",
          "use_case_track_record",
          "related_pages",
          "related_reads",
          "similar_tools",
          "faq",
          "demo_video",
          "our_take",
          "in_depth_review_md",
          "proof"
        ]
      },
      "description": "Optional projection: return ONLY these top-level fields (identity id/name/title/slug/url is always included) to control response size. Available: id, name, slug, url, heading, website, domain, category, sub_category, content_type, personas, tags, rating, testing_history, features, pricing, fit, use_case_track_record, related_pages, related_reads, similar_tools, faq, demo_video, our_take, in_depth_review_md, proof."
    },
    "proof": {
      "type": "string",
      "enum": [
        "sample",
        "full",
        "none"
      ],
      "description": "How many proof artifacts to inline. \"sample\" (default) = up to 6 per tool, spread across distinct criteria so you see breadth; \"full\" = every artifact; \"none\" = counts only, no URLs. Counts (artifact_count / finding_count) are the TRUE totals in every mode, so you can always tell what you did not receive."
    }
  },
  "required": [
    "slug"
  ],
  "additionalProperties": false
}
🟢get_ranking(slug, fields, proof)

Full ranking detail as a JSON+Markdown envelope: ranked tools (rank/badge/scores), criteria, winner, breakdown (JSON) + verdicts / final take (Markdown). Every ranked tool carries `proof`: real artifact URLs from the exact evidence run this page is bound to, each with the /evidence permalink for the finding it proves — verdict and proof arrive together, no second call needed to cite evidence. `proof.artifact_count` is the true total and `proof.all_findings` is the get_evidence call that returns all of it. null if unknown. Pass `fields` to project to only the keys you need (token-efficient).

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "minLength": 1,
      "description": "Ranking slug, e.g. \"resume-parsing-api\" (from list_rankings)."
    },
    "fields": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "id",
          "title",
          "slug",
          "url",
          "abstract",
          "read_time",
          "tested_date",
          "category",
          "use_case",
          "personas",
          "tags",
          "winner",
          "methodology",
          "tools",
          "breakdown",
          "final_take",
          "evidence_run"
        ]
      },
      "description": "Optional projection: return ONLY these top-level fields (identity id/name/title/slug/url is always included) to control response size. Available: id, title, slug, url, abstract, read_time, tested_date, category, use_case, personas, tags, winner, methodology, tools, breakdown, final_take, evidence_run."
    },
    "proof": {
      "type": "string",
      "enum": [
        "sample",
        "full",
        "none"
      ],
      "description": "How many proof artifacts to inline. \"sample\" (default) = up to 6 per tool, spread across distinct criteria so you see breadth; \"full\" = every artifact; \"none\" = counts only, no URLs. Counts (artifact_count / finding_count) are the TRUE totals in every mode, so you can always tell what you did not receive."
    }
  },
  "required": [
    "slug"
  ],
  "additionalProperties": false
}
🟢get_use_case(slug, fields)

Full use-case detail as a JSON+Markdown envelope: step guide, pros/cons, FAQ, tools used (JSON) + the full narrative guide (Markdown, full_md). null if unknown. Pass `fields` to project to only the keys you need (token-efficient).

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "minLength": 1,
      "description": "Use-case slug (from list_use_cases)."
    },
    "fields": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "id",
          "title",
          "slug",
          "url",
          "abstract",
          "read_time",
          "category",
          "audience",
          "personas",
          "tags",
          "tools_used",
          "step_guide",
          "what_to_expect",
          "faq",
          "full_md"
        ]
      },
      "description": "Optional projection: return ONLY these top-level fields (identity id/name/title/slug/url is always included) to control response size. Available: id, title, slug, url, abstract, read_time, category, audience, personas, tags, tools_used, step_guide, what_to_expect, faq, full_md."
    }
  },
  "required": [
    "slug"
  ],
  "additionalProperties": false
}
🟢get_evidence(tool, tools, ranking, scenario, criterion, ...)

Query the evidence graph: observation cells (tool × test-scenario × criterion) → verdict, score, the researcher's note, and the REAL artifacts (input/output screenshots) that prove it. The ground truth behind every ranking — filter any combination of tool(s), scenario (slug, group tag, or name), criterion, verdict, or evidence state. evidence_state: "verified" = artifact-backed, "observed" = noted without artifact, "scored-only" = number only.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "tool": {
      "type": "string",
      "description": "Tool slug or name, e.g. \"landing-ai\"."
    },
    "tools": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Several tools at once."
    },
    "ranking": {
      "type": "string",
      "description": "Ranking page slug — scope cells to the evidence run that published ranking is bound to (exactly what the page renders)."
    },
    "scenario": {
      "type": "string",
      "description": "Scenario slug, cross-run group tag (e.g. \"scanned-research-paper\"), or name fragment."
    },
    "criterion": {
      "type": "string",
      "description": "Criterion slug or name, e.g. \"table extraction\"."
    },
    "verdict": {
      "type": "string",
      "enum": [
        "worked",
        "mixed",
        "struggled",
        "failed"
      ]
    },
    "evidence": {
      "type": "string",
      "enum": [
        "verified",
        "observed",
        "scored-only"
      ]
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200,
      "description": "Max cells (default 50)."
    }
  },
  "additionalProperties": false
}
⚪compare_tools(tool_a, tool_b, criterion)

Evidence-aligned comparison of two tools, honesty enforced structurally: head_to_head (cells from the SAME test input — provable same-input comparison), related_not_same_input (same dimension, different runs — flagged), and each tool's unique evidence. Built from real observation cells with artifacts, not prose.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "tool_a": {
      "type": "string",
      "description": "First tool slug, e.g. \"llamaparse\"."
    },
    "tool_b": {
      "type": "string",
      "description": "Second tool slug, e.g. \"landing-ai\"."
    },
    "criterion": {
      "type": "string",
      "description": "Optional: restrict to one criterion."
    }
  },
  "required": [
    "tool_a",
    "tool_b"
  ],
  "additionalProperties": false
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet17 Tools
verifiziertVersion nicht aufgezeichnet17 Tools