FutureSmart AI Demos
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Search evidence-backed AI-tool reviews, rankings, use cases, comparisons & toolkits (read-only).
| Author | com.aidemos |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 99 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"FutureSmart AI Demos": {
"url": "https://mcp.aidemos.com/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (17)
answerANSWER 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.
Parameters:
ranking— string — Ranking slug (skips routing).question— string — The buyer question in natural language, e.g. 'Which document extraction tool best preserves table structure from scanned PDFs?'. Alternative: pass ranking + criterion explicitly.scenario— string — Optional scenario/condition of interest.criterion— string — Criterion slug or exact name (with `ranking`).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
list_use_casesList published use-case pages (how-to guides): id, title, slug, url, persona, category, updated_at.
Parameters:
limit— integer — Max items to return. Omit for all.offset— integer — Items to skip (paging).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
list_rankingsList published ranking pages ("best X"): id, title, slug, url, use_case, persona, category, tools_count, winner, tested_as_of, updated_at.
Parameters:
limit— integer — Max items to return. Omit for all.offset— integer — Items to skip (paging).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
list_toolsList published AI tool pages: id, name, slug, url, domain, personas[], categories[].
Parameters:
limit— integer — Max items to return. Omit for all.offset— integer — Items to skip (paging).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
list_comparesList published head-to-head comparison pages: id, title, slug, url, tool_a, tool_b, personas[], shared_use_cases[], updated_at.
Parameters:
limit— integer — Max items to return. Omit for all.offset— integer — Items to skip (paging).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
list_toolkitsList published toolkit pages (curated bundles): id, title, slug, url, category.
Parameters:
limit— integer — Max items to return. Omit for all.offset— integer — Items to skip (paging).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
list_personasList personas with published-page counts per type {use_cases, rankings, tools, compares, toolkits}. The slugs are valid input for get_persona.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
list_categoriesList the category vocabulary in use with per-type counts and a source flag ("collection"|"derived"), sorted by total.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
searchSearch 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.
Parameters:
query(required) — string — Free-text search query.mode— string — Search mode.type— array — Restrict to these kinds (default: all).limit— integer — Max results (default 20).persona— string — Restrict to items tagged with this persona slug.category— string — Restrict to this category (case-insensitive).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
tools_in_rankingGiven 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).
Parameters:
ranking_id(required) — ['string', 'integer'] — Ranking id (from list_rankings).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
rankings_for_toolGiven a tool id, return the tool {id,name,slug} and every ranking it appears in [{id,title,slug,url,use_case,rank,badge}].
Parameters:
tool_id(required) — ['string', 'integer'] — Tool id (from list_tools).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_personaGiven a persona slug (from list_personas), return everything tagged with it: persona, use_cases[], rankings[], compares[], toolkits[], tools[]. Mirrors a persona landing page.
Parameters:
slug(required) — string — Persona slug, e.g. "students".
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_toolFull 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).
Parameters:
slug(required) — string — Tool seo_slug, e.g. "affinda" (from list_tools).proof— string — 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.fields— array — 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.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_rankingFull 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).
Parameters:
slug(required) — string — Ranking slug, e.g. "resume-parsing-api" (from list_rankings).proof— string — 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.fields— array — 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.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_use_caseFull 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).
Parameters:
slug(required) — string — Use-case slug (from list_use_cases).fields— array — 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.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_evidenceQuery 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.
Parameters:
tool— string — Tool slug or name, e.g. "landing-ai".limit— integer — Max cells (default 50).tools— array — Several tools at once.ranking— string — Ranking page slug — scope cells to the evidence run that published ranking is bound to (exactly what the page renders).verdict— stringevidence— stringscenario— string — Scenario slug, cross-run group tag (e.g. "scanned-research-paper"), or name fragment.criterion— string — Criterion slug or name, e.g. "table extraction".
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
compare_toolsEvidence-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.
Parameters:
tool_a(required) — string — First tool slug, e.g. "llamaparse".tool_b(required) — string — Second tool slug, e.g. "landing-ai".criterion— string — Optional: restrict to one criterion.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.