protogrid

Search / com.stewai/stewai

StewAI

not classified

Discover, run, inspect, build, test, and privately reuse AI workflows.

v1.1.0 · active · website · descriptor JSON · versions

Not classified yet.The remote endpoints have not been probed successfully, or the listing has nothing to connect to.
Quality78good
Trust61of 100
Uptime, 30 days94%
Latency p50532 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "stewai": {
      "type": "http",
      "url": "https://api.stewai.com/mcp"
    }
  }
}
claude mcp add --transport http stewai https://api.stewai.com/mcp
[mcp_servers.stewai]
url = "https://api.stewai.com/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "stewai": {
      "type": "remote",
      "url": "https://api.stewai.com/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "stewai": {
      "type": "http",
      "url": "https://api.stewai.com/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=stewai&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYXBpLnN0ZXdhaS5jb20vbWNwIn0%3D"
}
{
  "servers": {
    "stewai": {
      "type": "http",
      "url": "https://api.stewai.com/mcp"
    }
  }
}
{
  "mcpServers": {
    "stewai": {
      "httpUrl": "https://api.stewai.com/mcp"
    }
  }
}
extensions:
  "stewai":
    enabled: true
    name: "stewai"
    type: streamable_http
    uri: "https://api.stewai.com/mcp"
    timeout: 300

Quality 78 / 100good

protocol100 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • pass
    protocol.list_ttltool list is cacheable (ttlMs 60000)
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene86 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • warn
    tools.description_length2 tools have descriptions over 1,024 characters, which crowds the context
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations14 of 14 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • warn
    tools.token_costabout 8,018 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability25 · weight 15
  • warn
    stability.changes12 tool changes in 30 days
  • fail
    stability.rug_pull2 tools kept their name but changed most of their description in 30 days; review before trusting them
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

14 tools, about 8,018 tokens to load them all · tool set e9245dbe5671 · tools last changed 2026-10-14 · checked 2026-10-19 10:52 UTC

Tool changes

  • get_runchangedoutput schema
  • get_resultschangeddescription, output schema
    before

    After a finished run, read view=steps with detail=full first and follow next_cursor; every step the user paid for is part of the result. Declared outputs are the pinned summary, not the whole result. Read declared outputs or a sanitized per-step trace from an owned run, including signed chunks for oversized steps. view=steps returns compact summaries, 10 per page by default and at most 20 (limit 1-20); follow next_cursor until it is null, pass detail=full for whole steps, or use view=step with step_id for one full step. Open recipes expose all authorized steps; closed recipes expose only input and output steps. Sensitive values stay redacted. Step reads are provisional until get_run reports a finished status. If outputs is empty, read view=steps; for a failed run, read the failed step and let the user decide. Present completed outputs as polished Markdown or text: lead with the useful outcome, add At a glance, supported strengths, impact-ordered findings, and concrete next steps; end with evidence, uncertainty, limitations, charged credits, and run ID. Render JSON as readable tables or bullets and HTML as content, not markup. Cross-check material claims against supplied source and cited evidence; describe unsupported or high-stakes conclusions as findings to verify. Say blocking only when the recipe explicitly classifies the item that way and evidence supports it. Keep diagnostics, safety ceilings, and platform plumbing out of the main answer; billing receipt issues stay quiet and never suppress ready results.

    after · 96% of words in common

    After a finished run, read view=steps with detail=full first and follow next_cursor; every step the user paid for is part of the result. Declared outputs are the pinned summary, not the whole result. Read declared outputs or a sanitized per-step trace from an owned run, including signed chunks for oversized steps. view=steps returns compact summaries, 10 per page by default and at most 20 (limit 1-20); follow next_cursor until it is null, pass detail=full for whole steps, or use view=step with step_id for one full step. Open recipes expose all authorized steps; closed recipes expose only input and output steps. Sensitive values stay redacted. Step reads are provisional until get_run reports a finished status. If outputs is empty, read view=steps; for a failed run, read the failed step and let the user decide. Present completed outputs as polished Markdown or text: lead with the useful outcome, add At a glance, supported strengths, impact-ordered findings, and concrete next steps; end with evidence, uncertainty, limitations, charged credits, and a clickable run link using run_url with the run ID as its label. Render JSON as readable tables or bullets and HTML as content, not markup. Cross-check material claims against supplied source and cited evidence; describe unsupported or high-stakes conclusions as findings to verify. Say blocking only when the recipe explicitly classifies the item that way and evidence supports it. Keep diagnostics, safety ceilings, and platform plumbing out of the main answer; billing receipt issues stay quiet and never suppress ready results.

  • get_resultschangeddescription
    before

    Read declared outputs or a sanitized per-step trace from an owned run, including signed chunks for oversized steps. view=steps returns compact summaries, 10 per page by default and at most 20 (limit 1-20); follow next_cursor until it is null, pass detail=full for whole steps, or use view=step with step_id for one full step. Open recipes expose all authorized steps; closed recipes expose only input and output steps. Sensitive values stay redacted. Step reads are provisional until get_run reports a finished status. If outputs is empty, read view=steps; for a failed run, read the failed step and let the user decide. Present completed outputs as polished Markdown or text: lead with the useful outcome, add At a glance, supported strengths, impact-ordered findings, and concrete next steps; end with evidence, uncertainty, limitations, charged credits, and run ID. Render JSON as readable tables or bullets and HTML as content, not markup. Cross-check material claims against supplied source and cited evidence; describe unsupported or high-stakes conclusions as findings to verify. Say blocking only when the recipe explicitly classifies the item that way and evidence supports it. Keep diagnostics, safety ceilings, and platform plumbing out of the main answer; billing receipt issues stay quiet and never suppress ready results.

    after · 95% of words in common

    After a finished run, read view=steps with detail=full first and follow next_cursor; every step the user paid for is part of the result. Declared outputs are the pinned summary, not the whole result. Read declared outputs or a sanitized per-step trace from an owned run, including signed chunks for oversized steps. view=steps returns compact summaries, 10 per page by default and at most 20 (limit 1-20); follow next_cursor until it is null, pass detail=full for whole steps, or use view=step with step_id for one full step. Open recipes expose all authorized steps; closed recipes expose only input and output steps. Sensitive values stay redacted. Step reads are provisional until get_run reports a finished status. If outputs is empty, read view=steps; for a failed run, read the failed step and let the user decide. Present completed outputs as polished Markdown or text: lead with the useful outcome, add At a glance, supported strengths, impact-ordered findings, and concrete next steps; end with evidence, uncertainty, limitations, charged credits, and run ID. Render JSON as readable tables or bullets and HTML as content, not markup. Cross-check material claims against supplied source and cited evidence; describe unsupported or high-stakes conclusions as findings to verify. Say blocking only when the recipe explicitly classifies the item that way and evidence supports it. Keep diagnostics, safety ceilings, and platform plumbing out of the main answer; billing receipt issues stay quiet and never suppress ready results.

  • run_recipechangeddescription, output schema
    before

    Estimate or run a previewed public or account-authorized published recipe. dry_run foregrounds history (recent charges or median and p90), fees, balance, and can_start. safety_ceiling_credits is a pathological bound, not a quote or admission threshold; estimated_credits and sufficient are deprecated compatibility aliases. can_start=true permits the approved real run even when the ceiling exceeds the wallet. can_start=false is reserved for a genuine admission blocker such as an unaffordable Marketplace fee. If credits run out during a run, it pauses and can be resumed after adding credits. On recipe_ref_expired, search or preview again and retry.

    after · 86% of words in common

    Estimate or run a previewed public or account-authorized published recipe. dry_run foregrounds history (recent charges or median and p90), fees, balance, and can_start. safety_ceiling_credits is a pathological bound when available, not a quote or admission threshold; a null ceiling means provider search has no request-side query limit and does not block a run. estimated_credits and sufficient are deprecated compatibility aliases. can_start=true permits the approved real run even when the ceiling exceeds the wallet. can_start=false is reserved for a genuine admission blocker such as an unaffordable Marketplace fee. If credits run out during a run, it pauses and can be resumed after adding credits. On recipe_ref_expired, search or preview again and retry.

  • run_recipechangeddescription, output schemameaning changed
    before

    Estimate or run a previewed public or account-authorized published recipe. dry_run returns history (credits charged by past runs of this recipe), fees, your balance, and estimated_credits, a theoretical worst case. sufficient=false is informational and never prevents a real run; only an actual Marketplace fee must fit before execution starts. If credits run out during a run, it pauses and can be resumed after adding credits. On recipe_ref_expired, search or preview again and retry.

    after · 43% of words in common

    Estimate or run a previewed public or account-authorized published recipe. dry_run foregrounds history (recent charges or median and p90), fees, balance, and can_start. safety_ceiling_credits is a pathological bound, not a quote or admission threshold; estimated_credits and sufficient are deprecated compatibility aliases. can_start=true permits the approved real run even when the ceiling exceeds the wallet. can_start=false is reserved for a genuine admission blocker such as an unaffordable Marketplace fee. If credits run out during a run, it pauses and can be resumed after adding credits. On recipe_ref_expired, search or preview again and retry.

  • get_resultschangeddescription
    before

    Read declared outputs or a sanitized per-step trace from an owned run, including signed chunks for oversized steps. view=steps returns compact summaries, 10 per page by default and at most 20 (limit 1-20); follow next_cursor until it is null, pass detail=full for whole steps, or use view=step with step_id for one full step. Open recipes expose all authorized steps; closed recipes expose only input and output steps. Sensitive values stay redacted. Step reads are provisional until get_run reports a finished status. If outputs is empty, read view=steps; for a failed run, read the failed step and let the user decide.

    after · 50% of words in common

    Read declared outputs or a sanitized per-step trace from an owned run, including signed chunks for oversized steps. view=steps returns compact summaries, 10 per page by default and at most 20 (limit 1-20); follow next_cursor until it is null, pass detail=full for whole steps, or use view=step with step_id for one full step. Open recipes expose all authorized steps; closed recipes expose only input and output steps. Sensitive values stay redacted. Step reads are provisional until get_run reports a finished status. If outputs is empty, read view=steps; for a failed run, read the failed step and let the user decide. Present completed outputs as polished Markdown or text: lead with the useful outcome, add At a glance, supported strengths, impact-ordered findings, and concrete next steps; end with evidence, uncertainty, limitations, charged credits, and run ID. Render JSON as readable tables or bullets and HTML as content, not markup. Cross-check material claims against supplied source and cited evidence; describe unsupported or high-stakes conclusions as findings to verify. Say blocking only when the recipe explicitly classifies the item that way and evidence supports it. Keep diagnostics, safety ceilings, and platform plumbing out of the main answer; billing receipt issues stay quiet and never suppress ready results.

  • get_recipe_buildchangedoutput schema
  • discover_stewaichangedoutput schema
  • commit_recipe_buildchangeddescriptionmeaning changed
    before

    Preflight and privately publish only the exact fully qualified recipe revision.

    after · 21% of words in common

    Preflight and privately publish only the exact fully qualified recipe revision. A successful commit returns a private editor URL and, when current run access permits it, a recipe_ref. Preview that reference before any dry run: authoring contract handles and node IDs are not the positional input_N run handles. The recipe stays private, unlisted, and unreviewed; commit never lists, prices, or publishes it in the public marketplace.

  • run_recipechangeddescription, output schema
    before

    Estimate or run a previewed public or account-authorized published recipe. dry_run returns history (credits charged by past runs of this recipe), fees, your balance, and estimated_credits, a theoretical worst case. If credits run out during a run, it pauses and can be resumed after adding credits. On recipe_ref_expired, search or preview again and retry.

    after · 73% of words in common

    Estimate or run a previewed public or account-authorized published recipe. dry_run returns history (credits charged by past runs of this recipe), fees, your balance, and estimated_credits, a theoretical worst case. sufficient=false is informational and never prevents a real run; only an actual Marketplace fee must fit before execution starts. If credits run out during a run, it pauses and can be resumed after adding credits. On recipe_ref_expired, search or preview again and retry.

Showing the latest 10. Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 61 / 100

no-repository
provenance55
liveness28
freshness100
hygiene80

+dns-namespace +website -unreachable(1 failures) +updated-28d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://api.stewai.com/mcp streamable-httpnoneno (1 failures)94%532 ms2026-07-28, 2025-11-25, 2025-06-182026-10-18

Tools (14)

check_recipe_buildread-onlyRun free deterministic lint, render, policy, and compiler checks. Omit fixtures for the normal structural check; a supplied fixture probe must also provide every referenced upstream dependency value.
commit_recipe_builddestructivePreflight and privately publish only the exact fully qualified recipe revision. A successful commit returns a private editor URL and, when current run access permits it, a recipe_ref. Preview that reference before any dry run: authoring contract handles and node IDs are not the positional input_N run handles. The recipe stays private, unlisted, and unreviewed; commit never lists, prices, or publishes it in the public marketplace.
discover_stewairead-onlyLearn how any MCP agent can authenticate, discover, preview, run, author, qualify, commit, inspect, and recover StewAI recipes. Call this first.
get_recipe_buildread-onlyList or inspect only the authenticated creator's private recipe builds. To list builds omit both build_ref and view; limit/cursor paginate that list. With or without build_ref, use view='authoring_schema' and schema_name='update_recipe_build', 'acceptance_suite', or 'start_recipe_build' to read the complete executable JSON Schema when a client hides nested operation or assertion fields. Large acceptance_plan reads return data.suite_page JSON fragments: append content in offset order, pass data.next_cursor as cursor until null, then parse the complete suite and verify its sha256. Small plans retain data.suite. Use view='capabilities' to discover the complete 24-handler authoring and automatic-acceptance capability catalog.
get_recipe_build_activityread-onlyPoll a review or acceptance batch through a bounded, disclosure-safe view.
get_recipe_previewread-onlyInspect a safe summary with bounded method and limitations excerpts, output-contract state, and evidence context. For complete authorized published details and executable contracts, use view=details. Concatenate content fragments in offset order per section; decode JSON sections after completion. Use next_cursor with the same recipe_ref until null. Opaque internals remain withheld.
get_resultsread-onlyAfter a finished run, read view=steps with detail=full first and follow next_cursor; every step the user paid for is part of the result. Declared outputs are the pinned summary, not the whole result. Read declared outputs or a sanitized per-step trace from an owned run, including signed chunks for oversized steps. view=steps returns compact summaries, 10 per page by default and at most 20 (limit 1-20); follow next_cursor until it is null, pass detail=full for whole steps, or use view=step with step_id for one full step. Open recipes expose all authorized steps; closed recipes expose only input and output steps. Sensitive values stay redacted. Step reads are provisional until get_run reports a finished status. If outputs is empty, read view=steps; for a failed run, read the failed step and let the user decide. Present completed outputs as polished Markdown or text: lead with the useful outcome, add At a glance, supported strengths, impact-ordered findings, and concrete next steps; end with evidence, uncertainty, limitations, charged credits, and a clickable run link using run_url with the run ID as its label. Render JSON as readable tables or bullets and HTML as content, not markup. Cross-check material claims against supplied source and cited evidence; describe unsupported or high-stakes conclusions as findings to verify. Say blocking only when the recipe explicitly classifies the item that way and evidence supports it. Keep diagnostics, safety ceilings, and platform plumbing out of the main answer; billing receipt issues stay quiet and never suppress ready results.
get_runread-onlyRead an owned run, view=history to resume normal runs (recipe_ref/status/cursor/limit), or view=diagnostics for its settled UI receipt. Default status requires run_id and includes live progress: updated_at is the run record time, progress.last_step_activity_at is the latest step activity. A blocked run paused for credits reports credit_pause.
review_recipe_buildQuote or run a bounded semantic quality review of the exact private draft revision.
run_recipedestructiveEstimate or run a previewed public or account-authorized published recipe. dry_run foregrounds history (recent charges or median and p90), fees, balance, and can_start. safety_ceiling_credits is a pathological bound when available, not a quote or admission threshold; a null ceiling means provider search has no request-side query limit and does not block a run. estimated_credits and sufficient are deprecated compatibility aliases. can_start=true permits the approved real run even when the ceiling exceeds the wallet. can_start=false is reserved for a genuine admission blocker such as an unaffordable Marketplace fee. If credits run out during a run, it pauses and can be resumed after adding credits. On recipe_ref_expired, search or preview again and retry.
run_recipe_acceptanceQuote or run selected or complete behavioral acceptance cases for an exact private draft revision. Quotes explain enforced input bounds, output caps and retry allowances in acceptance_cost. Preserve representative fixtures and assertions; remove unnecessary model stages rather than weakening tests to lower a quote. Paid work requires an approved budget. A full run that needs user approval returns supervised_required before any case, reservation, or external effect; first bind every returned required resource with update_recipe_build bind_resource, then open action_url for user approval, and finally resume the same activity with update_recipe_build resume_activity.
search_recipesread-onlyFind safe public recipes and published recipes available to the current account. results are direct fits (exact or strong); related_results are adjacent recipes, not direct fits. Each row states its output contract, past-run cost history and, for reviewed public recipes, that safety review is not output-quality validation. required_inputs and required_outputs match exact handles or normalized labels, never meanings. When paging.has_more is true, repeat the identical call with cursor=next_cursor.
start_recipe_buildCreate a private recipe build from a bounded intent and declared contract. Recipe inputs are strings: use type:string, positive maxLength, and only minLength:1 on required inputs. Richer input constraints must be handled in recipe logic and tested, not claimed as enforced by the input node. The response returns the stored contracts when they fit the bounded result; the archetype bundle is optional guidance, not the build contract. Optionally provide source_recipe_ref to adapt an owned recipe or a fully viewable public-open recipe into a new private draft.
update_recipe_builddestructiveApply bounded optimistic changes to an owned private recipe build. After an uncertain response, inspect the build and replay the identical request with the same idempotency key; a new key duplicates the work. Use only the exact op names and payload keys in inputSchema: set_metadata takes metadata, upsert_schema takes schema_id and schema, and acceptance uses set_acceptance_cases with suite. Never invent set_schema or set_acceptance_suite. If an op appears unknown, read get_recipe_build view='authoring_schema', schema_name='update_recipe_build'; read schema_name='acceptance_suite' for the complete suite shape and every assertion operator with its required, allowed and forbidden fields. Do not guess them. Use set_contracts to replace the declared executable input and output contracts; this changes the revision and invalidates qualification. For a supervised acceptance handoff, use bind_resource only to approve an exact selector already frozen in the draft, then resume_activity or cancel_activity with the returned opaque handoff and activity references. Each handoff control operation must be the only op in its request. An acceptance suite is {version:1,cases:[{case_id,label,kind,fixtures,assertions}]}. Each fixture is {target,content_type,value}. A minimal assertion is {assertion_id:'result_exists',type:'scalar',operator:'exists',path:'/result'}. JSON Pointer paths start with '/'. A metamorphic case also requires pair_with naming another case. Use a paired assertion such as {assertion_id:'stable',type:'paired',operator:'fields_unchanged',path:'',pair_case_id:'base',fields:['/summary']}; pair_case_id is not valid on a scalar assertion. Client transport recommendation, not a server limit: keep serialized tool arguments below 32 KiB including JSON escaping and the request envelope. For larger spec, suite, or research content use begin_chunk, ordered append_chunk (seq starts at 0), then commit_chunk. Keep each complete append request below 12 KiB; split text further after measuring escaped JSON bytes. Hash the exact assembled UTF-8 text with SHA-256. Begin/append do not change the revision; commit changes it once. After an uncertain response, inspect the build and replay the identical request with the same idempotency key; do not create duplicate work with a new key.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "com.stewai/stewai",
  "icons": [
    {
      "src": "https://stewai.com/brand/20260914-v2/stewai-plugin-icon-512.png",
      "sizes": [
        "512x512"
      ],
      "mimeType": "image/png"
    }
  ],
  "title": "StewAI",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://api.stewai.com/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.1.0",
  "websiteUrl": "https://stewai.com",
  "description": "Discover, run, inspect, build, test, and privately reuse AI workflows."
}