Repository navigation
Releases
v2.2.0 — Native tables, image imports and refresh validation
GFM pipe tables now create native AppFlowy simple tables. Small file imports can optionally insert an uploaded image into the target document, with file IDs retained if insertion cannot be confirmed. Set APPFLOWY_PUBLIC_URL when browsers need a different file origin from the server's internal AppFlowy address.
This release also adds the operator-only --validate-token-refresh check, which verifies the exact token returned by GoTrue and distinguishes refresh success from password-login fallback.
- Existing compact/legacy interfaces and upload limits remain: 11 compact tools, 36 legacy names, 1 MB per file and 2 MB per batch.
- Table Markdown export preserves text, inline formatting and line breaks; layout styling and arbitrary nested cells are not full-fidelity.
- The table/image and refresh contributions from #18 and #15 were adapted to the current async modules with contributor credit preserved. Original append-routing fixes were already merged.
- Validation covers offline regressions, clean Linux/Windows packages, Docker stdio/HTTP, decoder candidates, and the pinned AppFlowy Cloud 0.20.5/Web 0.20.11 disposable stack, including visible tables and loaded images.
Install from the attached wheel/source, uvx --from git+https://github.com/Rahulk644/Appflowy-MCP-Server.git@v2.2.0 appflowy-mcp, or ghcr.io/rahulk644/appflowy-mcp-server:2.2.0 after publication completes. PyPI remains deferred. Current AppFlowy SaaS, real Google sign-in, AI answers and multi-user permissions still require their separately documented test deployments.
v2.1.0
AppFlowy MCP 2.1.0 adds comment reading and replies for documents, database cards and published pages, while keeping the compact interface at 11 async tools.
- Read conversations with
appflowy_fetch(kind="comments"); append or reply withappflowy_update(command="append_comment"). Usetarget_type="row"and the row ID for card conversations. Legacy mode addslist_commentsandappend_comment, for 36 tools in that exclusive profile. - Bound comment bodies and resource IDs, preserve complete size-limited pages and continuation cursors, and confirm row-comment persistence without changing unrelated cells. Ambiguous append failures never trigger an automatic replay.
- Add disposable checks for all three comment targets, replies, pagination and publication cleanup. Refresh the light README/social-preview asset, task examples, setup FAQs and package/registry identity.
The original comments contribution is #19 by Joel Cogen, with validation and bounds in #41.
Validation: 248 offline tests, 28 live lifecycle checks and eight browser categories, plus Linux/Windows clean installs, Docker stdio/HTTP and decoder candidates. The pinned live baseline is Cloud 0.20.5/Web 0.20.11. Multi-user notifications, highlighted-text comment anchors and other deployment gaps remain documented in COMPATIBILITY.md.
Read the migration notes and agent guide for request details and retry behavior. PyPI publication remains deferred.
v2.0.2
AppFlowy MCP 2.0.2 fixes OAuth session durability, DateTime rendering, ignored command inputs, field-deletion safety and large-response continuation.
- Refresh tokens rotate with durable replay detection and login-family revocation. Existing OAuth registrations survive; sign in again after upgrading and save each newly returned refresh token.
- DateTime writes preserve the attributes AppFlowy renders. Field deletion refuses local schema/view dependencies; Relation cleanup stays in AppFlowy.
- Large lists preserve complete records and usable cursors. Scoped exports return complete files or explicit chunk-fetch instructions. Follow
next_offset; Markdown chunks use character offsets and revision hashes. - API/session, document/collab and profile responsibilities are separated. Builds/runtime share one version source, with immutable artifact checks and modernized pinned CI actions.
Validation includes 216 offline tests, Linux/Windows clean installs, stdio/HTTP Docker checks, decoder candidates, 25 disposable live lifecycle checks and eight browser categories on Cloud 0.20.5/Web 0.20.11. See compatibility evidence for exact coverage and limits.
Current SaaS, real Google sign-in, AI answers, multi-user authorization and the historical decoder reproducer remain unvalidated. pycrdt remains pinned to 0.13.0; AI is opt-in. PyPI publication remains deferred.
Read the migration notes and changelog before upgrading.
AppFlowy MCP 2.0.1
This patch ships the reviewed authentication, retry-safety and maintenance fixes.
- Reject persisted OAuth tokens for removed allow-list members; require a verified Google email and AppFlowy scope.
- Preserve resource binding and honor narrowed scopes during token refresh.
- Write OAuth state through private temporary files and omit credential-bearing validation details from logs.
- Correct mutation-tool retry hints, DateTime validation, doctor results, custom loopback ports and malformed token handling.
- Remove unused/duplicate code and obsolete documentation; organize tests and provide durable architecture and maintainer guidance.
OAuth sessions without a stored subject or the AppFlowy scope require a new sign-in. Removed allow-list members cannot reuse stored tokens. Shared-secret and stdio users keep their existing connection configuration.
Validated with 122 offline tests, Linux/Windows clean installs, Docker stdio/HTTP, the commercial 0.20.5 disposable lifecycle/browser suite, and the decoder matrix. SaaS and real Google/AI deployment checks remain separately documented limits.
PyPI remains disabled. Public amd64/arm64 container and official MCP Registry publication succeeded.
uvx --from git+https://github.com/Rahulk644/Appflowy-MCP-Server@v2.0.1 appflowy-mcp --env-file /absolute/path/to/.envSee migration notes and compatibility.
docker run --rm -i --env-file .env ghcr.io/rahulk644/appflowy-mcp-server:2.0.1 appflowy-mcpAppFlowy MCP 2.0.0
AppFlowy MCP 2.0 makes workspace operations async and switches to the official MCP 2.3+ server. Python 3.11+ is required.
- 11 compact workflow tools, 12 with experimental AI enabled; exclusive legacy 34-tool and read-only profiles.
- Typed batches, bounded keyword search, guarded Markdown edits, import/export, small file uploads and doctor diagnostics.
- Formula expressions, Timeline settings and structured space permissions.
- Fail-closed collab decoding with the supported pycrdt pin retained.
- GHCR amd64/arm64 distribution and official MCP Registry publishing workflow. PyPI remains deferred and disabled.
Validation includes 104 offline tests, 20 live checks against the official commercial AppFlowy 0.20.5 stack, visible document/Grid browser checks, Linux/Windows clean package installs, and Docker stdio/HTTP checks. The default serialized manifest is 40.4% smaller; model accuracy and latency were not benchmarked.
Cloud validation needs a dedicated test workspace. AI answer generation remains experimental and opt-in. The captured decoder fixture does not reproduce the historical pycrdt 0.14.1 failure, so the production pin remains at 0.13.0.
Read MIGRATION.md, COMPATIBILITY.md, and client recipes.
Run directly from GitHub without cloning:
uvx --from git+https://github.com/Rahulk644/Appflowy-MCP-Server@v2.0.0 appflowy-mcp --env-file /absolute/path/to/.envThe public container is available for Linux amd64/arm64:
docker run --rm -i --env-file .env ghcr.io/rahulk644/appflowy-mcp-server:2.0.0 appflowy-mcpFor HTTP use, omit -i and the trailing command, and add -p 127.0.0.1:8000:8000.
Published in the official MCP Registry.
PyPI was skipped; all release validation, container and registry jobs passed.