Is the Ephemer Ephemeral MCP server down?

mcp-registry/al.ephemer/ephemeral · v2026.10.26.65-13cda13

healthy
Last checked 2026-10-27 03:14 UTC · handshake 627ms

As of 2026-10-27 03:14 UTC, the Ephemer Ephemeral MCP server is up with a Glimind reliability score of 88/100 (grade B). Over the last 30 days it answered 100% of Glimind's liveness checks.

uptime (30d checks)
100%
checks observed
245
outages (90d)
0
tools
19

Run AI agent tasks in isolated sandboxes with a cost cap, saved workflows and scoped connections.

Point your MCP client at this streamable-http endpoint: https://app.ephemer.al/mcp

Agent-readiness: A (90/100)

A (90/100): 0 error(s), 2 warning(s) across 19 tool(s); ~4,946 tokens of tool definitions.
Scores higher than 69% of 15,773 MCP servers Glimind has audited.
Its tool list costs an agent ~4,946 tokens per session — more than 60% of servers.
90 → 90 since 2026-10-26
no tool-poisoning patterns
Schemas82
Descriptions86
Safety hints100
Token cost100
Client compatibility70
Protocol100
Reliability100
Stability100

What to fix (3)

3 tool(s) have parameters with no type (no type/enum/anyOf/$ref).

Give every parameter a "type" (or "enum"/"anyOf"). Untyped parameters make models guess — strings for numbers, objects for arrays. How to fix →

Tools: create_run, create_schedule, update_schedule

1 parameter(s) across 1 tool(s) have no description.

Add a "description" to each parameter with its format and an example ("ISO 8601 date, e.g. 2026-10-17"). This is the commonest cause of wrong arguments on the first call. How to fix →

Tools: list_runs

No tool declares an outputSchema.

Declare outputSchema and return structuredContent (MCP 2025-06-18+). Agents can then parse results without guessing, and chain tools reliably. How to fix →

Auto-fix: 3 corrected tool definitions

Paste-ready definitions with the problems above fixed. Changes marked verify need a human look. 1 tool(s) still need parameter descriptions written by someone who knows the API. All of them as JSON: /v1/readiness/mcp-registry%2Fal.ephemer%2Fephemeral/fixes

create_run 1 change
{
  "name": "create_run",
  "description": "Start an AI agent run in an isolated sandbox and return the run (status queued) at once. Give a prompt, or the name of a saved workflow. Poll with get_run or block with wait_for_run for the result. Every run has a cost cap (max_cost_micros) and a timeout, and is billed to the organization of the API key. Connections must already be saved in the organization; reference them by name. Use idempotency_key to make a retry safe. A run's cost_micros is provisional (usually above the final cost) until c",
  "inputSchema": {
    "type": "object",
    "properties": {
      "web": {
        "oneOf": [
          {
            "type": "boolean"
          },
          {
            "type": "object",
            "properties": {
              "allow": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Domains the agent may fetch, such as \"api.github.com\" or \"*.example.com\". Empty allows every public domain."
              },
              "search": {
                "type": "boolean",
                "description": "Whether web search is available (default true)."
              }
            },
            "additionalProperties": false
          }
        ],
        "description": "Web access: true, false, or an object limiting it."
      },
      "files": {
        "type": "array",
        "items": {
          "type": "object",
          "required": [
            "path"
          ],
          "properties": {
            "file": {
              "type": "string",
              "description": "Id of a saved file (instead of content)."
            },
            "path": {
              "type": "string",
              "description": "Where the file appears in the sandbox."
            },
            "content": {
              "type": "string",
              "description": "Inline text content."
            }
          },
          "additionalProperties": false
        },
        "description": "Files placed in the sandbox: inline content, or a file saved in the organization."
      },
      "input": {
        "description": "Any JSON the agent receives as its input. If the workflow has an input_schema, it must match.",
        "type": "string"
      },
      "model": {
        "type": "string",
        "description": "A model id from list_models. Omit for the default."
      },
      "shell": {
        "type": "boolean",
        "description": "Whether the agent may run shell commands in its sandbox."
      },
      "prompt": {
        "type": "string",
        "description": "What the agent should do. Required unless workflow is set."
      },
      "workflow": {
        "type": "string",
        "description": "Name of a saved workflow to run instead of a prompt (see list_workflows)."
      },
      "connections": {
        "type": "object",
        "description": "Saved connections the agent may use, keyed by the name the agent sees. Each refers to a connection saved in the organization and can only narrow it.",
        "additionalProperties": {
          "type": "object",
          "required": [
            "ref"
          ],
          "properties": {
            "ref": {
              "type": "string",
              "description": "Name of the saved connection (see list_connections)."
            },
            "allowed_tools": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Tool names allowed on an MCP connection."
            },
            "allowed_methods": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "HTTP methods allowed, for example [\"GET\"] for read-only access."
            }
          },
          "additionalProperties": false
        }
      },
      "description": {
        "type": "string",
        "maxLength": 500,
        "description": "What the workflow does and what input it expects, in a sentence or two, for people and agents. At most 500 characters."
      },
      "input_schema": {
        "type": "object",
        "description": "A JSON Schema (draft 2020-12 or 7, at most 32 KiB, no references to other documents) that this run's input must match. A run whose input does not match is refused with the path and the reason, such as \"input.city: required\"."
      },
      "output_schema": {
        "type": "object",
        "description": "A JSON Schema (draft 2020-12 or 7, at most 32 KiB, no references to other documents) that this run's output must match. The agent is told the schema and asked to reply with JSON only; the output is then checked, and a run whose output does not match fails with the reason."
      },
      "idempotency_key": {
        "type": "string",
        "description": "A retry with the same key returns the original run instead of starting another."
      },
      "max_cost_micros": {
        "type": "integer",
        "minimum": 1,
        "description": "Cost cap in millionths of a dollar. The run stops at the cap."
      },
      "timeout_seconds": {
        "type": "integer",
        "minimum": 1,
        "description": "Wall-clock limit for the run."
      },
      "zero_data_retention": {
        "type": "boolean",
        "description": "Record nothing of the run's content; the output is kept only briefly and released on first retrieval."
      }
    },
    "additionalProperties": false
  },
  "annotations": {
    "readOnlyHint": false,
    "openWorldHint": true,
    "idempotentHint": false,
    "destructiveHint": false
  },
  "title": "Create a run"
}
create_schedule 1 change
{
  "name": "create_schedule",
  "description": "Start a saved workflow on a timetable. Needs an administrator key. Each start is a run billed to the organization, with the cost cap given here (or the default). Use preview_schedule first to check the timetable. A schedule pauses itself after repeated failed starts. An organization can have 50 schedules.",
  "inputSchema": {
    "type": "object",
    "required": [
      "workflow",
      "cron"
    ],
    "properties": {
      "cron": {
        "type": "string",
        "description": "Five fields (minute hour day-of-month month day-of-week), such as \"0 9 * * 1-5\", or a descriptor such as @daily or @every 15m. At most once a minute."
      },
      "name": {
        "type": "string",
        "maxLength": 128,
        "description": "A label for the schedule."
      },
      "input": {
        "description": "Any JSON the agent receives as its input on every start (maximum 1 MiB).",
        "type": "string"
      },
      "enabled": {
        "type": "boolean",
        "description": "Whether the schedule starts runs (default true)."
      },
      "timezone": {
        "type": "string",
        "description": "IANA time zone name, such as Europe/Madrid (default UTC)."
      },
      "workflow": {
        "type": "string",
        "description": "Name of the saved workflow to run (see list_workflows)."
      },
      "max_cost_micros": {
        "type": "integer",
        "maximum": 100000000,
        "minimum": 1,
        "description": "Cost cap of each run, in millionths of a dollar."
      },
      "skip_if_running": {
        "type": "boolean",
        "description": "Skip a start while the previous run is still going (default true)."
      }
    },
    "additionalProperties": false
  },
  "annotations": {
    "readOnlyHint": false,
    "openWorldHint": false,
    "idempotentHint": false,
    "destructiveHint": false
  },
  "title": "Create a schedule"
}
update_schedule 1 change
{
  "name": "update_schedule",
  "description": "Change a schedule; only the fields you give change. Needs an administrator key. Set enabled to false to pause it and to true to resume it (resuming clears the failures that paused it). A new timetable counts from now.",
  "inputSchema": {
    "type": "object",
    "required": [
      "id"
    ],
    "properties": {
      "id": {
        "type": "string",
        "description": "The schedule's id (sch_…), as returned by create_schedule or list_schedules."
      },
      "cron": {
        "type": "string",
        "description": "Five fields (minute hour day-of-month month day-of-week) or a descriptor such as @daily or @every 15m."
      },
      "name": {
        "type": "string",
        "maxLength": 128,
        "description": "A label for the schedule."
      },
      "input": {
        "description": "Any JSON the agent receives as its input on every start (maximum 1 MiB).",
        "type": "string"
      },
      "enabled": {
        "type": "boolean",
        "description": "false pauses the schedule, true resumes it."
      },
      "timezone": {
        "type": "string",
        "description": "IANA time zone name, such as Europe/Madrid."
      },
      "workflow": {
        "type": "string",
        "description": "Name of the saved workflow to run."
      },
      "max_cost_micros": {
        "type": "integer",
        "maximum": 100000000,
        "minimum": 1,
        "description": "Cost cap of each run, in millionths of a dollar."
      },
      "skip_if_running": {
        "type": "boolean",
        "description": "Skip a start while the previous run is still going."
      }
    },
    "additionalProperties": false
  },
  "annotations": {
    "readOnlyHint": false,
    "openWorldHint": false,
    "idempotentHint": true,
    "destructiveHint": false
  },
  "title": "Update or pause a schedule"
}

Get alerted

Get an email or webhook when this server's readiness drops by 10+ points, tool-poisoning text appears, or a tool breaks:

curl -X POST https://glimind.com/v1/subscriptions -H 'content-type: application/json' -d '{"tools":["mcp-registry/al.ephemer/ephemeral"],"email":"[email protected]"}'

Agents: watch_tool({"toolId": "mcp-registry/al.ephemer/ephemeral"}) over MCP.

Passed

Largest tool definitions

Static checks of the advertised tools/list (schema, descriptions, annotations, tool-poisoning patterns, names, size) plus observed protocol, uptime, latency and contract changes. Read-only: no tool is ever called. Weights: schema 15, docs 20, safety 15, efficiency 15, compatibility 15, protocol 5, reliability 10, stability 5. Token counts are estimates (~3.6 characters per token).

Operator? Fix these, then re-check live. Embed the readiness badge:

Markdown
[![MCP agent-readiness](https://glimind.com/v1/readiness/badge/mcp-registry%2Fal.ephemer%2Fephemeral.svg)](https://glimind.com/server/mcp-registry%2Fal.ephemer%2Fephemeral?ref=badge)
HTML
<a href="https://glimind.com/server/mcp-registry%2Fal.ephemer%2Fephemeral?ref=badge"><img src="https://glimind.com/v1/readiness/badge/mcp-registry%2Fal.ephemer%2Fephemeral.svg" alt="MCP agent-readiness"></a>
reStructuredText
.. image:: https://glimind.com/v1/readiness/badge/mcp-registry%2Fal.ephemer%2Fephemeral.svg
   :target: https://glimind.com/server/mcp-registry%2Fal.ephemer%2Fephemeral?ref=badge
   :alt: MCP agent-readiness

Tool-definition log

Glimind records every version of this server's tool definitions in a signed, append-only transparency log. Current manifest sha256:46374977157240d1…, first seen 2026-10-26, included at leaf 70647 of 77,045. Version history · verify what your client received.

Tools (19)

Compare: most reliable devops servers · most reliable productivity servers · most reliable data servers · most reliable files servers · most reliable ml servers

Know before your agent calls it

Glimind tells agents whether a server is up right now and how to call it, then fails over to a live alternative when it isn't.

Add Glimind — free, no signup:

Add to Cursor Add to VS Code

Claude Code

claude mcp add --transport http glimind https://glimind.com/mcp

Claude Desktop · Windsurf · Cline (mcpServers JSON)

{
  "mcpServers": {
    "glimind": {
      "type": "http",
      "url": "https://glimind.com/mcp"
    }
  }
}

FAQ

Is the Ephemer Ephemeral MCP server down right now?

As of 2026-10-27 03:14 UTC, the Ephemer Ephemeral MCP server is up with a Glimind reliability score of 88/100 (grade B). Over the last 30 days it answered 100% of Glimind's liveness checks.

How many tools does Ephemer Ephemeral MCP server provide?

Ephemer Ephemeral MCP server advertises 19 tools, including cancel_run, create_run, create_schedule, delete_schedule, delete_workflow.

How do I install Ephemer Ephemeral MCP server?

Point your MCP client at this streamable-http endpoint: https://app.ephemer.al/mcp

Is the Ephemer Ephemeral MCP server safe to connect to an AI agent?

Glimind scanned all 19 tool definitions for tool-poisoning patterns — hidden or invisible characters, instructions that override the model, concealment from the user, requests to read credential or MCP config files, conversation exfiltration and cross-tool shadowing — and found none. This checks what the server tells the model, not what its code does; review the source before granting access to sensitive data.

Operator of Ephemer Ephemeral MCP server?

Status page: 90-day uptime, every outage and how long it lasted.

Claim this listing to get the Verified operator marker, a remediation checklist and owner analytics, or embed the live badge from any of the tool pages above. Maintainers: alerts, deploy attestation and monthly reports.

Status is an automated estimate from Glimind's liveness checks (handshake and tool listing only; no tool is ever called) and may lag or differ from your network. Glimind is not affiliated with this server or its operator. Operator? Request a correction or opt out at https://glimind.com/opt-out.

Feedback
Help us improve