Skip to content

Fiskmas

by fiskmas.dev · remote · no sign-in to list tools · v1.0.0 · published by dev.fiskmas

Hosting for AI agents: your AI client deploys Docker apps to live HTTPS URLs over MCP.

Deletes · 2Final · 1Changes · 9

21 tools: 2 can delete or cancel things, 1 do something that can't be undone, 9 change things and 9 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http fiskmas https://mcp.fiskmas.dev/mcp --header 'Authorization: <your-authorization>'

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "get_project" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false}; The name "get_project" says "get": a word for reading.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

21 tools

Deletes or cancels 2Claude Code: deny
  • delete_accountDelete the caller's account.No findings

    Why it is in this group

    • The name "delete_account" says "delete": a word for removing or ending something.
    Description, as the server wrote it
    Delete the caller's account. Stops and removes all projects (containers, routes, MariaDB) first, then deletes the account. Refuses to leave orphaned runtimes.

    Annotations the server declares

    • readOnlyHint: false
  • delete_projectStop and delete a project.No findings

    Why it is in this group

    • The name "delete_project" says "delete": a word for removing or ending something.
    Description, as the server wrote it
    Stop and delete a project. Its slug goes into quarantine for 7 days: you may re-use it immediately, other accounts get a 409 until it is freed.

    Annotations the server declares

    • readOnlyHint: false
Can't be undone 1Claude Code: ask
  • send_feedbackReport a problem with the Fiskmås toolset so it can be fixed.No findings

    Why it is in this group

    • The name "send_feedback" says "send": a word for sending, and what is sent cannot be taken back.
    Description, as the server wrote it
    Report a problem with the Fiskmås toolset so it can be fixed. Use it when a tool errored or misbehaved, you got stuck and can't proceed, or the instructions/skill were unclear. Do NOT use it for praise. kind=bug means it broke, kind=suggestion means it was unclear or could be better, kind=other is anything else that didn't work. Name the `tool` and, if relevant, the `project`. At most one call per session.

    Annotations the server declares

    • readOnlyHint: false
Changes things 9Claude Code: ask
  • create_accountStart onboarding: require an email, create a pending account, and email a human verify link.No findings

    Why it is in this group

    • The name "create_account" says "create": a word for a change.
    Description, as the server wrote it
    Start onboarding: require an email, create a pending account, and email a human verify link. Does NOT return an API token. The human must click the link; the verify page shows the token once. Then configure Authorization: Bearer <token> on this MCP client (also docker login -u <token> registry.fiskmas.dev). If you already have a token, call whoami instead.

    Annotations the server declares

    • readOnlyHint: false
  • create_projectCreate a project and reserve <slug>-app.fiskmas.dev.No findings

    Why it is in this group

    • The name "create_project" says "create": a word for a change.
    Description, as the server wrote it
    Create a project and reserve <slug>-app.fiskmas.dev. Slug must match ^[a-z0-9][a-z0-9-]{1,48}$ and is not reserved. Subject to the plan's running-project quota (Free: 1, Plus: 5) — on quota the error tells the human how to upgrade or free a slot.

    Annotations the server declares

    • readOnlyHint: false
  • deploy_projectPull an image by digest and run one container with the plan's cpu/memory caps (Free: 256 MB / 0.2 CPU, Plus: 512 MB / 1 CPU).No findings

    Why it is in this group

    • The name "deploy_project" says "deploy": a word for a change.
    Description, as the server wrote it
    Pull an image by digest and run one container with the plan's cpu/memory caps (Free: 256 MB / 0.2 CPU, Plus: 512 MB / 1 CPU). Only registry.fiskmas.dev images are accepted. Rate-limited to 1 deploy per 5 minutes per account (429 with a retry-seconds hint); use restart_project for a transient crash - it does not count against the limit. Re-deploying a running project is always allowed; starting a second one on Free is blocked until one stops.

    Annotations the server declares

    • readOnlyHint: false
  • get_projectFetch a single project by id or slug.1 finding

    Why it is in this group

    • The name "get_project" says "get": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "get_project" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false}; The name "get_project" says "get": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Fetch a single project by id or slug.

    Annotations the server declares

    • readOnlyHint: false
  • reissue_tokenRe-issue the API token for an existing account.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Re-issue the API token for an existing account. Provide the email the account was registered with; Fiskmås emails a fresh one-time verify link to that address. The human clicks it; the verify page shows the new token once (old tokens are revoked immediately). This is the self-service recovery path when a token was lost, rotated, or is being rejected as "invalid or expired". It does not create a new account — for a brand-new account use create_account. Rate-limited: a few requests per hour per email.

    Annotations the server declares

    • readOnlyHint: false
  • restart_projectRestart a running project's container.No findings

    Why it is in this group

    • The name "restart_project" says "restart": a word for a change.
    Description, as the server wrote it
    Restart a running project's container. Recreates the pod, re-running the injected-DB resolver gate and the app's storage probes, and waits for readiness: a failed start returns a named error (e.g. an unresolvable DB host) and a plain retry usually clears a transient DNS drop. Not rate-limited. Env changes are NOT picked up by a restart - redeploy instead.

    Annotations the server declares

    • readOnlyHint: false
  • set_envSet environment variables on a project.No findings

    Why it is in this group

    • The name "set_env" says "set": a word for a change.
    Description, as the server wrote it
    Set environment variables on a project. They take effect on the next deploy_project: a restart does NOT re-apply env.

    Annotations the server declares

    • readOnlyHint: false
  • start_projectStart a stopped project's container.No findings

    Why it is in this group

    • The name "start_project" says "start": a word for a change.
    Description, as the server wrote it
    Start a stopped project's container. Waits until it is ready; a pod that fails to become ready returns a named error.

    Annotations the server declares

    • readOnlyHint: false
  • stop_projectStop a running project's container (keep the image).No findings

    Why it is in this group

    • The name "stop_project" says "stop": a word for a change.
    Description, as the server wrote it
    Stop a running project's container (keep the image).

    Annotations the server declares

    • readOnlyHint: false
Only reads 9Claude Code: allow
  • account_statusPoll onboarding state for an email (pending | active | unknown).No findings

    Why it is in this group

    • The name "account_status" says "status": a word for reading.
    Description, as the server wrote it
    Poll onboarding state for an email (pending | active | unknown). Use after create_account while waiting for the human to verify.

    Annotations the server declares

    • readOnlyHint: true
  • get_logsReturn recent container log lines.No findings

    Why it is in this group

    • The name "get_logs" says "get": a word for reading.
    Description, as the server wrote it
    Return recent container log lines. `tail` = line count (plan default 200; plan max 2000), `since` = time window in seconds (plan window: free 24 h, plus 7 d — logs are live-pod streams, not stored history). When both are given, `since` wins.

    Annotations the server declares

    • readOnlyHint: true
  • get_skillReturn the bytes of a platform skill by name.No findings

    Why it is in this group

    • The name "get_skill" says "get": a word for reading.
    Description, as the server wrote it
    Return the bytes of a platform skill by name.

    Annotations the server declares

    • readOnlyHint: true
  • get_statsAccount-wide or per-project stats for debugging: live CPU/mem vs the plan caps (Free: 256 MB / 0.2 CPU, Plus: 512 MB / 1 CPU) and deploy history.No findings

    Why it is in this group

    • The name "get_stats" says "get": a word for reading.
    Description, as the server wrote it
    Account-wide or per-project stats for debugging: live CPU/mem vs the plan caps (Free: 256 MB / 0.2 CPU, Plus: 512 MB / 1 CPU) and deploy history. Omit `project` for all of the caller's projects; pass a project id or slug NaNalso returns `resources.history` — per-project CPU/mem time series over the window (sampled every ~30 s on the k3s platform; absent on stacks without the metrics collector).

    Annotations the server declares

    • readOnlyHint: true
  • get_statusReturn project status, url, image digest, and last deploy error.No findings

    Why it is in this group

    • The name "get_status" says "get": a word for reading.
    Description, as the server wrote it
    Return project status, url, image digest, and last deploy error.

    Annotations the server declares

    • readOnlyHint: true
  • list_envList a project's env keys with masked values (never returns full secrets).No findings

    Why it is in this group

    • The name "list_env" says "list": a word for reading.
    Description, as the server wrote it
    List a project's env keys with masked values (never returns full secrets).

    Annotations the server declares

    • readOnlyHint: true
  • list_projectsList the caller's projects with status and URL.No findings

    Why it is in this group

    • The name "list_projects" says "list": a word for reading.
    Description, as the server wrote it
    List the caller's projects with status and URL.

    Annotations the server declares

    • readOnlyHint: true
  • list_skillsList the platform skills available to the caller.No findings

    Why it is in this group

    • The name "list_skills" says "list": a word for reading.
    Description, as the server wrote it
    List the platform skills available to the caller.

    Annotations the server declares

    • readOnlyHint: true
  • whoamiReturn the identity of the current token holder (account + provider) plus its subscription plan (free | plus) and the plan's limits: max running projects, per-project memory/CPU ca…No findings

    Why it is in this group

    • The name "whoami" says "whoami": a word for reading.
    Description, as the server wrote it
    Return the identity of the current token holder (account + provider) plus its subscription plan (free | plus) and the plan's limits: max running projects, per-project memory/CPU caps, log windows, and the project-database fair-use guide. Free plans include an upgrade_url for Plus ($9.99/mo: 5 projects, 512 MB / 1 CPU per project, always-on).

    Annotations the server declares

    • readOnlyHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http fiskmas https://mcp.fiskmas.dev/mcp --header 'Authorization: <your-authorization>'

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__fiskmas__whoami",
      "mcp__fiskmas__account_status",
      "mcp__fiskmas__list_projects",
      "mcp__fiskmas__list_env",
      "mcp__fiskmas__get_status",
      "mcp__fiskmas__get_logs",
      "mcp__fiskmas__get_stats",
      "mcp__fiskmas__list_skills",
      "mcp__fiskmas__get_skill"
    ],
    "ask": [
      "mcp__fiskmas__create_account",
      "mcp__fiskmas__reissue_token",
      "mcp__fiskmas__create_project",
      "mcp__fiskmas__get_project",
      "mcp__fiskmas__set_env",
      "mcp__fiskmas__deploy_project",
      "mcp__fiskmas__start_project",
      "mcp__fiskmas__stop_project",
      "mcp__fiskmas__restart_project",
      "mcp__fiskmas__send_feedback"
    ],
    "deny": [
      "mcp__fiskmas__delete_account",
      "mcp__fiskmas__delete_project"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as fiskmas. Review it before you use it.