
Favro
io.github.mmedum由 GitHub 帳號 mmedum 發布v4.4.2更新於 Nov 7, 2026
Favro cards, boards and collections over MCP: read, search, write, and resolve names to ids.
概覽
非官方的 Favro MCP 伺服器,讓助理在單一 Favro 組織中搜尋、讀取並修改卡片、看板與集合。
- 可以做什麼
- 依卡片名稱與描述全文搜尋,可限定在某個 widget 或集合
- 一次呼叫讀取整張卡片並把所有 id 解析成名稱,也能把標籤、使用者、集合、widget、欄位、自訂欄位與群組的名稱解析成 id
- 就地編輯卡片描述並回傳差異,移動卡片、加上標籤與留言
- 建立與更新集合、群組與 widget,並從指定資料夾上傳附件
- 只有在啟用破壞性工具且每次呼叫都確認時,才刪除卡片、留言、任務、標籤、群組、widget 與集合,或擴大集合的分享範圍
- 適用情境
- 適合在 Favro 工作、希望助理依內容找到卡片、不必逐一查 id 就能讀懂卡片,並協助修改、加標籤或留言的情況。它只綁定一個組織,不適合多組織或管理類工作。
- 執行需求
- 以本機 Go 二進位檔透過 stdio 執行,可透過 Claude Desktop 安裝包、Cowork 外掛、發行壓縮檔或原始碼安裝。需要 Favro 使用者電子郵件、API 權杖與組織 id,透過 FAVRO_USER_EMAIL、FAVRO_API_TOKEN、FAVRO_ORGANIZATION_ID 環境變數或 auth login 寫入的系統鑰匙圈提供,並需要連線到 Favro 的網路。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Favro,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
favro-mcp
[CI] [Release] [Go Reference] [License]
Favro as MCP tools. Find, read and change cards, boards and collections from Claude or any MCP client.
A single Go binary that speaks Model Context Protocol over stdio. It runs as a subprocess of your client, on your own machine, against one Favro organization, with your own address and API token. There is no server to host and no shared deployment.
It is for a person who works in Favro and wants an assistant to do that work with them: find a card by what it says, read it with every id turned into a name, move it, edit its description in place, tag it and comment on it. Beyond Favro's REST API, it resolves names to ids, searches card text and reads a whole card in one tool call, so a model spends its calls on the work rather than on lookups.
Unofficial. Not affiliated with or endorsed by Favro.
Goals and non-goals
Goals:
- Nothing is lost or exposed by a call nobody meant. The tools that
delete or open a collection wider exist only when you turn them on, and
each call must say
confirm: true. The ordinary writes share only inside the organization, the upload tools read one directory, and a mistyped tag name never becomes a tag. - Results say what Favro did. A write Favro may accept and drop is read back, and the result says what it found. A write whose answer was lost is reported as such and never sent twice.
- The rate limit is spent on work. Names resolve through a cache, one call is one page, and a full card is one tool call rather than one per id.
- Your organization stays yours. Every call runs with your token, only to Favro, with no telemetry. Logs never carry a payload, an id or the organization.
Non-goals:
- More than one organization per server. It binds one at startup, and no tool takes another.
- Administering Favro. SCIM provisioning and creating or changing an organization are out, and webhooks are listed and deleted, never registered.
- Fetching every page for you. Each list call returns one page and the token for the next.
- Limiting what the token can do. A token carries its user's permissions; choose the user.
- Asking you before a call. Your client approves each call; the server asks nothing.
Installation
Claude Desktop bundle
Each tagged release publishes a favro-mcp_<version>.mcpb on the GitHub Releases page. Opening it installs the server into Claude Desktop and prompts for what it needs: your Favro address, an API token and the organization id. There is no config file to edit by hand.
It also asks for the settings a config file would carry. The destructive tools (enable_destructive) stay off unless you turn them on, and so do uploads until you pick an upload folder (upload_dir). This server asks nobody before a call. Claude Desktop approves each tool, and a tool you always allow then runs unasked, so leave enable_destructive off unless you need its tools.
The bundle carries a macOS universal binary, a Windows amd64 binary, and both Linux architectures behind a launcher that picks at startup. It is listed in checksums.txt and covered by the release signature; see Verifying a download.
Cowork plugin (recommended)
Each stable (non-pre-release) release publishes a single multi-arch favro-mcp.plugin zip on the GitHub Releases page. The bundle contains binaries for darwin-amd64, darwin-arm64, linux-amd64, linux-arm64 and windows-amd64. On macOS and Linux a launcher shim picks the right one at runtime, and on Windows a .cmd shim runs the windows-amd64 binary, which Windows on arm64 (windows-arm64) runs under emulation.
- Download
favro-mcp.pluginfrom the release. - Install it into your Cowork profile (drag-and-drop, or follow Cowork's plugin install flow).
- Authenticate (see Authentication below).
- Restart Cowork, and the
favroMCP server appears with its tools registered.
The bundled .mcp.json points at ${CLAUDE_PLUGIN_ROOT}/bin/favro-mcp so the install is relocatable; no host paths to edit.
Standalone binary
For non-Cowork hosts (Claude Code via raw .mcp.json, MCP Inspector, custom integrations):
- Download the matching
favro-mcp_<version>_<os>_<arch>.tar.gz(or.zipon Windows) from the release. - Extract and place the
favro-mcpbinary somewhere on$PATH(or note its absolute path). - Authenticate.
- Point your MCP host's config at the binary — see MCP host configuration below.
From source
Or build a clone:
Either needs the Go version go.mod declares. Under the default
GOTOOLCHAIN=auto an older toolchain downloads it on demand; under
GOTOOLCHAIN=local the build fails instead of downgrading.
Verifying a download
Every release carries checksums.txt, an SBOM per archive, a keyless cosign signature over the checksum file, and build provenance attested by GitHub. Both bundles, favro-mcp.plugin and the .mcpb, are in checksums.txt with the archives, so one signature covers all of it.
Builds are reproducible: -trimpath plus the commit's own timestamp, so rebuilding a tag gives byte-identical archives.
Authentication
The server uses Favro's HTTP Basic Auth (user email + API token), scoped to one Favro organization at startup. Tools never accept organization_id — pass it once via env var or keyring and forget about it.
API tokens are user-scoped — for team installs, generate the token from a dedicated service-style Favro user with the minimum permissions you need, not from a personal account.
Credential resolution
Two sources, checked in order; the first one that produces a complete (email, token, organization_id) triple wins:
- Environment variables —
FAVRO_USER_EMAIL,FAVRO_API_TOKEN,FAVRO_ORGANIZATION_ID. - OS keyring — populated once via
favro-mcp auth login(cross-platform: macOS Keychain, Windows Credential Manager, Linux Secret Service).
These variables change how the server runs rather than who it runs as:
Every variable, the credentials included, is read without the spaces around its value, and spaces alone count as unset.
FAVRO_REQUIRE_PROMPT and FAVRO_INTERACTION_HINT are removed; unset
them. docs/configuration.md has every setting.
Approving calls
Your MCP client approves each call; the server does not ask you itself.
claude.ai and Codex ask before any write that changes or removes
something, which says destructiveHint: true. A write that only
adds, such as a new card, comment or attachment, says false. VS Code asks
before every tool that writes.
In Claude Code, these tools ask on every call whatever your rules say:
favro_delete_tag, favro_delete_group, favro_delete_widget and
favro_delete_collection, whose loss reaches past the one thing deleted,
and favro_widen_collection_sharing, which opens a collection to the
whole organization or to anyone with its link. Where no prompt can be
shown, as in claude -p, Claude Code refuses them. For the rest, list
the calls you want to approve one by one under permissions.ask in your
settings, with the name you gave the server in place of favro. For
example, the writes that share, publish, send a file or delete:
What holds whatever the client does:
- Destructive tools only on request. They exist only with
FAVRO_ENABLE_DESTRUCTIVE=true, and each call must passconfirm: true;dry_run: truepreviews without it. - Sharing stays inside the organization. The ordinary collection,
group and widget writes share only with members of the organization,
named by userId, and with groups of members. An invitation by email,
a new admin, someone outside the organization, a group that holds
someone outside it, guests as a widget's owners or editors, and a
public or organization-wide collection are refused.
favro_widen_collection_sharingopens a collection, and takes the collection's name as well as its id, so the prompt shows which one. - No wider delete by omission.
favro_delete_widgettakescollection_idoreverywhere: true, and refuses a call with neither.
auth subcommands
favro-mcp auth login is the one-shot setup for the keyring path. Re-run it to rotate the token.
favro-mcp doctor is the first thing to run when something does not work; docs/troubleshooting.md says what it reports. Its output is safe to paste into an issue; --show-ids output is not.
MCP host configuration
After the binary or plugin is in place and credentials are stored, register the server in your MCP host config.
Default (keyring path, zero secrets in config):
Headless / CI (env vars) — passes secrets through from the shell, never literal:
The Cowork plugin ships its own .mcp.json pointing at ${CLAUDE_PLUGIN_ROOT}/bin/favro-mcp, so for that install path no manual config is needed.
Rate limits
Favro limits API calls on two levels, as its reference describes. User-level routes (get a user, list organizations, create an organization) allow 50 calls an hour. Every other route is an organization route, and its limit depends on the organization's plan: Trial 100, Lite 0, Standard 1000 and Enterprise 10000 calls an hour. The reference's table labels these numbers per user, while its text ties them to the organization's plan. Favro delays a call to let its tokens replenish, and fails it with 429 once the delay would pass 10 seconds. A misbehaving agent can exhaust that quota, and if Favro counts it per organization, it does so for everyone in your org. The server caches resolution lookups (tags, users, widgets, columns) in-memory and supports force_refresh on every list/resolve tool to bust the cache when needed. List tools never auto-aggregate pages — each next_page requires an explicit follow-up call so the LLM can stop early.
Dry-run
Every mutating tool accepts dry_run: true and returns the request it would send (method, URL, body) and the change it predicts, without sending a write. A tool may still read to build the preview. Read tools never accept dry_run.
For sandboxed or pre-autonomy testing, --dry-run on the binary forces dry-run mode process-wide regardless of per-call input.
Tools
Tools for every Favro resource the server covers, plus workflow tools built
for natural-language use. docs/TOOLS.md is the full
reference, and says what each [class] of error means.
The ones worth knowing first:
Troubleshooting
Run favro-mcp doctor first. docs/troubleshooting.md
lists each error the server logs or returns, what causes it and what to do,
then rotating and revoking the token.
Documentation
- docs/TOOLS.md: every tool, its inputs and what it returns, and the error classes.
- docs/configuration.md: every setting, the commands, and what happens at startup.
- docs/troubleshooting.md: symptoms and their fixes, then rotating and revoking the token.
- docs/security.md: the threat model.
- docs/architecture.md: how it works, and the design decisions a contributor should not undo.
- docs/release.md: how a release is cut and checked.
- CONTRIBUTING.md: building, the gates, the live run and the pull request flow.
- CHANGELOG.md: what each release changed.
Contributing
Questions and bugs go in
issues; pull requests are
welcome. CONTRIBUTING.md covers building, the gates and
the pull request flow, and make check is what has to pass.
Security
SECURITY.md says how to report a vulnerability. Please do not open a public issue for one.
License
來源:README.md,提交 6653cb3
工具
0版本歷史
16- v4.4.2最新Nov 7, 2026
- v4.4.1Nov 5, 2026
- v4.4.0Nov 1, 2026
- v4.3.0Oct 29, 2026
- v4.2.1Oct 26, 2026
- v4.2.0Oct 25, 2026
- v4.1.0Oct 24, 2026
- v4.0.0Oct 23, 2026
- v3.2.0Oct 10, 2026
- v3.1.1Oct 1, 2026
- v3.1.0Oct 1, 2026
- v3.0.0Sep 30, 2026
- v2.1.1Sep 27, 2026
- v2.1.0Sep 19, 2026
- v2.0.4Sep 18, 2026
- v2.0.3Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分