/ Directorio / Playground / affine-mcp-server
● Comunidad DAWNCR0W ⚡ Instantáneo

affine-mcp-server

por DAWNCR0W · DAWNCR0W/affine-mcp-server

Connect Claude to your AFFiNE workspaces — 87 tools across docs, databases, comments, blobs, users — with API token, cookie, or email/password auth.

affine-mcp-server exposes 87 tools covering the AFFiNE graph: workspaces, organizations, documents, databases, comments, history, users/tokens, and blob storage. Works against AFFiNE Cloud (with API token) or self-hosted (also supports email/password).

Por qué usarlo

Características clave

Demo en vivo

Cómo se ve en la práctica

affine.replay ▶ listo
0/0

Instalar

Elige tu cliente

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "affine": {
      "command": "npx",
      "args": [
        "-y",
        "affine-mcp-server"
      ],
      "_inferred": true
    }
  }
}

Abre Claude Desktop → Settings → Developer → Edit Config. Reinicia después de guardar.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "affine": {
      "command": "npx",
      "args": [
        "-y",
        "affine-mcp-server"
      ],
      "_inferred": true
    }
  }
}

Cursor usa el mismo esquema mcpServers que Claude Desktop. La configuración del proyecto prevalece sobre la global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "affine": {
      "command": "npx",
      "args": [
        "-y",
        "affine-mcp-server"
      ],
      "_inferred": true
    }
  }
}

Haz clic en el icono MCP Servers de la barra lateral de Cline y luego en "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "affine": {
      "command": "npx",
      "args": [
        "-y",
        "affine-mcp-server"
      ],
      "_inferred": true
    }
  }
}

Mismo formato que Claude Desktop. Reinicia Windsurf para aplicar.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "affine",
      "command": "npx",
      "args": [
        "-y",
        "affine-mcp-server"
      ]
    }
  ]
}

Continue usa un array de objetos de servidor en lugar de un mapa.

~/.config/zed/settings.json
{
  "context_servers": {
    "affine": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "affine-mcp-server"
        ]
      }
    }
  }
}

Añádelo a context_servers. Zed recarga en caliente al guardar.

claude mcp add affine -- npx -y affine-mcp-server

Un solo comando. Verifica con claude mcp list. Quita con claude mcp remove.

Casos de uso

Usos del mundo real: affine-mcp-server

Capture quick notes into AFFiNE from Claude

👤 AFFiNE users using it as their main notes tool ⏱ ~5 min beginner

Cuándo usarlo: You're in a conversation and want to capture the takeaway into AFFiNE without context-switching.

Requisitos previos
  • AFFiNE API token — AFFiNE Cloud: Settings > Integrations > MCP Server
Flujo
  1. Find the workspace
    List my AFFiNE workspaces. I want to write into 'Personal'.✓ Copiado
    → Workspace list
  2. Create a doc
    Create a new doc titled '2026-04-14 meeting notes' with content [paste]. Put it under /Meetings.✓ Copiado
    → Doc created + URL

Resultado: Notes in AFFiNE without leaving chat.

Errores comunes
  • Email/password auth blocked on Cloud by Cloudflare — Use API token on Cloud; email/password only on self-hosted

Add a row to an AFFiNE database from external signal

👤 Knowledge workers using AFFiNE databases as lightweight CRM / tracker ⏱ ~10 min intermediate

Cuándo usarlo: You want each newsletter subscriber from an email to land in your 'Contacts' AFFiNE DB.

Flujo
  1. List DBs
    Show me databases in my 'Work' workspace.✓ Copiado
    → DB list
  2. Add row
    To database 'Contacts', add a row: name='Jane Doe', email='[email protected]', source='Newsletter', date=today.✓ Copiado
    → Row added with UUID

Resultado: AFFiNE as a lightweight CRM driven by LLM.

Errores comunes
  • Field types must match the DB schema — Get schema first via describe-database-like tool

Search across AFFiNE workspaces and summarize findings

👤 AFFiNE power users with many docs ⏱ ~10 min beginner

Cuándo usarlo: You remember writing about X somewhere but can't remember where.

Flujo
  1. Search
    Search across my workspaces for 'series A process'. List top 10 docs with snippet.✓ Copiado
    → Doc hits with highlights
  2. Summarize
    Load the top 3 docs and summarize the key points + any contradictions.✓ Copiado
    → Cross-doc summary

Resultado: Institutional knowledge surfaced from your own notes.

Combinaciones

Combínalo con otros MCPs para multiplicar por 10

Capture content into AFFiNE

Summarize this video and save to my 'Talks Notes' DB in AFFiNE.✓ Copiado

Herramientas

Lo que expone este MCP

HerramientaEntradasCuándo llamarCoste
list_workspaces Navigate your AFFiNE graph 1 API call
search_documents workspace_id, query, limit? Find docs by text 1 API call
create_document workspace_id, title, content, parent_id? Add a new doc 1 API call
update_document doc_id, content | title Edit existing docs 1 API call
add_database_row database_id, fields: obj Structured data entry 1 API call

Coste y límites

Lo que cuesta ejecutarlo

Cuota de API
AFFiNE plan limits
Tokens por llamada
Doc contents vary widely — trim by section where possible
Monetario
Free on AFFiNE self-hosted; Cloud has paid tiers
Consejo
Prefer search_documents over listing + filtering in code.

Seguridad

Permisos, secretos, alcance

Ámbitos mínimos: Workspace-scoped API token where possible
Almacenamiento de credenciales: AFFINE_API_TOKEN env var; never commit
Salida de datos: Your AFFiNE data to LLM provider
No conceder nunca: Cookie auth on a shared machine — cookies are user-session-equivalent

Resolución de problemas

Errores comunes y soluciones

401 / token invalid

Regenerate at Settings > Integrations > MCP Server. Paste fresh token into env.

Cannot find workspace

Server-backed vs local-only confusion. Only server-backed workspaces are accessible.

Verificar: Open AFFiNE UI; is the workspace cloud-synced?
DB row rejected — field type mismatch

Get schema first, match types. Dates often need ISO-8601 strings.

Alternativas

affine-mcp-server vs otros

AlternativaCuándo usarlaContrapartida
Notion MCPYou use Notion instead of AFFiNEDifferent product; more mature ecosystem
Obsidian MCPYou're all-in on Obsidian markdown filesLocal-first; different philosophy

Más

Recursos

📖 Lee el README oficial en GitHub

🐙 Ver issues abiertas

🔍 Ver todos los 400+ servidores MCP y Skills