fimo 0.21.0-staging.4 → 0.21.0-staging.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/skills/fimo/SKILL.md +1 -1
- package/assets/skills/fimo-cli/SKILL.md +1 -1
- package/assets/skills/fimo-cli/references/integrations.md +24 -0
- package/assets/skills/fimo-cli/references/mcp.md +98 -57
- package/assets/skills/fimo-studio/SKILL.md +3 -1
- package/assets/skills/fimo-studio/references/connections.md +52 -0
- package/dist/cli/bundle.json +1 -1
- package/dist/cli/index.js +63 -69
- package/package.json +1 -3
- package/templates/react-router/package.json +1 -1
|
@@ -33,7 +33,7 @@ Pick by task:
|
|
|
33
33
|
- Project creation, local setup, cloning, and CLI workflows — init, push, deploy, sync, labels, domains, analytics → `fimo-cli`
|
|
34
34
|
- Fimo agents — create, configure, validate, deploy, run, or inspect them → `fimo-cli` (`references/agents.md`)
|
|
35
35
|
- AI agent setup — connect Claude Code, Codex, Cursor, or another agent → `fimo-cli` (`references/agent-setup.md`)
|
|
36
|
-
-
|
|
36
|
+
- Remote MCP integrations — add, inspect, search, or run an MCP server → `fimo-cli` (`references/mcp.md`)
|
|
37
37
|
- The Fimo Studio dashboard / web app UI → `fimo-studio`
|
|
38
38
|
- Migrating an existing site into Fimo → `fimo-migration`
|
|
39
39
|
|
|
@@ -106,7 +106,7 @@ Load the matching reference when the user's request fires its trigger. Recipes t
|
|
|
106
106
|
- "Login / log out / who am I / switch organization" → `references/account.md` — note: switching **org** is `fimo orgs switch`; bare `fimo switch` changes the active **Fimo Branch** (see `references/branches.md`)
|
|
107
107
|
- "Create / scaffold / run / validate an agent / agent bundle / wire or enable its triggers / list agent templates / view agent runs, reports, or logs (`fimo agents *`)" → `references/agents.md`
|
|
108
108
|
- "Install Fimo for my agent / fimo skills install / set up Claude Code, Codex, or Cursor for Fimo" → `references/agent-setup.md`
|
|
109
|
-
- "
|
|
109
|
+
- "Add, inspect, search, or run a remote MCP server / use `fimo mcp`" → `references/mcp.md`
|
|
110
110
|
- "Refresh / update installed Fimo skills / fimo skills sync / agent missing the latest Fimo conventions" → `references/agent-setup.md`
|
|
111
111
|
- "Report a Fimo problem or blocking feature request / contact Fimo support / a Fimo API or command keeps failing / a documented argument is rejected / a supported operation needs an undocumented workaround / a Fimo API is abnormally slow / a confirmed missing capability blocks completion or forces a fragile or heavily manual workaround" → `references/support.md`
|
|
112
112
|
- "Regenerate rule files / I edited AGENTS.md / fimo rules sync" → `references/agent-setup.md`
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
Use integrations to enable external services for a Fimo project. API keys are stored by Fimo and never printed back to the CLI. Teammates and agents receive access to the integration, not the underlying token.
|
|
4
4
|
|
|
5
|
+
Start with `fimo integrations list` whenever the task could benefit from an external service. It is the project-scoped,
|
|
6
|
+
runtime-truthful inventory; use `info` only for the relevant integration instead of loading every provider's tools into
|
|
7
|
+
context.
|
|
8
|
+
|
|
5
9
|
## Inspect
|
|
6
10
|
|
|
7
11
|
```bash
|
|
@@ -14,6 +18,26 @@ fimo integrations status firecrawl
|
|
|
14
18
|
|
|
15
19
|
When running inside an autonomous agent session, `fimo integrations list` shows the effective integrations available to that agent runtime, scoped by `.fimo/agents/<name>/config.yaml`. It lists only usable tools, plus the auth column and the config path that granted access.
|
|
16
20
|
|
|
21
|
+
## Add a remote MCP server
|
|
22
|
+
|
|
23
|
+
Remote MCP servers have a focused command group while remaining integrations underneath:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
fimo mcp add sentry --url https://mcp.sentry.dev/mcp
|
|
27
|
+
|
|
28
|
+
fimo mcp search "issue tracking"
|
|
29
|
+
fimo mcp info sentry
|
|
30
|
+
fimo mcp run sentry <tool> --input '{"key":"value"}'
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Automatic discovery connects public endpoints directly and opens the provider authorization page for OAuth servers.
|
|
34
|
+
Use `--auth none` to require a public endpoint, `--auth bearer --token-stdin` for a bearer token, or `--auth header
|
|
35
|
+
--header-name <name> --token-stdin` for a custom private header. A custom header value is sent exactly as piped, so it
|
|
36
|
+
carries any prefix itself. Fimo requires an HTTPS Streamable HTTP endpoint,
|
|
37
|
+
encrypts credentials, assigns an `mcp_`-prefixed integration key, and reads the server's current tools live. OAuth and
|
|
38
|
+
manual headers are alternative grants and are never sent together. Local stdio commands such as `npx` are not supported. Agents continue to use `fimo integrations list|info|run`
|
|
39
|
+
so native and MCP providers share one runtime policy surface.
|
|
40
|
+
|
|
17
41
|
## Integration References
|
|
18
42
|
|
|
19
43
|
Load the integration reference when the user names a specific integration:
|
|
@@ -1,83 +1,124 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Remote MCP integrations
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
the
|
|
3
|
+
Use the `mcp` command group to connect a project to remote Model Context Protocol servers. Fimo stores the connection,
|
|
4
|
+
keeps its credential server-side, and makes the server's tools available through the same integration gateway as native
|
|
5
|
+
providers.
|
|
5
6
|
|
|
6
|
-
|
|
7
|
-
- **Remote MCP**: `https://api.fimo.ai/api/mcp` over authenticated Streamable HTTP, for ChatGPT, Claude, and other
|
|
8
|
-
clients that support OAuth.
|
|
7
|
+
## Add a server
|
|
9
8
|
|
|
10
|
-
|
|
11
|
-
`https://fimo.ai/docs/mcp` is separate: it is unauthenticated, read-only, and only provides Fimo documentation.
|
|
9
|
+
Start with automatic discovery:
|
|
12
10
|
|
|
13
|
-
|
|
11
|
+
```bash
|
|
12
|
+
fimo mcp add sentry --url https://mcp.sentry.dev/mcp
|
|
13
|
+
```
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
Fimo connects public servers immediately. When the server advertises OAuth, Fimo opens its authorization page. Use
|
|
16
|
+
`--no-open` to print the URL for a browser on another machine.
|
|
17
|
+
|
|
18
|
+
Bearer token:
|
|
16
19
|
|
|
17
20
|
```bash
|
|
18
|
-
fimo
|
|
21
|
+
printf '%s\n' "$MCP_TOKEN" | fimo mcp add sentry \
|
|
22
|
+
--url https://mcp.sentry.dev/mcp \
|
|
23
|
+
--auth bearer \
|
|
24
|
+
--token-stdin
|
|
19
25
|
```
|
|
20
26
|
|
|
21
|
-
|
|
27
|
+
Multiple custom headers:
|
|
22
28
|
|
|
23
|
-
```
|
|
24
|
-
fimo mcp
|
|
29
|
+
```bash
|
|
30
|
+
printf '%s\n' "$MCP_HEADERS_JSON" | fimo mcp add internal \
|
|
31
|
+
--url https://mcp.example.com/mcp \
|
|
32
|
+
--auth header \
|
|
33
|
+
--header Authorization \
|
|
34
|
+
--header X-Workspace \
|
|
35
|
+
--headers-stdin
|
|
25
36
|
```
|
|
26
37
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
+
`MCP_HEADERS_JSON` must be one JSON object containing every configured header and no others, for example
|
|
39
|
+
`{"Authorization":"Bearer abc123","X-Workspace":"workspace-secret"}`. Header names are matched case-insensitively.
|
|
40
|
+
**Each value is the complete header value and is sent byte for byte**, so include any prefix the server expects. There
|
|
41
|
+
is no scheme or prefix option; anything the header needs goes in the value.
|
|
42
|
+
|
|
43
|
+
Use `--auth none` for a public endpoint or `--auth bearer --token-stdin` for a bearer token, which is the shortcut for
|
|
44
|
+
sending `Authorization: Bearer <token>` from the token alone. The single-header form,
|
|
45
|
+
`--auth header --header-name <name> --token-stdin`, pipes one complete header value.
|
|
46
|
+
|
|
47
|
+
Fimo requires an HTTPS Streamable HTTP endpoint, validates the MCP handshake before saving it, encrypts the credentials,
|
|
48
|
+
and never prints their values. The resulting integration key begins with `mcp_` so it cannot collide with a native
|
|
49
|
+
provider.
|
|
50
|
+
|
|
51
|
+
OAuth and manual credentials are alternative connection grants. Fimo never sends custom secret headers alongside an
|
|
52
|
+
OAuth access token.
|
|
53
|
+
|
|
54
|
+
## Reconnect OAuth
|
|
55
|
+
|
|
56
|
+
If live discovery or execution reports that an OAuth connection needs authorization again:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
fimo mcp reconnect sentry
|
|
38
60
|
```
|
|
39
61
|
|
|
40
|
-
|
|
41
|
-
|
|
62
|
+
This replaces the organization-owned OAuth grant and requires organization admin access. Add `--no-open` to print the
|
|
63
|
+
authorization URL.
|
|
42
64
|
|
|
43
|
-
##
|
|
65
|
+
## Rotate credentials
|
|
44
66
|
|
|
45
|
-
|
|
46
|
-
current git branch as the default Branch. This keeps an AI client working against the same Branch as the checkout.
|
|
67
|
+
Rotation replaces the complete credential bundle on the connection already enabled for this project:
|
|
47
68
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
69
|
+
```bash
|
|
70
|
+
printf '%s\n' "$MCP_HEADERS_JSON" | fimo mcp rotate internal --headers-stdin
|
|
71
|
+
printf '%s\n' "$MCP_TOKEN" | fimo mcp rotate sentry --token-stdin
|
|
72
|
+
```
|
|
52
73
|
|
|
53
|
-
|
|
54
|
-
|
|
74
|
+
Custom-header rotation requires the complete value of every configured header. It never merges a partial update, and
|
|
75
|
+
neither command prints the submitted values. Rotation updates the organization-owned connection and requires organization admin access.
|
|
55
76
|
|
|
56
|
-
##
|
|
77
|
+
## Discover servers and tools
|
|
57
78
|
|
|
58
|
-
|
|
79
|
+
```bash
|
|
80
|
+
fimo mcp list
|
|
81
|
+
fimo mcp search "issue tracking"
|
|
82
|
+
fimo mcp info sentry
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
- `list` shows only remote MCP integrations available to the current project.
|
|
86
|
+
- `search` searches the live tool names and descriptions across those servers.
|
|
87
|
+
- `info` shows one server's endpoint, authentication shape, and current live tool catalog.
|
|
88
|
+
|
|
89
|
+
`info` and `run` accept either the short server name (`sentry`) or its complete integration key (`mcp_sentry`). The
|
|
90
|
+
catalog is loaded live; Fimo does not persist or expose a stale copy to the model.
|
|
91
|
+
|
|
92
|
+
## Run a tool
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
fimo mcp run sentry search_issues --input '{"query":"open regressions"}'
|
|
96
|
+
fimo mcp run sentry projects_list
|
|
97
|
+
fimo mcp run sentry search_issues --input @request.json
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Omit `--input` when the tool takes no arguments. Use inline JSON, a project-relative `@file`, or `--input -` to read JSON
|
|
101
|
+
from stdin.
|
|
59
102
|
|
|
60
|
-
|
|
61
|
-
- **Content** — schemas, collection entries, search, create/update/delete, bounded bulk operations, and Singles.
|
|
62
|
-
- **Labels** — list, read, set, batch-set, and delete localized labels.
|
|
63
|
-
- **Media** — list and inspect assets, read canonical pages or ask one targeted question with `assets_read`, generate images or videos, create folders, move, and delete assets. Binary
|
|
64
|
-
upload remains `fimo assets upload`.
|
|
65
|
-
- **Forms** — create, read, update, and delete forms; inspect submissions and statistics.
|
|
66
|
-
- **Files** — read, glob, grep, write, edit, and delete project files within the scoped Branch. Sensitive files
|
|
67
|
-
such as credentials and `.env` files are excluded.
|
|
68
|
-
- **Agents** — list agents, start a run, and inspect run status.
|
|
103
|
+
## Studio and project agents
|
|
69
104
|
|
|
70
|
-
|
|
71
|
-
|
|
105
|
+
Remote MCP servers remain normal project integrations underneath the focused CLI. Studio chat and autonomous agents
|
|
106
|
+
discover and run them through:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
fimo integrations list
|
|
110
|
+
fimo integrations info mcp_sentry
|
|
111
|
+
fimo integrations run mcp_sentry search_issues --input '{"query":"open regressions"}'
|
|
112
|
+
```
|
|
72
113
|
|
|
73
|
-
|
|
114
|
+
An autonomous agent only sees integrations enabled in its committed `integrations:` policy. Studio receives a frozen
|
|
115
|
+
snapshot of the integrations enabled when the turn starts. Neither surface receives the underlying credential or opens
|
|
116
|
+
a direct connection to the remote server.
|
|
74
117
|
|
|
75
|
-
|
|
76
|
-
browser OAuth consent screen. Remote MCP uses Fimo OAuth with `read`, `write`, and `agents` scopes; the user selects
|
|
77
|
-
the optional capabilities during consent.
|
|
118
|
+
## Supported servers
|
|
78
119
|
|
|
79
|
-
|
|
80
|
-
|
|
120
|
+
Remote connections support HTTPS Streamable HTTP servers with OAuth, no authentication, a bearer token, or custom
|
|
121
|
+
private headers. Local stdio commands such as `npx`, arbitrary child processes, resources, and prompts are not supported.
|
|
81
122
|
|
|
82
|
-
|
|
83
|
-
|
|
123
|
+
To connect ChatGPT, Claude, or another remote MCP client to Fimo itself, use Fimo's hosted Project MCP at
|
|
124
|
+
`https://api.fimo.ai/api/mcp`. That is a separate direction from connecting a Fimo project to an external MCP server.
|
|
@@ -6,7 +6,7 @@ description: >-
|
|
|
6
6
|
Triggers: "in Fimo Studio", "in the dashboard", "in the web app",
|
|
7
7
|
"how do I X in the UI", or screenshots of the dashboard. Topics
|
|
8
8
|
covered: dashboard content and CMS, publishing from the dashboard,
|
|
9
|
-
dashboard SEO/domain settings, schedules and run history, outbound webhooks,
|
|
9
|
+
dashboard SEO/domain settings, project connections, schedules and run history, outbound webhooks,
|
|
10
10
|
visual editing, version history UI, dashboard sharing/billing, dashboard chat,
|
|
11
11
|
and the command palette. Never describe
|
|
12
12
|
UI locations, buttons, or panels from memory — always read the relevant
|
|
@@ -41,6 +41,7 @@ Read the relevant reference file when the user's question matches a topic.
|
|
|
41
41
|
| SEO Settings | references/seo-settings.md | "How do I set up SEO?", "Favicon, title, share image" |
|
|
42
42
|
| Schedules | references/schedules.md | "Recurring commands", "Run history", "Run now" |
|
|
43
43
|
| Webhooks | references/webhooks.md | "React to forms", "Send events to another service" |
|
|
44
|
+
| Connections | references/connections.md | "Connect a service", "Add an MCP server" |
|
|
44
45
|
| Preview & Responsive | references/preview-and-responsive.md | "How does it look on mobile?", "How do I test sizes?" |
|
|
45
46
|
| Visual Editing | references/visual-editing.md | "Can I edit visually?", "How do I change colors?" |
|
|
46
47
|
| Version History | references/version-history.md | "How do I undo?", "How do I go back?" |
|
|
@@ -58,6 +59,7 @@ Read the relevant reference file when the user's question matches a topic.
|
|
|
58
59
|
| Adding images | Media Library, AI Chat, Edit Mode |
|
|
59
60
|
| Content/CMS | AI Chat, Media Library |
|
|
60
61
|
| Webhooks | Project secrets, Forms, Publishing, Agents |
|
|
62
|
+
| Connections | AI Chat, Agents, Project secrets |
|
|
61
63
|
| Schedules | Project secrets, Environments, Agents |
|
|
62
64
|
| Visual changes | Edit Mode (quick tweaks), AI Chat (bigger changes), Code Editor (full control) |
|
|
63
65
|
| Something went wrong | Version History, AI Chat |
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Connections
|
|
2
|
+
|
|
3
|
+
Connections let a project use external services without exposing credentials to editors, chat, or agents. Studio, the
|
|
4
|
+
CLI, and project agents all resolve the same project-scoped connection state.
|
|
5
|
+
|
|
6
|
+
## See what is available
|
|
7
|
+
|
|
8
|
+
1. Open the project.
|
|
9
|
+
2. Open **More**, then **Settings**.
|
|
10
|
+
3. Choose **Connections**.
|
|
11
|
+
|
|
12
|
+
The page has two groups:
|
|
13
|
+
|
|
14
|
+
- **Services** are integrations maintained by Fimo, such as Firecrawl, Fal, and Slack.
|
|
15
|
+
- **MCP servers** are remote servers installed for this project. Choose **Add MCP server** beside this group to add one.
|
|
16
|
+
|
|
17
|
+
Each row shows whether the connection is enabled, disabled, or needs attention. Open a row to enable or disable it for
|
|
18
|
+
the current project, inspect its endpoint and live tools, or perform the repair appropriate to its authentication.
|
|
19
|
+
|
|
20
|
+
## Add an MCP server
|
|
21
|
+
|
|
22
|
+
Choose **Add MCP server** to open one setup flow:
|
|
23
|
+
|
|
24
|
+
1. Pick a recommended server, choose **Custom MCP server**, or, if you are an organization owner or admin, choose
|
|
25
|
+
**Use from another project**.
|
|
26
|
+
2. Recommended servers fill their name and endpoint. A custom server asks for a name and Streamable HTTP HTTPS URL.
|
|
27
|
+
3. **Connect with** offers the recommended sign-in path. Fimo checks the endpoint; public servers connect immediately,
|
|
28
|
+
while OAuth servers open their provider sign-in page and return after approval.
|
|
29
|
+
4. Open **Other ways to connect** when the server instead documents a bearer token, one or more custom headers, or no
|
|
30
|
+
authentication.
|
|
31
|
+
|
|
32
|
+
For **Paste an access token**, enter only the token; Fimo adds the `Bearer` scheme. For **Send custom headers**, enter
|
|
33
|
+
each complete value exactly as the server expects, including any prefix (`Authorization` with `Bearer abc123`). Fimo
|
|
34
|
+
encrypts every saved grant and never shows its private value again.
|
|
35
|
+
|
|
36
|
+
**Use from another project** does not make other projects' servers generally visible. It is an explicit admin-only
|
|
37
|
+
picker that attaches an existing organization Connection to this project without revealing or copying its credential.
|
|
38
|
+
|
|
39
|
+
Each authentication method has one repair:
|
|
40
|
+
|
|
41
|
+
- **Reconnect** signs in again for OAuth.
|
|
42
|
+
- **Update credentials** replaces a bearer token or the complete custom-header bundle after it stops working.
|
|
43
|
+
- **Rotate credentials** replaces a healthy token or header bundle proactively.
|
|
44
|
+
- **Retry connection** asks a public server for its tools again without touching any credential.
|
|
45
|
+
|
|
46
|
+
Only organization owners and admins can replace a shared credential. OAuth and manual secret headers are never sent
|
|
47
|
+
together.
|
|
48
|
+
|
|
49
|
+
After the server is added, its detail shows the endpoint and the tools Fimo discovered. Only enabled servers become
|
|
50
|
+
available to Studio chat, autonomous agents, and the Fimo CLI for this project. Agents should discover them with
|
|
51
|
+
`fimo integrations list`, inspect them with `fimo integrations info <integration>`, and run an allowed tool with
|
|
52
|
+
`fimo integrations run <integration> <tool>`.
|