protogrid

Search / io.github.nickbasharin/aifra

AIfra — temporary static previews

R0· no sign-in

48-hour HTTPS previews of prebuilt static sites and HTML slides. No server builds or backends.

v0.2.0-beta.3 · active · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality77good
Trust77of 100
Uptime, 30 days100%
Latency p501671 ms

Connect

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

Quality 77 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
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 hygiene93 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations6 of 6 tools declare readOnlyHint or destructiveHint
  • warn
    tools.directory_hints3 of 6 tools declare all four hints; missing: get_preview_status (destructiveHint, idempotentHint); get_operation_status (destructiveHint, idempotentHint); get_deploy_instructions (destructiveHint, idempotentHint)
  • pass
    tools.token_costabout 1,819 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability25 · weight 15
  • warn
    stability.changes9 tool changes in 30 days
  • fail
    stability.rug_pull1 tools kept their name but changed most of their description in 30 days; review before trusting them
dependencies100 · weight 15
  • pass
    deps.known_vulnsno known advisory in 1 resolved packages
  • n/a
    deps.mcp_sdk_versionthe official MCP SDK is not in the dependency graph
  • pass
    deps.resolvable[email protected] resolved: 1 packages

6 tools, about 1,819 tokens to load them all · tool set 41b9a9e48828 · tools last changed 2026-10-12 · checked 2026-10-20 13:49 UTC

Tool changes

  • get_preview_statuschangeddescription, input schema, output schemameaning changed
    before

    Read public status, URL and original expiry of an existing preview.

    after · 42% of words in common

    Read current public status, URL and server-enforced expiry of an existing preview. Only the service owner can manually extend expiry; updates never extend it.

  • get_operation_statuschangedinput schema, output schema
  • delete_previewchangedinput schema, output schema
  • update_previewchangedinput schema, output schema
  • create_previewchangedinput schema, output schema
  • get_deploy_instructionschangedoutput schema
  • delete_previewchangedinput schema
  • update_previewchangeddescription, input schema
    before

    Prepare replacement of an existing temporary static preview. Supply exactly one of small files, ZIP archive_base64, or an allowed provider ZIP file reference. No backend/build. Requires explicit consent; returns an approval link, not a published URL. User must confirm in their browser. Requires the browser holding the existing management key; expiry is unchanged.

    after · 92% of words in common

    Prepare replacement of an existing temporary static preview. Supply exactly one of small files or ZIP archive_base64. No backend/build. Requires explicit consent; returns an approval link, not a published URL. User must confirm in their browser. Requires the browser holding the existing management key; expiry is unchanged.

  • create_previewchangeddescription, input schema
    before

    Prepare a new temporary static preview. Supply exactly one of small files, ZIP archive_base64, or an allowed provider ZIP file reference. No backend/build. Requires explicit consent; returns an approval link, not a published URL. User must confirm in their browser.

    after · 90% of words in common

    Prepare a new temporary static preview. Supply exactly one of small files or ZIP archive_base64. No backend/build. Requires explicit consent; returns an approval link, not a published URL. User must confirm in their browser.

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 77 / 100

no-repository
provenance45
liveness100
freshness85
hygiene80

+website +reachable +uptime-100% ~updated-31d-ago -no-repository

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

Dependencies

[email protected] npm0 dependencies, resolved · advisories checked 2026-10-19

No known advisory affects this dependency graph.

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://api.aifra.ru/mcp streamable-httpnoneyes100%1671 ms2025-11-252026-10-20
packageregistryversionruntimesecrets
aifranpm0.2.0-beta.2–

Tools (6)

create_previewPrepare a new temporary static preview. Supply exactly one of small files or ZIP archive_base64. No backend/build. Requires explicit consent; returns an approval link, not a published URL. User must confirm in their browser.
delete_previewdestructivePrepare deletion of an existing preview. Does not delete until its owner confirms in the browser holding the management key.
get_deploy_instructionsread-onlyExplain remote browser-confirmed AIfra publication of ready static files, limits and current terms.
get_operation_statusread-onlyRead whether a prepared operation is pending, complete, failed or uncertain. Returns no file content or management key. Never assume pending means published.
get_preview_statusread-onlyRead current public status, URL and server-enforced expiry of an existing preview. Only the service owner can manually extend expiry; updates never extend it.
update_previewdestructivePrepare replacement of an existing temporary static preview. Supply exactly one of small files or ZIP archive_base64. No backend/build. Requires explicit consent; returns an approval link, not a published URL. User must confirm in their browser. Requires the browser holding the existing management key; expiry is unchanged.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "io.github.nickbasharin/aifra",
  "title": "AIfra — temporary static previews",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://api.aifra.ru/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "0.2.0-beta.3",
  "packages": [
    {
      "version": "0.2.0-beta.2",
      "transport": {
        "type": "stdio"
      },
      "identifier": "aifra",
      "registryType": "npm",
      "packageArguments": [
        {
          "type": "positional",
          "value": "mcp"
        }
      ],
      "environmentVariables": [
        {
          "name": "AI_DEPLOY_API_ORIGIN",
          "format": "string",
          "isRequired": true,
          "description": "Explicit HTTPS API origin"
        },
        {
          "name": "AIFRA_PROJECT_ROOT",
          "format": "string",
          "isRequired": true,
          "description": "Absolute trusted local project directory; only prebuilt relative subdirectories may be uploaded"
        }
      ]
    }
  ],
  "websiteUrl": "https://aifra.ru/docs/mcp/",
  "description": "48-hour HTTPS previews of prebuilt static sites and HTML slides. No server builds or backends."
}