← Registry

Developer Tools

fline.sh

Manages tenant projects and handles archive uploads to initiate analysis.

1 endpoint40 known toolsFirst detected October 18, 2026Last detected October 18, 2026

ENDPOINT 1

https://mcp.fline.sh/mcp

No auth detected

MCP server metadata

Name
fline
Version
1
Capabilities
promptstools
Server instructions

fline puts a person's app online from their project folder. First launch: create_project, tar.gz the folder and PUT it to upload_url, complete_upload, then poll get_project and do what next_action says until get_deploy_status shows a url. Never ask which port the app uses: fline sets PORT and routes whatever port the app opens. Never ask the person to paste a password or key into the chat: call get_secrets_link and give them the link unopened. The person is often not a programmer. Use plain words: "put it online" (not deploy), "passwords and keys your app uses" (not secrets or env vars), "your fline dashboard" (not console), "what went wrong" (not logs), "put an earlier version back" (not rollback). Never ask them about ports, Dockerfiles, build commands, hosts or connection strings; read the sources. The explain_to_the_person prompt has more. Passwords and keys. No tool ever returns a secret value. get_secrets_link makes a one-use link to a form that expires at expires_at; the person signs in to fline to use it. Hand them the link without opening it and say what goes in each box and where they find it ("your Stripe secret key, in Stripe under Developers, API keys"). declare_env_names adds names the analysis missed. set_env secret=true stores a value you already hold: one you generated (a random session key), or one the person already pasted into the chat, in which case suggest they replace it with a fresh key through get_secrets_link. secret=false is for public settings. A value set after the app is live needs restart. Databases. When the app reads a Postgres or Redis-compatible connection string, the plan marks that variable scope "managed" with ref "postgres" or "valkey", and fline attaches or creates the project's own database and writes the string in itself: nobody types it, and you neither declare_env_names nor set_env that variable. Do not create_service for the project first: a database under any other name than <project>-postgres (or -valkey) is not wired, and the person has to copy its string from the Services page. Never invent a database URL and never ask for one. For a database the person already runs elsewhere, use attach_external, then the secrets link. Builds. You never write the Dockerfile and never see it; fline generates one from the plan. In fline.json, build_commands run in order in the build stage and run_command becomes the container command; the two must agree about paths. Never put a program inline on run_command ("node -e", "python -c"): commit a script and name the file. No chown in build_commands. A service naming an "image" is prebuilt: run_command replaces its CMD but not its ENTRYPOINT. Configure it through env_names entries with literal values, {"name": "KAFKA_ADVERTISED_LISTENERS", "value": "PLAINTEXT://kafka:9092"}, never a credential; services reach each other by name. Prompts with the steps: deploy_a_repository, update_a_live_app, add_a_database, use_a_web_address, diagnose_a_deployment, freeze_the_build_plan, explain_to_the_person. Docs: https://fline.sh/docs/for-ai.md and https://fline.sh/llms.txt.

Known tools 40

list_projects

The tenant's projects with their state and address.

Inferred read-only
create_project

Create a project.

Potential side effects
delete_project

Delete the project.

Potential side effects
get_upload_url

Issue a new archive upload link for an existing project.

Potential side effects
complete_upload

Report that the archive is uploaded and start the analysis.

Inferred read-only
get_project

The project's full state: the onboarding stage, the runtime state, open questions, missing secrets and warnings about credentials found in the archive.

Inferred read-only
submit_declaration

Supply the project description.

Inferred read-only
answer_questions

Answer the questions raised during source analysis.

Inferred read-only
declare_env_names

Declare the NAMES of environment variables.

Inferred read-only
get_secrets_link

Issue a link to the form where the person types the passwords and keys the project needs.

Inferred read-only
deploy

Build the images and hand the project to the platform.

Inferred read-only
get_deploy_status

Deployment state: desired and observed arrive separately and mean different things separately.

Inferred read-only
get_images

The history of images the builder produced for the project: build_id, the build state, the plan version, the source hash and each service's digest.

Inferred read-only
get_logs

Logs.

Inferred read-only
get_usage

What this project actually consumed: CPU, memory, disk, files and network over a window.

Inferred read-only
attach_domain

Attach a web address the person owns, such as www.

Inferred read-only
create_service

Create a data service for this workspace: engine=postgres for a PostgreSQL database, engine=valkey for a Valkey instance — the BSD-licensed fork of Redis, which every Redis client speaks unchanged, so ask for it wherever a project wants Redis — or engine=s3 for object storage, an S3-compatible bucket with a size limit, which is what to ask for wherever a project wants a bucket, file uploads or blob storage.

Potential side effects
list_services

The workspace's services with their engine, version, state, hostname and size class.

Inferred read-only
delete_service

Delete a service.

Potential side effects
get_config

The fline.

Inferred read-only
check_config

Check a fline.

Inferred read-only
refresh_config

Re-run the analysis ignoring the archive's fline.

Inferred read-only
list_domains

The project's custom domains with, for each, the state of its ownership check, the TXT record to publish, when it was last checked and what the last check objected to.

Potential side effects
check_domain

Run the ownership check for one of the project's domains now, and answer with the result.

Inferred read-only
delete_domain

Detach a domain from the project.

Inferred read-only
list_env_names

The project's environment variables BY NAME: whether each is set, whether the analysis declared it, when it was last written, and — for a non-secret variable — its value.

Inferred read-only
delete_env_name

Remove a variable from the project's secret set.

Potential side effects
set_env

Set one environment variable for the project.

Inferred read-only
get_project_detail

Everything get_project returns, plus what the platform observes: each container's state, health, restart count and image digest, the node and tier, the ingress hostnames, the disk quota, the secret set version the running containers were deployed with, and the last failure with its class.

Inferred read-only
get_events

The project's state timeline, oldest first: each move from one state to the next, the reason, which part of the platform made it (gateway, worker, pipeline, cp) and the request id.

Inferred read-only
get_service

One data service by id, with its state and — when it is not active — the reason.

Inferred read-only
pause_service

Pause a data service.

Inferred read-only
resume_service

Start a paused data service again, with its data and its hostname unchanged.

Inferred read-only
stop

Stop the project.

Inferred read-only
restart

Re-apply the project's current version: the same images, deployed again.

Inferred read-only
list_versions

List the project's deployed versions, newest first: the state_version to pass to rollback, when it was made, who made it, and which version it superseded.

Inferred read-only
rollback

Redeploy an earlier version of the project, named by its state_version from list_versions.

Inferred read-only
attach_external

Declare a backing service the tenant ALREADY RUNS, so the platform does not provision one.

Inferred read-only
detach_external

Give an alias back to the platform.

Inferred read-only
list_external

The backing services this project's tenant supplies themselves.

Inferred read-only

CONNECT WITH APPROVAL

Client installation

Review this server and its permissions before adding it. Secret placeholders must be set locally.

Codex

~/.codex/config.toml

[mcp_servers.fline]
url = "https://mcp.fline.sh/mcp"
enabled = true
Claude Code

.mcp.json

{
  "mcpServers": {
    "fline": {
      "type": "http",
      "url": "https://mcp.fline.sh/mcp"
    }
  }
}
Claude Desktop

Settings → Connectors → Add custom connector

Name: fline
Remote MCP URL: https://mcp.fline.sh/mcp

Add this remote URL as a custom connector in Claude Desktop. Availability depends on the user plan and workspace policy.

Cursor

.cursor/mcp.json

{
  "mcpServers": {
    "fline": {
      "url": "https://mcp.fline.sh/mcp"
    }
  }
}
Visual Studio Code

.vscode/mcp.json

Add to Visual Studio Code
{
  "servers": {
    "fline": {
      "type": "http",
      "url": "https://mcp.fline.sh/mcp"
    }
  }
}
Generic MCP

Client-specific MCP configuration

{
  "name": "fline",
  "transport": "streamable-http",
  "url": "https://mcp.fline.sh/mcp"
}
MCP Inspector

Run the official MCP Inspector locally and enter the indexed Streamable HTTP endpoint.

TRUST AND VERIFICATION EVIDENCE

Loading Trust v2 evidence…

Checking the associated registrable domain. The BuiltWith key remains server-side.

Indexed

Evidence is source-attributed and does not guarantee that a third-party server is safe. Risk labels are conservative metadata heuristics.