/ 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

affine + gmail-like + youtube-transcript

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