MCP

Connecting servers

Install a curated server in one command, or connect any MCP server in the world. The catalog is a convenience, not a limit β€” Flowly accepts any stdio or HTTP/SSE server.

The catalog

Flowly ships a curated, version-pinned set of MCP servers. List them with:

bash
flowly mcp catalog

The current set:

  • context7 β€” up-to-date, version-specific library documentation
  • fetch β€” fetch a URL and convert it to clean markdown
  • time β€” current time and timezone conversion
  • filesystem β€” read/write/search files in a directory you allow
  • github β€” search, read, and manage repos, issues, PRs
  • linear β€” find, create, update Linear issues and projects
  • playwright β€” drive a real browser (navigate, click, screenshot)
  • notion β€” read and write Notion pages, databases, blocks

Installing a catalog server

bash
flowly mcp install context7     # no auth β€” installs immediately
flowly mcp install github       # prompts for a token β†’ ~/.flowly/.env
flowly mcp install linear       # OAuth β€” installs, then: flowly mcp login linear

Install probes the connection, prompts for any required key, and enables the server. Keys go to ~/.flowly/.env; your config only ever holds a ${VAR} reference.

Adding a custom server

Anything not in the catalog connects with flowly mcp add.

Local (stdio) server β€” a subprocess on your machine:

bash
flowly mcp add myfs --command npx \
  -a -y -a @modelcontextprotocol/server-filesystem -a /tmp

flowly mcp add mytool --command uvx -a my-mcp-package \
  --env MY_TOKEN=${MY_TOKEN}

--arg/-a (repeatable) for command args, --env/-e KEY=VAL for subprocess env. Requires node/npx or uv/uvx on PATH.

Remote (HTTP / SSE) server:

bash
flowly mcp add api --url https://my-mcp.example.com/mcp \
  --header "Authorization: Bearer ${MY_API_KEY}"

# OAuth 2.1 / PKCE β€” authorize in the browser after adding:
flowly mcp add api --url https://my-mcp.example.com/mcp --auth oauth
flowly mcp login api

Secrets and ${VAR}

Your config file is shared and plugin-readable, so never put raw credentials in it. Instead:

  • Store secrets in ~/.flowly/.env (one KEY=value per line, mode 0600) β€” flowly mcp install writes there for you.
  • Reference them with ${VAR}, resolved at boot. Works in env, args, and headers.
json
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_PERSONAL_ACCESS_TOKEN}" }
    }
  }
}

The /mcp modal

In the terminal chat, type /mcp for a visual manager: an arrow-key list of your servers and the catalog. Space toggles a configured server on or off; Enter installs a catalog server (it prompts for the key right there, no terminal hop); D removes one. A gateway restart is kicked automatically after each change.

Choosing which tools load

A server may expose more tools than you want. Pick a subset interactively:

bash
flowly mcp configure github

It connects, lists the tools, and shows a checklist pre-ticked to the current selection. Saving writes tools.include (or clears the filter when everything is selected).

Tool names & collisions

Each remote tool registers as mcp_{server}_{tool} β€” Context7's resolve-library-id becomes mcp_context7_resolve_library_id.

Native tools always win
If a generated name collides with an existing tool, the existing one wins and the MCP tool is skipped. Flowly's native linear, trello, etc. are never overwritten by an MCP server.

Manage everything from the CLI reference, and review the security model.