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.
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
- Deletes or cancels2Claude Code: deny: see these tools
- Can't be undone1Claude Code: ask: see these tools
- Changes things9Claude Code: ask: see these tools
- Only reads9Claude Code: allow: see these tools
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.
- Warnget_project
The server marks "get_project" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false}; The name "get_project" says "get": a word for reading.
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.
What this check looks forMatched text
annotations: {"readOnlyHint":false}; The name "get_project" says "get": a word for reading.
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.
{
"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.