From agenticflow-plugin
Attaches MCP clients for tools like Google Docs, Sheets, Slack, Notion, GitHub, Apify to AgenticFlow agents. Inspects clients via af CLI to classify Composio vs Pipedream patterns before attachment for reliable reads/writes.
npx claudepluginhub pixelml/agenticflow-skill --plugin agenticflow-pluginThis skill uses the workspace's default tool permissions.
> ๐ซ **Do NOT install the legacy `agenticflow-mcp` standalone server repo.** It is stale (last release lags the current platform by many versions) and is **not the recommended integration path**. Everything below uses the `af` CLI (install via `npm install -g @pixelml/agenticflow-cli`), which covers MCP operations comprehensively and stays in lockstep with platform changes.
Create, run, and iterate on single AgenticFlow AI agents via `af agent create/update/run/delete` CLI, --patch updates, schema inspection for fields like mcp_clients/response_format, model/code configs. For support bots or task agents without orchestration.
Integrates OpenAI Agents SDK with You.com MCP server via hosted or streamable HTTP for Python and TypeScript. Use when adding MCP tools to OpenAI agents.
Designs and scaffolds code execution patterns for MCP-based agents managing many tools, large data, loops/conditionals, or PII via sandboxed TypeScript/Python wrappers.
Share bugs, ideas, or general feedback.
๐ซ Do NOT install the legacy
agenticflow-mcpstandalone server repo. It is stale (last release lags the current platform by many versions) and is not the recommended integration path. Everything below uses theafCLI (install vianpm install -g @pixelml/agenticflow-cli), which covers MCP operations comprehensively and stays in lockstep with platform changes.
MCP (Model Context Protocol) clients are the tool-provider layer that lets an agent read or write external systems โ Google Docs, Google Sheets, Slack, Notion, GitHub, Apify, Gmail, Pinterest, YouTube, and many more. A workspace usually has many MCP clients already configured; your job is to pick the right one and verify it's safe before attaching to an agent.
Before touching MCP clients, run:
af bootstrap --json
Extract auth.workspace_id + _links.mcp (the web UI URL for MCP management). Surface _links.mcp to the user: "Your MCP connections live at <_links.mcp> โ you can add or re-authenticate providers there if any inspections fail." If data_fresh: false, the backend is degraded โ don't mutate.
Not all MCP clients are equal. There are two major families, and one of them breaks on writes.
af mcp-clients list --name-contains "google sheets" --fields id,name,is_authenticated --json
af mcp-clients inspect --id <mcp_client_id> --json
inspect classifies the tool set and returns a pattern field:
| pattern | Meaning | Safe to attach? |
|---|---|---|
composio | Structured schemas with multiple named fields (e.g. spreadsheetId, range, values) | โ Yes โ writes work reliably |
pipedream | Every tool has a single {instruction: string} input | โ ๏ธ Read-only tools fine. Parametric writes (add-row, update-cell, append) may get stuck in a configure_props_<tool>_props loop โ the tool configures but never executes |
mixed | Some structured, some instruction-only | Restrict allowlist to the structured (Composio-style) tools only |
unknown | Tool list couldn't be enumerated | Do not attach. Check classification_reason + fetch_error in the response. Re-auth via the web UI if needed |
inspect also returns known_quirks[] โ read it. If it contains a warning about configure_props_<tool>_props, you've been warned; do not attach that client for writes.
--patch, not full-body update)af agent update --agent-id <agent_id> --patch --body '{
"mcp_clients": [
{
"mcp_client_id": "<id-from-inspect>",
"run_behavior": "auto_run",
"description": "Google Sheets for logging outputs",
"timeout": 150,
"tools": {
"GOOGLESHEETS_SPREADSHEETS_VALUES_APPEND": {"allowed": true},
"GOOGLESHEETS_VALUES_UPDATE": {"allowed": true},
"GOOGLESHEETS_DELETE_SHEET": {"allowed": false}
}
}
]
}' --json
tools is a per-tool allow/block map. Block destructive ops (DELETE_*, CLEAR_*) unless the use case explicitly needs them. The CLI's --patch merges this over the current agent โ existing MCP clients and other config are preserved.
af mcp-clients list returns a cached is_authenticated that can be stale. If something is off, reconcile:
af mcp-clients list --verify-auth --json
# For each row, also calls `get` and adds verified_is_authenticated + verified_auth_mismatch.
# N+1 call โ use when debugging, not on every run.
If classification_reason in inspect is fetch_failed or unauthenticated, re-auth the client in the web UI at /workspaces/<ws>/mcp/<client_id> before attaching.
af agent run --agent-id <agent_id> --message "Try writing 'hello' to row 1" --json
# Expect status: "completed" + a response that actually shows the write happened.
# If the model claims success without a real write, you're probably on a broken MCP โ re-inspect.
pattern: "pipedream" + write attempt โ TOOL_CONFIGURATION_COMPLETED or configure_props_<tool>_props in the response. Switch to a Composio-backed client (many workspaces have both).mcp-clients inspect returns classification_reason: "fetch_failed" โ the MCP provider's backend is down or the OAuth session expired. Open the web UI, re-auth, retry.