FutureInfra

Korean cloud for AI agents.

Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeCan modify data

What it can do

  • Cloud.List Instances: List this tenant's cloud instances and their current state.
  • Cloud.Catalog: What you can choose when creating a server: blueprints (OS images) and plans (sizes). Always get the ids here before calling cloud.create_instance.
  • Cloud.Get Instance: Details of one server: state, size, private IP, public IP and domain.

What data it sees

Do you need an account

No: the server works without sign-in

Korean cloud for AI agents. Create cloud servers, deploy Docker apps with a free *.futureinfra.app address, manage domains, and call 300+ AI models through one OpenAI-compatible API, all from Claude Code, Cursor or any MCP client. Sign in with OAuth; one account, one API key and one prepaid wallet. Docs: https://futureinfra.ai/docs/mcp/

How to connect

How to connect FutureInfra to Claude

The server address to paste into Claude settings:

https://futureinfra--futureinfra.run.tools

  1. Open Claude (claude.ai or the desktop app).
  2. Go to Settings → Connectors.
  3. Click Add custom connector.
  4. Paste the server address copied below into Remote MCP server URL and click Add.
  5. In a chat, click + → Connectors and switch the new connector on.

Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.

Authorization

After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.

How to connect FutureInfra to ChatGPT

The server address to paste into ChatGPT settings:

https://futureinfra--futureinfra.run.tools

  1. Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
  2. Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
  3. Open Settings → Connectors and click Create.
  4. Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
  5. Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
  6. In a new chat open + → Apps/Connectors and enable the connector.

OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.

Authorization

On first use ChatGPT opens the service's sign-in window. Sign in and approve access.

How to connect FutureInfra to Cursor

The server address to paste into Cursor settings:

https://futureinfra--futureinfra.run.tools

Fastest: click Open in Cursor below and confirm the prompt.

Manually:

  1. In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
  2. Paste the JSON copied below into ~/.cursor/mcp.json (per project: .cursor/mcp.json in the repo root).
  3. Save the file. The server appears in the MCP list; authorize it there if asked.

Authorization

If the service needs sign-in, an authorize button appears next to the server in the MCP list.

Server tool list (30)

Raw names from tools/list. Only developers need these.

cloud.list_instancesList this tenant's cloud instances and their current state.
cloud.catalogWhat you can choose when creating a server: blueprints (OS images) and plans (sizes). Always get the ids here before calling cloud.create_instance.
cloud.get_instanceDetails of one server: state, size, private IP, public IP and domain.
cloud.powerPower a server: start, stop or reboot. stop cuts the service immediately.
cloud.publishPublish a server port on a hostname through our proxy, with TLS. Reachable from the internet without a public IP.
cloud.create_instanceCreate a cloud instance. Provisioning continues asynchronously. This platform has NO region/zone selection — do not ask the customer to pick one. There is NO root-password provisioning either: access is by SSH key only, and a customer without a key can still create the instance and add one afterwards. Ask ONLY for the fields in this schema. Before calling, read the blueprint's `plans[]` and `recommended` from cloud.catalog: plans with available:false are rejected for that blueprint (the `reason` says why), and `recommended` is the sensible default to propose.
cloud.execRun a shell command inside one of your instances and get stdout/stderr/exit code. Use this to install packages, start services, and inspect state. Long jobs should be launched with nohup and observed through log files rather than held open here. Returns 409 wrong_login_user (command NOT executed) if the image refuses that login user — never treat that as success.
cloud.open_portOpen an inbound port on an instance that has a public IP. Prefer restricting `source` to a specific address for admin ports like SSH — leaving it at 0.0.0.0/0 exposes the port to the whole internet.
cloud.delete_instanceDelete an instance. This destructive action requires human approval.
git.list_reposList this organisation's Git repositories (FutureInfra Git: private repositories that need no GitHub account).
git.issue_credentialsIssue a username and token for git push/pull. Calling it again rotates the token and blocks the old one immediately. The token is shown only once. Usage: git remote add origin https://<username>:<token>@<host>/<owner>/<repo>.git (get cloneUrl from git.create_repo).
git.create_repoCreate a FutureInfra Git repository (private by default). Push to the returned cloneUrl and authenticate with git.issue_credentials.
domain.searchCheck domain availability with first-year and renewal prices (KRW). Premium domains are search-only — they cannot be purchased through the API.
brain.saveSave a note to the brain. [[Title]] in the body links to another note. Saving the same content to the same path skips re-embedding. With a shared key the note is filed as a proposal (202) that the brain owner must approve.
brain.skillsList the skills in this brain (name and one-line summary). A skill is a note that says how to do a kind of task. Check it before starting a new kind of task and read a matching one with brain.skill.
brain.skillRead one skill in full (steps, commands, cautions). Follow the steps in order.
brain.searchSemantic search: find notes similar to a question.
domain.list_domainsDomains you have registered or manage on this platform.
apps.getDetails of one app: state, address, environment variable keys, volumes and schedules.
apps.logsApp container logs. When an app fails to start or crashes, the cause is almost always here.
account.meYour account: organisation id, name and plan, plus the name and scopes of the API key in use.
account.orgsOrganisations you belong to and the one that is active. Only works when signed in as a person (browser OAuth); an API key belongs to exactly one organisation.
account.switch_orgSwitch the active organisation. All later calls act on that organisation without re-authenticating. Use it when account.orgs shows the active organisation is not the one the user means.
billing.walletWallet balance and plan, and current usage against the limits of your tier.
apps.listList this organisation's apps and their state.
apps.createCreate an app. The slug becomes its address (slug.<organisation base domain>). Billing starts at the first deploy.
apps.deployDeploy a container image. The app becomes active and billing starts from this point.
brain.mapMap of the brain: note counts, workspaces, distribution by kind, must-know notes (importance 5), open items and changes in the last 7 days. Titles only. Call it first when you do not know what to search for.
fi.find_toolsFind a tool by describing what you need (e.g. "buy a domain", "snapshot", "firewall port"). Only frequently used tools are loaded at connect time; if a tool is not listed, find it here and call it with fi.run.
fi.runRun a tool found with fi.find_tools by name. Put the tool name in tool and its arguments in args.