affine-mcp-server 1.10.0 → 1.10.1
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/README.md +20 -7
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
A Model Context Protocol (MCP) server that integrates with AFFiNE (self‑hosted or cloud). It exposes AFFiNE workspaces and documents to AI assistants over stdio (default) or HTTP (`/mcp`).
|
|
4
4
|
|
|
5
|
-
[](https://github.com/dawncr0w/affine-mcp-server/releases)
|
|
6
6
|
[](https://github.com/modelcontextprotocol/typescript-sdk)
|
|
7
7
|
[](https://github.com/dawncr0w/affine-mcp-server/actions/workflows/ci.yml)
|
|
8
8
|
[](LICENSE)
|
|
@@ -19,7 +19,7 @@ A Model Context Protocol (MCP) server that integrates with AFFiNE (self‑hosted
|
|
|
19
19
|
- Tools: 61 focused tools with WebSocket-based document editing
|
|
20
20
|
- Status: Active
|
|
21
21
|
|
|
22
|
-
> New in v1.10.
|
|
22
|
+
> New in v1.10.1: Refreshed packaged docs and release metadata for the v1.10.x toolset, and tightened tag-publish validation with E2E coverage. No runtime or tool-behavior changes.
|
|
23
23
|
|
|
24
24
|
## Features
|
|
25
25
|
|
|
@@ -314,9 +314,9 @@ export PORT=3000
|
|
|
314
314
|
npm run start:http
|
|
315
315
|
```
|
|
316
316
|
|
|
317
|
-
Notes for
|
|
317
|
+
Notes for OAuth mode:
|
|
318
318
|
- use HTTPS for non-local deployments
|
|
319
|
-
- `AFFINE_MCP_HTTP_ALLOW_ALL_ORIGINS=true` is rejected in
|
|
319
|
+
- `AFFINE_MCP_HTTP_ALLOW_ALL_ORIGINS=true` is rejected in OAuth mode
|
|
320
320
|
- tokens are validated against the issuer discovery metadata and JWKS
|
|
321
321
|
- the protected resource metadata is also served at `/.well-known/oauth-protected-resource/mcp` for path-specific discovery
|
|
322
322
|
- `GET /healthz` and `GET /readyz` are available for deployment diagnostics
|
|
@@ -343,8 +343,8 @@ Render / Railway / VPS (public endpoint):
|
|
|
343
343
|
- `AFFINE_MCP_AUTH_MODE=bearer` or `oauth`
|
|
344
344
|
- `AFFINE_MCP_HTTP_HOST=0.0.0.0`
|
|
345
345
|
- `AFFINE_MCP_HTTP_TOKEN=<strong-token>` (bearer mode)
|
|
346
|
-
- `AFFINE_MCP_PUBLIC_BASE_URL=<public base URL>` (
|
|
347
|
-
- `AFFINE_OAUTH_ISSUER_URL=<issuer URL>` (
|
|
346
|
+
- `AFFINE_MCP_PUBLIC_BASE_URL=<public base URL>` (OAuth mode)
|
|
347
|
+
- `AFFINE_OAUTH_ISSUER_URL=<issuer URL>` (OAuth mode)
|
|
348
348
|
- `AFFINE_MCP_HTTP_ALLOWED_ORIGINS=<your client origin(s)>`
|
|
349
349
|
|
|
350
350
|
Endpoints currently available:
|
|
@@ -362,24 +362,33 @@ Endpoints currently available:
|
|
|
362
362
|
- `create_workspace` – create workspace with initial document
|
|
363
363
|
- `update_workspace` – update workspace settings
|
|
364
364
|
- `delete_workspace` – delete workspace permanently
|
|
365
|
+
- `list_workspace_tree` – return the workspace document hierarchy as a tree
|
|
366
|
+
- `get_orphan_docs` – find documents that are not linked from any parent doc in the sidebar tree
|
|
365
367
|
|
|
366
368
|
### Documents
|
|
367
369
|
- `list_docs` – list documents with pagination (includes `node.tags`)
|
|
368
370
|
- `list_tags` – list all tags in a workspace
|
|
369
371
|
- `search_docs` – fast title search with substring/prefix/exact matching, optional tag filtering, and updatedAt sorting
|
|
370
|
-
- `list_docs_by_tag` – list documents
|
|
372
|
+
- `list_docs_by_tag` – list documents that contain the requested tag
|
|
373
|
+
- `get_docs_by_tag` – discover documents by case-insensitive tag substring and return `availableTags` when nothing matches
|
|
371
374
|
- `get_doc` – get document metadata
|
|
375
|
+
- `get_doc_by_title` – find a document by title and return its Markdown content
|
|
372
376
|
- `read_doc` – read document block content and plain text snapshot (WebSocket)
|
|
373
377
|
- `export_doc_markdown` – export document content as markdown
|
|
374
378
|
- `publish_doc` – make document public
|
|
375
379
|
- `revoke_doc` – revoke public access
|
|
376
380
|
- `create_doc` – create a new document (WebSocket)
|
|
377
381
|
- `create_doc_from_markdown` – create a document from markdown content
|
|
382
|
+
- `create_doc_from_template` – clone a template doc, substitute `{{variables}}`, and optionally link it under a parent doc
|
|
383
|
+
- `duplicate_doc` – clone a document into a new doc, optionally under a parent doc
|
|
378
384
|
- `create_tag` – create a reusable workspace-level tag
|
|
379
385
|
- `add_tag_to_doc` – attach a tag to a document
|
|
380
386
|
- `remove_tag_from_doc` – detach a tag from a document
|
|
387
|
+
- `update_doc_title` – rename a document in both workspace metadata and the internal page block
|
|
381
388
|
- `append_paragraph` – append a paragraph block (WebSocket)
|
|
382
389
|
- `append_block` – append canonical block types (text/list/code/media/embed/database/edgeless) with strict validation and placement control (`viewMode=kanban` enables preset-backed data views; `data_view` defaults to kanban)
|
|
390
|
+
- `move_doc` – move a document in the sidebar by relinking it under a different parent
|
|
391
|
+
- `batch_create_docs` – create up to 20 documents in a single call
|
|
383
392
|
- `add_database_column` – add a column to a database block (`rich-text`, `select`, `multi-select`, `number`, `checkbox`, `link`, `date`)
|
|
384
393
|
- `add_database_row` – add a row to a database block with values mapped by column name/ID (`title` / `Title` updates the built-in row title)
|
|
385
394
|
- `read_database_columns` – read database schema metadata including column IDs/types, select options, and table view column mappings
|
|
@@ -388,6 +397,10 @@ Endpoints currently available:
|
|
|
388
397
|
- `update_database_row` – batch update multiple cells on a database row (`createOption` defaults to `true` for select fields)
|
|
389
398
|
- `append_markdown` – append markdown content to an existing document
|
|
390
399
|
- `replace_doc_with_markdown` – replace the main note content with markdown content
|
|
400
|
+
- `list_children` – list the direct child docs linked from a document
|
|
401
|
+
- `list_backlinks` – list the parent/reference docs that link to a document
|
|
402
|
+
- `cleanup_orphan_embeds` – remove linked-doc embeds that point to missing docs
|
|
403
|
+
- `find_and_replace` – preview or apply text replacement across a document
|
|
391
404
|
- `delete_doc` – delete a document (WebSocket)
|
|
392
405
|
|
|
393
406
|
### Comments
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "affine-mcp-server",
|
|
3
|
-
"version": "1.10.
|
|
3
|
+
"version": "1.10.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Model Context Protocol server for AFFiNE - enables AI assistants to interact with AFFiNE workspaces, documents, and collaboration features.",
|